VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1114|回复: 4

[讨论] 王爽 汇编 2.2 疑问

[复制链接]
34_avatar_middle
online_vip 发表于 2015-5-21 21:43:59 | 显示全部楼层 |阅读模式
mov ax,001AH AX = 001AH BX = 0000H

mov bx,0026H Ax = 001AH BX = 0026H

add al,bl AX = 0040H BX = 0026H //AL是第八位寄存器,Bl也是。 用以上BX + AX = 0040H

add ah,bl ax = 为什么这儿等于2640? 不是0040 + 0026吗  BX = 0026H

add bh,al ax = 2640H bx = ? 为什么这儿bx等于4026H? 不是这样运算的吗? 2640H + 0026H?

mov ah,0 ax =  ?为什么这儿又等于0040H?

add al,85H  ax = 00c5H BX = 4026H (85H + ax(0040H) == 00c5H)

add al,93H ax = 0058H (因为al是低八位寄存器,所以最高位丢失)

因为是刚学,寄存器这些都没搞清楚。

为什么相加,哪些要抛弃,哪些不抛弃呢?

而且al,ah,这些都没定义数据,那直接mov或者相加,数据从哪儿来的呢?

还请各位学长指点,谢谢。刚学的小菜鸟。




上一篇:应用层的InlineHook汇编实现(wings)
下一篇:请问我想把减一改成减其他的数字,怎么改
33_avatar_middle
online_supermod 发表于 2015-5-23 10:37:35 | 显示全部楼层
首先,AX为16位寄存器,其中AH为8-15高位,AL为0-7低位
33_avatar_middle
online_supermod 发表于 2015-5-23 10:43:15 | 显示全部楼层
mov ax,001AH 这里AX=001AH

mov bx,0026H 这里BX = 0026H

add al,bl AX = 0040H BX = 0026H //AL是第八位寄存器,Bl也是。 用以上BX + AX = 0040H

add ah,bl ax = 为什么这儿等于2640? 不是0040 + 0026吗  BX = 0026H
你这里AH因为是AX的8-15位高位这里为00,BL为BX的0-7低位这里为26你ADD后AH=26H了,AL还是40H,这样一组合AX就是2640了
下面的你按我这个自己算下

add bh,al ax = 2640H bx = ? 为什么这儿bx等于4026H? 不是这样运算的吗? 2640H + 0026H?  

mov ah,0 ax =  ?为什么这儿又等于0040H?

add al,85H  ax = 00c5H BX = 4026H (85H + ax(0040H) == 00c5H)

add al,93H ax = 0058H (因为al是低八位寄存器,所以最高位丢失)
34_avatar_middle
ico_lz  楼主| 发表于 2015-6-8 10:59:15 | 显示全部楼层
Jetliu 发表于 2015-5-23 10:43
mov ax,001AH 这里AX=001AH

mov bx,0026H 这里BX = 0026H

谢谢,今天才登录上来。已经明白那里了。
26_avatar_middle
在线会员 发表于 2016-7-13 22:31:15 来自手机 | 显示全部楼层
我就笑笑不说话1468420217.62
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-3-21 08:36

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表