装配错误字符显示
assembly wrong character display
.data
list db 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0
[...]
lea si,list
[...]
mov al,[si]
division:
mov cx,10
mov dx,0
div cx
mov bx,dx
mov dl,al
mov ah,2
add dl,30h
int 21h
mov dx,bx
mov ah,2
add dl,30h
int 21h; print [list]
[...]
为什么结果显示 ▂5
除法前,我什至试过"mov al,1",答案还是一样
▂5
因为您使用字大小的除法,所以在这种特殊情况下您必须将 AH 寄存器初始化为零。
或者您可以使用字节大小的除法!
编辑
mov al,[si]
mov ah,0 ;***NEW***
division:
mov cx,10
mov dx,0
div cx
.data
list db 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0
[...]
lea si,list
[...]
mov al,[si]
division:
mov cx,10
mov dx,0
div cx
mov bx,dx
mov dl,al
mov ah,2
add dl,30h
int 21h
mov dx,bx
mov ah,2
add dl,30h
int 21h; print [list]
[...]
为什么结果显示 ▂5 除法前,我什至试过"mov al,1",答案还是一样 ▂5因为您使用字大小的除法,所以在这种特殊情况下您必须将 AH 寄存器初始化为零。
或者您可以使用字节大小的除法!
编辑
mov al,[si]
mov ah,0 ;***NEW***
division:
mov cx,10
mov dx,0
div cx