为什么会显示乱码

jinandsun 2003-06-04 11:11:34
CODES segment
assume cs:CODES
START:
mov ax,0
mov al,10110100b
;mov ds,cx
mov bl,011b
mul bl
mov dx,ax
mov ah,9
int 21h
mov ah,4ch ;结束
int 21h
CODES ends
END START
Libraries [.LIB]:
LINK : warning L4021: no stack segment

D:\masm>s.exe
?╤π╤π?6^>í?E???E? ?P??^?í ??? ?&?G♀è&êG?Θf?U?∞a∞?V?F??V??F??V÷─^?&??? u?Θ??&?&
W
?Fε?V≡&?G♀?F≥─^?&╞G??&╞G
???ε=♂└uj÷Fε?u?í°=??·=?? a╥
D:\masm>debug s.exe
-t

AX=0000 BX=0000 CX=0013 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0B23 ES=0B23 SS=0B33 CS=0B33 IP=0003 NV UP EI PL NZ NA PO NC
0B33:0003 B0B4 MOV AL,B4
-t

AX=00B4 BX=0000 CX=0013 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0B23 ES=0B23 SS=0B33 CS=0B33 IP=0005 NV UP EI PL NZ NA PO NC
0B33:0005 B303 MOV BL,03
-t

AX=00B4 BX=0003 CX=0013 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0B23 ES=0B23 SS=0B33 CS=0B33 IP=0007 NV UP EI PL NZ NA PO NC
0B33:0007 F6E3 MUL BL
-t

AX=021C BX=0003 CX=0013 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0B23 ES=0B23 SS=0B33 CS=0B33 IP=0009 OV UP EI PL NZ NA PO CY
0B33:0009 8BD0 MOV DX,AX
-t

AX=021C BX=0003 CX=0013 DX=021C SP=0000 BP=0000 SI=0000 DI=0000
DS=0B23 ES=0B23 SS=0B33 CS=0B33 IP=000B OV UP EI PL NZ NA PO CY


为什么我的程序出现了乱码呢?
怎么显示不出来计算的结果呢?
但是我观察寄存器的值是可以得到结果的,为什么不能显示2进制的结果呢?
...全文
65 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinandsun 2003-06-06
  • 打赏
  • 举报
回复
不明白
beiliang 2003-06-06
  • 打赏
  • 举报
回复
我建议楼主回去好好看一下哪个dos 9号调用命令!
lezi1022 2003-06-04
  • 打赏
  • 举报
回复
mov ah,9
int 21h

你这里调用了dos9号功能!
dos9号功能:输出一串字符,要求字符串以‘$’为结束符;
调用时,要求ds:dx指向字符串的首址!

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧