169 похожих чатов

Подскажите, зачем такой чудной синтаксис в wat? Можно так:

i32.const 0
i32.const 42
i32.store
а можно эдак:
(i32.store (i32.const 0) (i32.const 42))

словно они не определились, стековая они машина или не стековая. Или один из них легаси?

7 ответов

7 просмотров

S-выражения лучше для восприятия (если нет опыта работы с ассемблером). Стековая она в любом случае

А Вы попробуйте арифметические выражения позаписывать, формулу корней квадратичного уравнения, например — вот и сравните. 😉

S-expressions считаются справа на лево и сверху вниз, когда обычный синтаксис только сверху вниз. Это меняет порядок вычисления, как скобки в арифметике 😁 Помогает избегать ошибок с порядком операций. Дисассемблер производит только обычный синтаксис, если я правильно помню.

Стикер

По умолчанию да, но есть флажок --folded

(Forth как постфикс с подвывертом)(Lisp префексные формы ) асм как лента изменения состояния (обычно)двух/трёх_адрессными инструкциями как то вот "обычный" синтаксис асма это op (arg)* что как уже отметили делает сложным восприятие структуры кода - см великое Goto плохо Дейкстры(там вовсе не про goto как таковое -ага) лисп - а точнее S-выражение - задаёт четче структуру дерева выражений - однако рак скобок постфиксное свободно от скобок однако приходится изголятся с открывающими набор аргументов способами:) - т.е везде свои трэйдоффы(sic)

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта