打包和检索打包的位域

问题描述

我对建议的方法是打包一个值并再次检索该打包的值感兴趣。

我认为从内存地址执行此操作很简单,因为您可以根据内存偏移量检索值。那是正确的,还是比这更复杂?

要尝试将两个16位值打包到一个寄存器中,这就是我所拥有的:

mov $72,%ax            # low 2-bytes  (of eax)
or $(19 << 16),%eax    # high 2 bytes (of eax)

mov %eax,%ebx
and $0x0000FFFF,%ebx # low bits go in ebx
mov %eax,%ecx

and $0xFFFF0000,%ecx # high bits go in ecx
shr $16,%ecx

这是建议的方法吗?并有一种方法可以在单个操作中进行“移动和遮罩”,还是需要分两个步骤进行?

mov %eax,%ebx

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)