汇编语言 or ah,al 意义
这句话什么意思?一般用于什么用途?是不是简单的把ah和al组合起来变成完整的ax?能举个例子吗?...
这句话什么意思?
一般用于什么用途?
是不是简单的把ah和al组合起来变成完整的ax?
能举个例子吗? 展开
一般用于什么用途?
是不是简单的把ah和al组合起来变成完整的ax?
能举个例子吗? 展开
5个回答
展开全部
ah,al很明显了就是
a high
a low
一个16位寄存器高位和地位的称呼也就是你说的ax
or运算就是.运算的两个位都为真得到的结果就为真
举个例子:
1 or 2看的仔细切换成二进制运算
0001
or 0010
0011(也就是十进制的3)
因为第一位是1,第二位是0,而第二个数的第一位是0第二位是1
根据 or计算原理.1 or 0=1,0 or 0=0,0 or 1=1,1 or 1=1
的原理那得到的就是0011
看上去很清楚
现在来说说ah和al
ax是一个16位寄存器
ah=高八位(a high)
al=低八位(a low)
ax=1234h =也就是高位12,低位34
如果计算的话那就是
12h = 0001 0010
34h = 0011 0100
计算的结果就是: 0011 0110 = 36h = 54
可是直接 or ah, al就是高位和低位进行or运算将结果高存在ah里面
计算得到的结果就是
ax = 3634h
or会改变一些标志寄存器的值-除了运算有的时候也会被当做判断使用
例如 cmp al, 0就可以写作 or al, al-比较短小精悍
cmp eax, eax=or eax, eax
之类的可以参考一下。《Intel汇编语言程序设计》等书籍
a high
a low
一个16位寄存器高位和地位的称呼也就是你说的ax
or运算就是.运算的两个位都为真得到的结果就为真
举个例子:
1 or 2看的仔细切换成二进制运算
0001
or 0010
0011(也就是十进制的3)
因为第一位是1,第二位是0,而第二个数的第一位是0第二位是1
根据 or计算原理.1 or 0=1,0 or 0=0,0 or 1=1,1 or 1=1
的原理那得到的就是0011
看上去很清楚
现在来说说ah和al
ax是一个16位寄存器
ah=高八位(a high)
al=低八位(a low)
ax=1234h =也就是高位12,低位34
如果计算的话那就是
12h = 0001 0010
34h = 0011 0100
计算的结果就是: 0011 0110 = 36h = 54
可是直接 or ah, al就是高位和低位进行or运算将结果高存在ah里面
计算得到的结果就是
ax = 3634h
or会改变一些标志寄存器的值-除了运算有的时候也会被当做判断使用
例如 cmp al, 0就可以写作 or al, al-比较短小精悍
cmp eax, eax=or eax, eax
之类的可以参考一下。《Intel汇编语言程序设计》等书籍
展开全部
or 是或 ah是AX寄存器的高位 占一个字节,al是AX寄存器的低位也占一个字节
AX=AH+AL or是或 1or 1=1 1or0=1 0or0=0
AX=AH+AL or是或 1or 1=1 1or0=1 0or0=0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
意思是: AH和AL求逻辑“或”运算,结果送AH中。这个常用在判断AX是否为0,只有AH,AL全为0时,结果才为0.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样说吧,AH=1001 1100,AL=1011 0001时,or AH,AL就是AH与AL进行逻辑或运算,结果送到AH,AH=1011 1101。
1001 1100
or 1011 0001
---------------
1011 1101
所以说,or ah,al 并不是把ah和al组合起来。
1001 1100
or 1011 0001
---------------
1011 1101
所以说,or ah,al 并不是把ah和al组合起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ah 和 al 进行或运算 结果保存在ah中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询