社区
汇编语言
帖子详情
如何取32位通用寄存器的高16位?
aoudsk
2009-11-15 07:02:41
像EAX,EBX...这些32位通用寄存器的低16可以很方便的存取数据!但高16位却不知怎么样使用!
虽然可以右移16位来取高位或用其它方法,但要消耗好多时间!没有很直接的方法来取32位寄存器的高16位?
...全文
1423
16
打赏
收藏
如何取32位通用寄存器的高16位?
像EAX,EBX...这些32位通用寄存器的低16可以很方便的存取数据!但高16位却不知怎么样使用! 虽然可以右移16位来取高位或用其它方法,但要消耗好多时间!没有很直接的方法来取32位寄存器的高16位?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sax小bin
2009-11-21
打赏
举报
回复
应该还有指令是取来取高位的
hehe3434
2009-11-21
打赏
举报
回复
用逻辑运算屏蔽低十六位?
nanlingcg
2009-11-20
打赏
举报
回复
留个记号。。。。。
desdouble
2009-11-20
打赏
举报
回复
shrl $16, %eax或roll $16, %eax
miaomiao83
2009-11-18
打赏
举报
回复
DING
budao3
2009-11-18
打赏
举报
回复
不好意思,记错了
bswap是把第一字节和第四个字节交换,把第二个字节和第三个字节交换
sorry
日立奔腾浪潮微软松下联想
2009-11-17
打赏
举报
回复
bswap是按字节逆序,不是将eax的高16位和低16位交换。
如果用bswap的话,还要再xchg ah,al。
budao3
2009-11-17
打赏
举报
回复
可以用BSWAP來实现:
bswap EAX;所做的是将eax的高16位和低16位交换;
这条指令之后,AX就是原先的EAX的高16位了
cnzdgs
2009-11-16
打赏
举报
回复
移位操作是很快的,不会消耗很多时间,一般都是用这种做法。
另一种做法是把32位寄存器赋给一个变量,再从变量中取高16位,这种做法效率明显低于移位操作。
日立奔腾浪潮微软松下联想
2009-11-16
打赏
举报
回复
先交换高低16位再用ax:shrd eax,eax,16 ; shld eax,eax,16也行
xiaopoy
2009-11-16
打赏
举报
回复
定义一个内容为 reg32>> 16的宏即可。
gp341
2009-11-16
打赏
举报
回复
dword a
mov a, eax
word ptr a+4 就是高16位吧
desdouble
2009-11-16
打赏
举报
回复
没有直接的方法和指令,间接的方法中移位操作是最快的:
因为通用寄存器是CPU存取数据最快的地方,shrl指令是实现楼主目的最快的指令。cpu只需一个周期,无需等待。
大熊猫侯佩
2009-11-16
打赏
举报
回复
eax>>16
devilidea
2009-11-15
打赏
举报
回复
学习
yuteria
2009-11-15
打赏
举报
回复
可以用AH来使用AX中的高位啊
第十三课_8
位
和
16
位
通用寄存器
今天讲8
位
的和
16
位
的
通用寄存器
。 在十一课中,我们知道了
32
位
的
通用寄存器
。分别是EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI。 今天讲的
16
位
寄存器分别为:AX、CX、DX、BX、SP、BP、SI、DI。 对比
32
位
和
16
位
...
汇编笔记二【
32
位
通用寄存器
以及 常用汇编指令】 by:凉游浅笔深画眉 / Net7Cracker...
一、
32
位
通用寄存器
(EAX,ECX,EDX,EBP,ESP,EBP,ESI,EDI) 二、十六
位
通用寄存器
(AX,CX,DX,BX,SP,BP,SI,DI) 三、八
位
通用寄存器
(AH,AL,CH,CL,DH,DL,BH,BL) 四、
32
位
,
16
位
,8
位
寄存器之间的关系 1....
Intel 64/x86_64/IA-32/x86处理器
通用寄存器
(2) - 64
位
通用寄存器
在64
位
模式下,有
16
个64
位
宽
通用寄存器
(
32
位
模式是8个
通用寄存器
),默认的操作数宽度是
32
位
(注:与
32
位
模式相同)。但是,
通用寄存器
保存
32
位
或64
位
的操作数。如果指定了
32
位
操作数,则可以使用EAX/EBX/ECX/EDX/...
通用计算机组成,实验CPU
通用寄存器
组 计算机组成原理
二、实验原理
通用寄存器
组是CPU的重要组成部分。从存储器
取
来的数据要放在
通用寄存器
中;从外部设备
取
来的数据除DMA方式外,要放在
通用寄存器
中。向存储器输出的数据也是从
通用寄存器
中
取
出;向外部设备输出的数据除...
滴水三期:day02.4-
通用寄存器
一、
32
位
通用寄存器
>二、使用OD查看寄存器并且使用MOV指令修改寄存器中值>三、
通用寄存器
>四、汇编指令
汇编语言
21,459
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章