我还没有完成汇编语言编程十年左右,而我上次这样做是在学校,但我真的想更好地掌握x86架构(以及计算机组织的内部)一般),所以我现在试图了解如何细粒度访问32位&可能会发生64位通用寄存器。我只有一些16位寄存器的经验(在DOS中装配),这很容易。 E.g。
AX ~ |AL|AH|
但是EAX怎么样?这样的事情会合法吗?
EAX ~ |AL|AH|EAL|EAH|
我看到的每个地方都只是一个简单的
EAX ~ |AL|AH| EAX |
更不用说64位寄存器了:
RAX ~ |AL|AH| EAX | RAX |