汇编程序输出乱码
- 资格考试
- 2022-04-19 19:44:14
汇编想输出数字却输出乱码
你这个语句的功能是输出字符串,但是你需要自己设置字符串的地址,ds:dx=字符串的地址,而且这个字符串还要以$结束。目前乱码是应该是指向了一个未知的地方导致的。 下面的代码因为没有编译环境,因此未做验证,仅做参考 assume cs:cseg,ds:dseg dseg segment db 'test$' dseg ends cseg segment start: mov ax,dseg mov ds,ax mov dx,0 mov ah,9 int 21h cseg ends end start汇编语言程序输出的一直是乱码,求高手找错
楼主的程序,可以输入150个字符,却只留了50个字符的空间! 另外,输入的是一个一个的字节,排序的时候却用““字””来排序,逻辑上有错。 最后,显示字符串,其末尾,应该有"$",否则就要显示出乱码。 以前写过,现成的,可供参考: ;================================================ assume cs:code, ds:data data segment msg1 db 'Before sort: $' crlf db 0dh, 0ah, '$' msg2 db 'After sort : $' ;-------------------------汇编语言输出字符串乱码??
汇编语言 输入字符串并输出所有非字母字符的前后导字符 ----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!汇编语言的一个小程序,刚开始学习,为什么这个程序输出是乱码?
肯定不对了。 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 C新人求问,16位汇编向屏幕输出字符串为何会出现乱码
MOV AH,9 INT 21H 执行上面调用,输出以DS:DX为首地址,"$"为结尾的字符串到显示器中。 szHello db "Hello!!!" 没有以$结尾,所以把Hello!!!后面的不是'$'的字节也输出来了,因为这些字节不是字符,所以就成了乱码。 改成szHello db "Hello!!!$"就好了。展开全文阅读