Какие значения имеют регистры сегмента - PullRequest
0 голосов
/ 10 мая 2019

Кажется, я не могу понять, какое значение хранит сегмент в хранилище. Я знаю общее определение, что

они используются для хранения начального адреса сегмента кода, данных Сегмент и сегмент стека соответственно

Итак, хранит ли регистр CS 16 старших значащих битов первой команды в сегменте кода? Регистры DS и SS делают то же самое для сегмента данных и сегмента стека?


.386
.model flat,stdcall  
.stack 4090h
.data

.X DWORD 5             ;0x22345671

.code 
main proc
mov ESI,offset X        ;0x12345672

mov EAX,[ESI]           ;0x12345673

mov EBX,1               ;0x12345674

add EAX,EBX             ;0x12345675

main endp
end main

Предполагая, что 0x22345671 является адресом переменной памяти X, а диапазон команд сегмента кода находится в диапазоне 0x12345672-0x12345675. Каковы значения регистров CS, DS, SS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...