Я немного смущен тем, как переменные хранятся в сегменте данных. Нам дан этот сегмент кода:
.data
vala dw 1234h
valb db 1,2,3,4
valc db '1234$'
vald db '12'
Я сделал таблицу данных смещения следующим образом:
offset 00 01 02 03 04 05 06 07 08 09 10 11
data 34 12 01 02 03 04 31 32 33 34 31 32
Я не думаю, что правильно загружаю его в память, потому что общее количество байтов, необходимых в памяти, составляет 13, а здесь у меня только 11. Может кто-нибудь прокомментировать, где я ошибся?
Есть еще один вопрос, который спрашивает, сколько байт записывается на стандартное устройство вывода после этих инструкций:
mov dx,offset valb ;valb has 4 bytes
mov ah,9 ;4 bytes is written to the output
int 21h ;for a total of 8 bytes
Правильно ли я обдумываю этот сегмент кода?