Size: a a a

Ассемблер

2021 March 16

D

Den in Ассемблер
Aleksandr
0->1
1->2
2->3
3->4
и так далее
а седьмой?
источник

A

Aleksandr in Ассемблер
пропадает
источник

D

Den in Ассемблер
Aleksandr
пропадает
ничего пока не понятно, т.е они не в стэке а просто в виде стека т.е адресация у них идет сверху вниз или как это понять?
источник

A

Aleksandr in Ассемблер
У них там свой стек
источник

D

Den in Ассемблер
Aleksandr
У них там свой стек
а его в дебагере где то должно быть видно да?
источник

A

Aleksandr in Ассемблер
Если дебаггер поддерживает
источник

D

Den in Ассемблер
Aleksandr
Если дебаггер поддерживает
ага нашел, в edb есть! буду загружать обратно в голову ассемблер а то энтропия растет :)
источник

D

Den in Ассемблер
Aleksandr
Если дебаггер поддерживает
Спасибо Александр, что бы я без вас делал!
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Den
Прочитал тут такое, Регистры FPU (8 штук) реализованы в виде стека: st=st(0), st(1), st(2), st(3), st(4), st(5), st(6), st(7). Когда мы загружаем число в сопроцессор, оно загружается в st(0), а все другие регистры сдвигаются.
Что значит сдвигаются куда сдвигаются как сдвигаются зачем сдвигаются? Обычные регистры никуда не сдвигаются кто нить знает как это работает? :)
по сути там не сдвиг происходит а переименование регистров, для пользователя это выглядит как сдвиг значений по регистрам. в этом механизме еще учавствует голова (top, в х86 это аналог esp), то значение которое указывает какой регистр на данный момент является нулевым (st0).
источник

ST

Saenro T in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
по сути там не сдвиг происходит а переименование регистров, для пользователя это выглядит как сдвиг значений по регистрам. в этом механизме еще учавствует голова (top, в х86 это аналог esp), то значение которое указывает какой регистр на данный момент является нулевым (st0).
ST7 во что переименовывается?
источник

D

Den in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
по сути там не сдвиг происходит а переименование регистров, для пользователя это выглядит как сдвиг значений по регистрам. в этом механизме еще учавствует голова (top, в х86 это аналог esp), то значение которое указывает какой регистр на данный момент является нулевым (st0).
а если этот top указывает допустим на st3 то st3 это как бы st0 a st2  это st -1 получается?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Saenro T
ST7 во что переименовывается?
не переименовывается, там 3 бита в лове статуса за топ  отвечает, вот по кругу инкремент декремент и происходит
источник

ST

Saenro T in Ассемблер
Получается отладчик не показывает R0-R7, а показывает текущее соответствие ST0-ST7
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
для проца эти регистры обозваны как r0-r7, для прогания они не доступны. для пользоватля в зависимости от того на какой из этих регистров указывает голова это выглядит как st0-st7
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Saenro T
Получается отладчик не показывает R0-R7, а показывает текущее соответствие ST0-ST7
да
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
в x64gdb их соответсвие показано
источник

d

disba1ancer in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
для проца эти регистры обозваны как r0-r7, для прогания они не доступны. для пользоватля в зависимости от того на какой из этих регистров указывает голова это выглядит как st0-st7
а указателем можно рулить из кода?
источник

A

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

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
но мож там можно голову в ручную указывать?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
только смысл?
источник