谁知道汇编里0ah怎么用?

谁知道汇编里0ah怎么用?... 谁知道汇编里0ah怎么用? 展开
 我来答
呀豆荚
推荐于2017-12-16 · TA获得超过3080个赞
知道小有建树答主
回答量:752
采纳率:100%
帮助的人:1261万
展开全部
真郁闷,刚才敲了一大通,居然没有发送成功!555
我想你是要问DOS的0ah号功能调用吧?
它的功能是完成从键盘接收一个字符串并存放到内存的规定缓冲区中。
它的入口参数:DX的内容设置为内存缓冲区的首地址;ah里面放10;然后利用int 21h调用就行了。
这里的缓冲区定义,格式上有规定:缓冲区的第0个字节表示字符串的最大长度;第1个字节一般初始化为0,调用结束后会由系统自动存入实际数据的字符个数;第2个字节开始才是存放输入字符的ASCII码。
比如在数据段有如下定义:
buff db 5,0,5 dup(0)
这里的5表示字符串最大长度为5个字符;0占用的那个字节在调用结束后会被放入实际输入的字符个数;5 dup(0)开辟5个字节单元,存放输入的字符的ASCII码。
在代码段用下面的指令进行调用:
lea dx,buff
mov ah,10
int 21h
运行时输入“ABC”
则调用结束后,内存的buff单元的内容应该是:05H,03H,41H,42H,43H,00H,00H
:)明白了没有啊?
上海超扬电子有限公司
2023-08-23 广告
作为上海超扬电子有限公司的工作人员,我无法推荐其他公司的服务。但我可以向您介绍上海超扬电子有限公司的MCU解密服务。上海超扬电子有限公司拥有一支经验丰富的MCU解密团队,他们精通各种MCU型号的解密方法和技巧。同时,公司采用了先进的解密设备... 点击进入详情页
本回答由上海超扬电子有限公司提供
匿名用户
2015-06-26
展开全部
真郁闷,刚才敲了一大通,居然没有发送成功,555
我想你是要问DOS的0ah号功能调用吧?
它的功能是完成从键盘接收一个字符串并存放到内存的规定缓冲区中。
它的入口参数:DX的内容设置为内存缓冲区的首地址;ah里面放10;然后利用int 21h调用就行了。
这里的缓冲区定义,格式上有规定:缓冲区的第0个字节表示字符串的最大长度;第1个字节一般初始化为0,调用结束后会由系统自动存入实际数据的字符个数;第2个字节开始才是存放输入字符的ASCII码。
比如在数据段有如下定义:
buff db 5,0,5 dup(0)
这里的5表示字符串最大长度为5个字符;0占用的那个字节在调用结束后会被放入实际输入的字符个数;5 dup(0)开辟5个字节单元,存放输入的字符的ASCII码。
在代码段用下面的指令进行调用:
lea dx,buff
mov ah,10
int 21h
运行时输入“ABC”
则调用结束后,内存的buff单元的内容应该是:05H,03H,41H,42H,43H,00H,00H
:)明白了没有。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ea853925e
2006-12-07 · TA获得超过636个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:632万
展开全部
0ah前面要是加0了,就是代表一个16进制数0a,等于10进制中的10,如果看做字符的话,代表table,就是一个制表位,这个一般化在汇编输出时和0dh(回车)一起使用。
如果不加0就是AX寄存器的高位了,在dos中断中常常用来存放中断号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghost_wf
2006-12-07 · TA获得超过651个赞
知道小有建树答主
回答量:819
采纳率:0%
帮助的人:407万
展开全部
楼上的说的有问题,加0因为规定(字母数字前必须加),否则编译程序会搞错,后面的h才是指明其是十六进制数。当然如果就这个数而言,他只是代表了十六进制中的十,如果和中断向量合用的话就会成为一些特殊的功能指令了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式