汇编语言的一个小程序,刚开始学习,为什么这个程序输出是乱码

汇编语言的一个小程序,刚开始学习,为什么这个程序输出是乱码,第1张

肯定不对了。

LEA DX,L0

MOV AH,09H

INT 21H

这段话的作用是,输出DX指向的一段以$结尾的字符串,而不是用来输出单个字符的。

比如:

dseg segment

msg db 'hello, wordl$';

dseg ends

那么你在程序里可以:

lea dx, msg

mov ah, 9

int 21h

这样可以输出字符串'hello,world'

要输出单个字符,应该是把字符放到dl中输出,例如:

mov dl, 'a'

mov ah, 2

int 21h

下面是照你的程序改的:

CODES SEGMENT

START:

MOV AH,01H

INT 21H

CMP AL,'0'

JE L0

CMP AL,'1'

JE L1

CMP AL,'2'

JE L2

CMP AL,'3'

JE L3

CMP AL,'4'

JE L4

CMP AL,'5'

JE L5

CMP AL,'6'

JE L6

CMP AL,'7'

JE L7

jmp Exit

L0: mov dl, '0'

MOV AH, 2

INT 21H

MOV AH,4CH

INT 21H

L1: mov dl, '1'

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

L2: mov dl, '2'

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

L3: mov dl, '3'

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

L4: mov dl, '4'

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

L5: mov dl, '5'

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

L6: mov dl, '6'

MOV AH,2

INT 21H

MOV AH,4CH

INT 21H

L7: mov dl, '7'

MOV AH,2

INT 21H

Exit:

MOV AH,4CH

INT 21H

HLT

CODES ENDS

END START

当然你的程序有好多可以优化的地方。

系统设置错误或者缺少字体。

1:先找到控制面板,一般的开始里就有找到区域和语言,打开区域和语言,先点击管理再点开更改系统区域设置。

2:选择语言。

3:先随便选择一个。

4:重新启动。

5:产生的原因可能是系统设置错误或者缺少字体。

这种情况发生在以UTF-8编码格式传输数据的时候,这开头的三个字节叫做BOM(Byte Order Mark,字节顺序标记),小程序接收到php端返回的数据后,把开头的三个字节去掉即可。

更彻底的解决办法是把php文件保存为 不带BOM的UTF-8 文件,这样返回的数据就不带BOM了

以上就是关于汇编语言的一个小程序,刚开始学习,为什么这个程序输出是乱码全部的内容,包括:汇编语言的一个小程序,刚开始学习,为什么这个程序输出是乱码、笔记本电脑部分程序汉字出现乱码怎么办、PHP 后台接口返回小程序端的数据,在数据前面出现了乱码情况,怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10139325.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存