几个汇编语言的问题 20

不能理解以下几个问题.跪求答案.1.testbl,6如果:zf=0.bl中的D2D1不等于00,zf=1.bl中的D2d1等于00.2.ATART:movax,datam... 不能理解以下几个问题.跪求答案.
1.test bl,6
如果:zf=0.bl中的D2D1不等于00,
zf=1.bl中的D2d1等于00.
2.ATART:mov ax,data
mov ds,ax
3.10进制25的ACS码怎么表示?
展开
 我来答
钥匙还在家里
2007-06-22 · 超过15用户采纳过TA的回答
知道答主
回答量:18
采纳率:0%
帮助的人:0
展开全部
1.test bl,6
如果:zf=0.bl中的D2D1不等于00,
zf=1.bl中的D2d1等于00.

你把它写成二进制的比较好理解
7 6 5 4 3 2 1 0(这是bl的8个位,用7、6、5、4、3、2、1、0表示)
0 0 0 0 0 1 1 0(这是6的二进制形式)
---------------------执行test指令,实际上是进行与运算,所以结果就变成)
0 0 0 0 0 2 1 0(中间的2和1是指bl的第2和第1位)

那么可以看出
如果d2和d1为0,那么结果就为零了,所以ZF为1
如果d2或者d1不为零,那么结果就不是零了,此时zf=0
所以通过zf标志位就可以判断bl的d2和d1是不是同时为0

2.ATART:mov ax,data
mov ds,ax
这个怎么了?就是把data(一般是数据段的段名)所在段的段地址存放到ds中啊。
因为段名data出现在操作数部分时,系统把它看作立即数,而立即数不能直接传送到段寄存器中,所以用ax做中转。

3.10进制25的ACS码怎么表示?
用ASCII码表示25,应该分两位表示
2的ascii码是32H
5的ascii吗是35H
所以25的ascii码应该占用两个字节:32H和35H

如果想显示“25”,就应该用dos的2号功能先显示32H,再显示35H
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式