当我用emu8086编译和执行代码时,它没有打印正确的值。而是打印了0。我不明白为什么。有人能给我解释一下吗?
这是代码:
format MZ
entry code_seg:start ; set entry point
stack 256
segment data_seg
VAR1 DB 5
segment code_seg
start:
; set segment registers:
mov ax, data_seg
mov ds, ax
;print the value
MOV AH,02H
MOV DL,VAR1
ADD DL,30H
INT 21H
; wait for any key....
mov ah, 1
int 21h
mov ax, 4c00h ; exit to operating system.
int 21h
1条答案
按热度按时间ivqmmu1c1#
在数据段中,你需要在值后面附加h,这样你的数据段就应该像这样。