当前位置: 代码迷 >> 汇编语言 >> 显示为什么会出错。解决办法
  详细解决方案

显示为什么会出错。解决办法

热度:4583   发布时间:2013-02-26 00:00:00.0
显示为什么会出错。。。。
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 是 (待显示字符串的) 地址, 而不是指向地址
  相关解决方案