寄存器如何处理?

时间:2011-09-05 10:16:16

标签: assembly masm cpu-registers masm32

根据书中的说明,寄存器是CPU中存储空间小的地方(例如16位CPU上的16位)。那么CPU寄存器如何具有地址?如果它不在内存中而是在CPU上,我们如何能够为它添加位移?

示例:

mov ax, [bx+1000h]

2 个答案:

答案 0 :(得分:6)

x86寄存器只能通过名称来解决。表达式bx+1000h仅表示“寄存器bx中的值加上1000h”,结果被解释为内存中的地址(通过[...]表示法),而不是某些寄存器空间。

表达式的整体解释是,“在地址bx指向的地址后,加载到16位的1000h字节。”

答案 1 :(得分:0)

通过将bx内容解释为地址,然后用偏移量替换它来完成。

因此,如果bx1000h,那么ax的内容将存储在内存位置2000h