I have the following data declarations, and the data segment and code segment registers are all correctly initialized:
d1 db 1,2
d2 dw 3
d3 db 'ABC'
d4 db 'DE'
d5 db 'F'
d6 db '$'
I run this set of instructions on DOSbox:
mov dx, offset d2
add dx, 2
mov ah, 9
int 21h
Why is that the standard output device would write 6 bytes? I understand that d2 is a word, so it is 2 bytes of data. But I do not completely understand why there would be an output for 6 bytes?