regIndex :: Parser Expr
regIndex = parens $ do
    reg <- try $ symbol "ix" <|> symbol "iy"
    op <- symbol "+" <|> symbol "-"
    arg <- mathExpr
    return $ RegIndex (readReg reg) $ case op of
        "+" -> arg
        "-" -> Binop Mul (litNum (-1)) arg
regIndex :: Parser Expr
regIndex = parens $ do
    reg <- try $ symbol "ix" <|> symbol "iy"
    op <- symbol "+" <|> symbol "-"
    arg <- mathExpr
    return $ RegIndex (readReg reg) $ case op of
        "+" -> arg
        "-" -> Binop Mul (litNum (-1)) arg
regIndex = parens $ do
    reg <- try $ symbol "ix" <|> symbol "iy"
    op <- symbol "+" <|> symbol "-"
    arg <- mathExpr
    return $ RegIndex (readReg reg) $ case op of
        "+" -> arg
        "-" -> Binop Mul (litNum (-1)) arg