有没有办法在汇编中将 16 位值的一部分存储在 8 位变量中?

发布于 2024-08-06 07:43:59 字数 110 浏览 2 评论 0原文

我创建了一个存储 16 位变量的变量,并且我尝试将上半部分存储在 8 位变量中。 我该怎么做?

编辑:它适用于 IA-32,我认为我不能使用寄存器

编辑2:我可以使用寄存器。

I created one variable that stores a 16 bit variable, and I'm tring to store the upper half in an 8 bit variable.
How do I do this?

EDIT: its for the IA-32, and I don't think i can use registers

EDIT2: I am allowed to use registers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天涯离梦残月幽梦 2024-08-13 07:43:59

你可以这样做:

mov AX, [var16]
mov [var8], AH

You can do it like this:

mov AX, [var16]
mov [var8], AH
故事还在继续 2024-08-13 07:43:59

或者,您可以使用 SHR、SHL 或 ROR 和 ROL 来移位或循环寄存器中的位。

Alternatively, you could use the SHR, SHL or ROR and ROL to shift of rotate the bits in your register.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文