Size: a a a

2020 December 13

EG

Emmanuel Goldstein in pro.vim
Nicholas Guriev
выходит, названия команд перепутаны
Это не названия команд перепутаны
Это просто инструкция cmp A, B сравнивает не A с B, а B с A в AT&T-синтаксисе
источник

EG

Emmanuel Goldstein in pro.vim
Поэтому условные переходы получаются перепутанными
источник

VG

Vadim Goncharov in pro.vim
Emmanuel Goldstein
Это не названия команд перепутаны
Это просто инструкция cmp A, B сравнивает не A с B, а B с A в AT&T-синтаксисе
> сравнивает не A с B, а B с A

звучит бредово
источник

EG

Emmanuel Goldstein in pro.vim
Vadim Goncharov
> сравнивает не A с B, а B с A

звучит бредово
Ну, это то, что происходит
cmp %rax, %rbx
jl .label

перейдёт на .label, если rbx меньше rax
источник

VG

Vadim Goncharov in pro.vim
нет, если ты говоришь с позиции человека, который впервые видит, так ему что так сравнение, что эдак
источник

VG

Vadim Goncharov in pro.vim
в любом случае сравниваются две величины
источник

EG

Emmanuel Goldstein in pro.vim
Vadim Goncharov
нет, если ты говоришь с позиции человека, который впервые видит, так ему что так сравнение, что эдак
Intel-запись интуитивно транслируется в %rax < %rbx
Вторая нет
источник

NG

Nicholas Guriev in pro.vim
Emmanuel Goldstein
Это не названия команд перепутаны
Это просто инструкция cmp A, B сравнивает не A с B, а B с A в AT&T-синтаксисе
cmp ж на основе вычитания работает, с sub та же история получается
источник

VG

Vadim Goncharov in pro.vim
а если знать, что оно как бы вычитание, надо просто поставить знак в нужную сторону
источник

EG

Emmanuel Goldstein in pro.vim
Если читать вслух «сравним rax и rbx. Если меньше, то перейдём на label» то интуитивно воспринимается, что rax < rbx, а не наоборот
источник

N

Nikolay in pro.vim
нужен только 1 стандарт
источник

N

Nikolay in pro.vim
)
источник

EG

Emmanuel Goldstein in pro.vim
Vadim Goncharov
а если знать, что оно как бы вычитание, надо просто поставить знак в нужную сторону
Да, но зачем об этом думать, если есть более интуитивный синтаксис?
источник

EG

Emmanuel Goldstein in pro.vim
Который, к тому же, не захламлён огромным количеством значков
источник

VG

Vadim Goncharov in pro.vim
Emmanuel Goldstein
Если читать вслух «сравним rax и rbx. Если меньше, то перейдём на label» то интуитивно воспринимается, что rax < rbx, а не наоборот
а если больше?
источник

EG

Emmanuel Goldstein in pro.vim
Vadim Goncharov
а если больше?
Ась? При чём тут это? Для jg будет применяться такая же логика.
источник

VG

Vadim Goncharov in pro.vim
Emmanuel Goldstein
Да, но зачем об этом думать, если есть более интуитивный синтаксис?
более? mov ax, bx интуитивно читается как "mov ax to bx", а у Интела наоборот.
источник

NG

Nicholas Guriev in pro.vim
Vadim Goncharov
более? mov ax, bx интуитивно читается как "mov ax to bx", а у Интела наоборот.
можно сравнить с присваиванием = из си
источник

NG

Nicholas Guriev in pro.vim
там так же наоборот получается
источник

VG

Vadim Goncharov in pro.vim
"инуитивно" - это не через другой язык, а через человеческий
источник