汇编中eax和al或ah有什么关系
具体的有什么联系呢?难道没有什么具体的联系吗?只是一个是32位寄存器?另一个是8位的如果说我有这样一句moveax,0x00230024那么al会有什么变化呢?我听说al...
具体的有什么联系呢?难道没有什么具体的联系吗?只是一个是32位寄存器?另一个是8位的如果说我有这样一句mov eax , 0x00230024那么al会有什么变化呢?我听说al是取低字节的?(难道是取eax的低字节?) 请高手解决,本人初识汇编,很多地方未免闹笑话,请保持对学术的尊敬回答本题,不希望乱答题,误导他人的人,谢谢了(献上100分)
展开
3个回答
展开全部
你看看那个图:
eax 是一个32位的寄存器,ax是16位的
ah 和al 是8位的,就是ax寄存器
改了ah 或al 。 ax就变了。
比如:张山 是16划 张8划 山8划 。我可以把张山按16划处理,也可以按两个8划处理
张是高8划山是低8划。我把低8划改成四,那么张山 就变化成张四了。明白?
eax 是一个32位的寄存器,ax是16位的
ah 和al 是8位的,就是ax寄存器
改了ah 或al 。 ax就变了。
比如:张山 是16划 张8划 山8划 。我可以把张山按16划处理,也可以按两个8划处理
张是高8划山是低8划。我把低8划改成四,那么张山 就变化成张四了。明白?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先请看图,图看懂了就基本解决这个了疑问了。
00000000 00000000 00000000 00000000
|===============EAX===============|--32个0,4个字节,2个字,1个双字
|======AX=======|--16个0,2个字节,1个字
|==AH===|-----------8个0,1个字节
|===AL==|---8个0,1个字节
虽说EAX是32位的寄器,但其实只是在原有的8086CPU的寄存器AX上增加了一倍的数据位数而已。故而EAX与AX根本不可能独立,二者是整体与部分的关系。
对EAX直接赋值,若更改了低16位自然会改变了AX值,而AX又可以影响EAX整体。而AH,AL寄存器和AX之间的关系也是如此。
00000000 00000000 00000000 00000000
|===============EAX===============|--32个0,4个字节,2个字,1个双字
|======AX=======|--16个0,2个字节,1个字
|==AH===|-----------8个0,1个字节
|===AL==|---8个0,1个字节
虽说EAX是32位的寄器,但其实只是在原有的8086CPU的寄存器AX上增加了一倍的数据位数而已。故而EAX与AX根本不可能独立,二者是整体与部分的关系。
对EAX直接赋值,若更改了低16位自然会改变了AX值,而AX又可以影响EAX整体。而AH,AL寄存器和AX之间的关系也是如此。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询