академическими знаниями занимаешься значит
Просто офсет 16-битный прочитается после модрм. На ассемблере выглядит как простой доступ по [адресу]
вроде понял, спасибо!
Сейчас же 32-битный используется, а на 64-разрядной и вовсе 64-битный
На картинке вариант для 16 бит. В 32 битах адресация парой регистров, например, сделана через SIB. В 64 битах всё как в 32-битах, включая 32-битное смещение, плюс-минус rip-reltaive и rex.
В 32 битах всё ещё используется адресация с помощью сегментных регистров, в 64 адреса уже длиной в 8 байт и сегментные регистры не используются, потому что с помощью 8 байт можно адресовать 16 экзабайт памяти, а настолько большого количества оперативы пока не предвидится на горизонте)
тоесть, при отладке х64 программ содержание сегментных регистров невалидны? тогда зачем их показывать?
Ну это же не означает, что сегментными регистрами нельзя пользоваться?
тогда хотелось бы увидеть их испольщование в х32 проге
Потому что эти регистры всё ещё можно использовать
Валидны, но игнорируются
Обсуждают сегодня