当前位置: 首页 > 编程笔记 >

Intel x86 Assembly& Microarchitecture 8位寄存器

闾丘谦
2023-03-14
本文向大家介绍Intel x86 Assembly& Microarchitecture 8位寄存器,包括了Intel x86 Assembly& Microarchitecture 8位寄存器的使用技巧和注意事项,需要的朋友参考一下

示例

前四个16位寄存器可以将其高低字节和低半字节直接作为自己的寄存器进行访问:

  • AH和AL是AX寄存器的上半部分和下半部分。

  • BH和BL是BX寄存器的上半部分和下半部分。

  • CH和CL是CX寄存器的上半部分和下半部分。

  • DH和DL是DX寄存器的上半部分和下半部分。

请注意,这意味着更改AH或AL也将立即更改AX!还要注意,对8位寄存器进行的任何操作都不会影响其“伙伴”-递增AL,以使它从0xFFto溢出0x00不会改变AH。

64位寄存器还具有8位版本,代表其低字节:

    html" target="_blank">list-paddingleft-2">
  • SIL 对于 RSI

  • DIL 对于 RDI

  • BPL 对于 RBP

  • SPL 对于 RSP

这同样适用于寄存器R8通过R15:它们各自的低字节部分被命名为R8B- R15B。

 类似资料:
  • 基本上指令有8->16、8->32、8->64、16->32和16->64。 32->64的转换在哪里?我必须使用签名版本吗? 如果是的话,您如何使用完整的64位来表示无符号整数?

  • 本文向大家介绍verilog 移位寄存器,包括了verilog 移位寄存器的使用技巧和注意事项,需要的朋友参考一下 示例 具有异步复位功能的N位深移位寄存器。            

  • 本文向大家介绍Intel x86 Assembly& Microarchitecture 32位寄存器,包括了Intel x86 Assembly& Microarchitecture 32位寄存器的使用技巧和注意事项,需要的朋友参考一下 示例 英特尔生产80386时,他们从16位处理器升级到了32位处理器。32位处理意味着两件事:要处理的数据都是32位,而要访问的内存地址是32位。为此,他们仍然

  • 本文向大家介绍Intel x86 Assembly& Microarchitecture 16位寄存器,包括了Intel x86 Assembly& Microarchitecture 16位寄存器的使用技巧和注意事项,需要的朋友参考一下 示例 当英特尔定义最初的8086时,它是一个具有20位地址总线的16位处理器(请参阅下文)。他们定义了8个通用16位寄存器-但为某些指令赋予了它们特定的作用:

  • 我正在使用x86 Assembly,我遇到了使用指令的需要。 我的代码片段过去是这样的: 其中<代码> 所以我的程序正在命中未定义的行为,在这种情况下是一个无限循环,在检查了很长时间可能出错的地方之后,我认为我必须使用,因为 实际上将结果存储在< code>ax中。因此,我在< code>ax中有一个有符号的结果,而我希望在< code>al中有一个无符号的(有上溢/下溢)结果。 所以我的问题是:

  • Vim提供了许多寄存器。可以将这些寄存器用作多个剪贴板。使用多个文件时,此功能非常有用。在本章中,将讨论以下主题内容 - 复制寄存器中的文本 粘贴寄存器中的文本 列出可用的寄存器 寄存器类型 1. 复制寄存器中的文本 对于复制,可以使用普通的命令,即并将其存储在寄存器中,可以使用以下语法 - 例如,要复制寄存器中的文本,请使用以下命令 - 2. 粘贴寄存器中的文本 从寄存器粘贴文本 - 例如,下面