AH9号命令显示不正确
一下代码是实现找出十个数中间的最小数,并显示在屏幕上,不知道为什么显示的是乱码,请好心人帮忙看看。
谢谢!
;FILENAME: 3.ASM
.486
DATA SEGMENT USE16
BUF DB -12,9,-2,8,0,1,3,-8,-89,-23
TMP DB 'MIN=',0,'B','$'
DATA ENDS
CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA
BUG:
MOV AX,DATA
MOV DS,AX
MOV CX,10
MOV BX,OFFSET BUF
MOV DH,0
BEGIN:
MOV AL,[BX]
CMP AL,0
JL MIN
JMP NEXT
MIN:
CMP DH,AL
JG CHANGE
JLE NEXT
CHANGE:
MOV DH,AL
NEXT: INC BX
LOOP BEGIN
MOV BX,OFFSET BUF
MOV BYTE PTR[BX+14],DH
ADD BYTE PTR[BX+14],30H
MOV AH,9
MOV DX,OFFSET TMP
INT 21H ;返回DOS
MOV AH,4CH
INT 21H
CODE ENDS
END BUG