为输入的字符串添加'$'时遇到的问题
我想编写一个程序输入一个字符串,然后再把它打印出去。
由于assembly中的输入字符串要加上一个'$',才能够正确的
打印出去,所以为了避免每次输入时都要多打一个'$',我
打算编程为输入的字符串加'$':
mov ah, 0ah ;串输入DOS功能号
int 21h ;输入串到缓冲区
;ds:dx 指向缓冲区首地址
;缓冲区的第一个字节保存缓冲区可放置的最大字符数
;缓冲区的第二个字节保存缓冲区实际输入的字符数
;再往后是输入的字符数据
mov bx, dx ;把缓冲区的偏移地址赋予bx
mov cx, [bx+1] ;把缓冲区的第二个字节中的内容也就是实际输入的字符数放到cx中
add bx, 2 ;bx指向缓冲区的第一个字符地址
add bx, cx ;按照输入的字符数跨到字符串结尾处
mov [bx], '$' ;在字符串的结尾添加一个字符串结尾符'$'
add dx, 2 ;修正为缓冲区中第一个字符数据的偏移地址
mov ah, 9 ;串输入DOS功能号
int 21h ;输出串
但是这样编译出来后的程序仍然需要在输入字符串时加'$',没有达到我的
目的。不知道该如何解决,大侠赐教。