显示为什么会出错。。。。
SHOWOUT MARC A,B,C,D,E;宏调用以在指定坐标和属性显示字符串。
MOV AH,13H ;其中字符串在ES中定义
MOV AL,0H
MOV BH,0H
MOV BL,D
MOV CX,E
MOV DH,A
MOV DL,B
MOV SI,OFFSET C
MOV ES:[BP],SI
INT 10H
ENDM
SHOWOUT 08,32,MESS1,0B9H,LENTH1;DH/DL=08/32,MESS1为显示的字符串,0B9H为 ;显 示字符串的属性,LENTH1为显示字符串的 ;长度
这样做,显示怎么会是一段乱码。
[解决办法]
...
; MOV SI,OFFSET C
; MOV ES:[BP],SI
MOV BP, C ; ES:BP 指向待显示的字符串, 不是字符串的地址
INT 10H
...
[解决办法]
es:bp 是 (待显示字符串的) 地址, 而不是指向地址