汇编语言输入一个字符串
leadx,buflenmovah,10int21h上面这段代码是从键盘输入字符串,保存在buf中,buffer当初申请了100个字节的空间我想问能不能有办法知道实际输入...
lea dx, buflen
mov ah, 10
int 21h
上面这段代码是从键盘输入字符串,保存在 buf中,buffer 当初申请了100个字节的空间 我想问能不能有办法知道实际输入的字符数目aclen
挺急的 在线等 展开
mov ah, 10
int 21h
上面这段代码是从键盘输入字符串,保存在 buf中,buffer 当初申请了100个字节的空间 我想问能不能有办法知道实际输入的字符数目aclen
挺急的 在线等 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
展开全部
执行 INT 21H 后,键盘实际输入的字符数,就存在 BUFLEN + 1 中。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先DOS调用0AH的功能:DX的内容设置为内存缓冲区的首地址,这里的缓冲区定义,格式上有规定:缓冲区的第0个字节表示字符串的最大长度;第1个字节一般初始化为0,调用结束后会由系统自动存入实际数据的字符个数;第2个字节开始才是存放输入字符的ASCII码。
比如在数据段有如下定义:
buffer db 5,0,5 dup(0)
这里的5表示字符串最大长度为5个字符;0占用的那个字节在调用结束后会被放入实际输入的字符个数;5 dup(0)开辟5个字节单元,存放输入的字符的ASCII码。
所以在执行完int 21h后,你可以
mov bl,buffer[1]看别人讲的不知道对不对
比如在数据段有如下定义:
buffer db 5,0,5 dup(0)
这里的5表示字符串最大长度为5个字符;0占用的那个字节在调用结束后会被放入实际输入的字符个数;5 dup(0)开辟5个字节单元,存放输入的字符的ASCII码。
所以在执行完int 21h后,你可以
mov bl,buffer[1]看别人讲的不知道对不对
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询