Size: a a a

Ассемблер

2020 September 29

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
diss4
Всем привет, прошу помощи:
mul eax, ebx

Результат умножение помещается в регистровую пару EDX:EAX. Как теперь из этой регистровой пары мне взять результат для дальнейших арифметических операций, весь гугл перерыл...
так же как ты взял резкльтаты из ebx и eax
источник

d

diss4 in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
так же как ты взял резкльтаты из ebx и eax
Немного не понял формулировки
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
а вчообще есть группа инстукций для работы с линной арифметикой
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
diss4
Немного не понял формулировки
я тож тебя не понял, в чем сложность обращаться к edx и eax
источник

d

diss4 in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
я тож тебя не понял, в чем сложность обращаться к edx и eax
Ну результат умножения и в EDX, и в EAX что ли?..
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
diss4
Ну результат умножения и в EDX, и в EAX что ли?..
да, разрядность числа при умножении увеличивается, и вот старшие разряды edx, а младшие в eax
источник

d

diss4 in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
да, разрядность числа при умножении увеличивается, и вот старшие разряды edx, а младшие в eax
Спасибо, понял!
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
0xF0000000*2=1:E0000000
1 в edx
E0000000 в eax
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
вот только вроде надо edx перед умножение  обнулять. надо проверять
источник

楽園松本 in Ассемблер
diss4
Всем привет, прошу помощи:
mul eax, ebx

Результат умножение помещается в регистровую пару EDX:EAX. Как теперь из этой регистровой пары мне взять результат для дальнейших арифметических операций, весь гугл перерыл...
Наверно, ты хочешь спросить: если я получил после перемножения двух 32-разрядных чисел одно 64-разрядное, что мне дальше с ним делать?

Ответ такой: создавать блок процедур для работы с 64-битными числами.
источник

d

diss4 in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
вот только вроде надо edx перед умножение  обнулять. надо проверять
В моей ситуации это не нужно, ибо перемножаю 4 и 4, просто интересно было использовать для таких маленьких чисел большие регистры, это же, в принципе, законно?
источник

d

diss4 in Ассемблер
楽園松本
Наверно, ты хочешь спросить: если я получил после перемножения двух 32-разрядных чисел одно 64-разрядное, что мне дальше с ним делать?

Ответ такой: создавать блок процедур для работы с 64-битными числами.
Ну это на будущее, спасибо
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
diss4
В моей ситуации это не нужно, ибо перемножаю 4 и 4, просто интересно было использовать для таких маленьких чисел большие регистры, это же, в принципе, законно?
да
источник

d

diss4 in Ассемблер
Всё, благодарю всех за помощь!
источник

ST

Saenro T in Ассемблер
diss4
В моей ситуации это не нужно, ибо перемножаю 4 и 4, просто интересно было использовать для таких маленьких чисел большие регистры, это же, в принципе, законно?
Это ещё не большие)
источник

d

diss4 in Ассемблер
Saenro T
Это ещё не большие)
Ну есть ещё rax, и это вроде как потолок, нет?
источник

ST

Saenro T in Ассемблер
AL — 8bit
AX — 16bit
EAX — 32bit
RAX — 64bit
MM0 – 1̶2̶8̶b̶i̶t̶ 64bit
ST0 — 80bit
XMM0 — 2̶5̶6̶b̶i̶t̶ 128bit
источник

d

diss4 in Ассемблер
Saenro T
AL — 8bit
AX — 16bit
EAX — 32bit
RAX — 64bit
MM0 – 1̶2̶8̶b̶i̶t̶ 64bit
ST0 — 80bit
XMM0 — 2̶5̶6̶b̶i̶t̶ 128bit
Ух ты ебать.. Ну да этого мне ещё далеко
источник

楽園松本 in Ассемблер
Saenro T
AL — 8bit
AX — 16bit
EAX — 32bit
RAX — 64bit
MM0 – 1̶2̶8̶b̶i̶t̶ 64bit
ST0 — 80bit
XMM0 — 2̶5̶6̶b̶i̶t̶ 128bit
Что будет, если перемножить два XXMа?
источник

楽園松本 in Ассемблер
楽園松本
Что будет, если перемножить два XXMа?
Сгорит процессор
источник