根据书中的说明,寄存器是CPU中存储空间小的地方(例如16位CPU上的16位)。那么CPU寄存器如何具有地址?如果它不在内存中而是在CPU上,我们如何能够为它添加位移?
示例:
mov ax, [bx+1000h]
答案 0 :(得分:6)
x86寄存器只能通过名称来解决。表达式bx+1000h
仅表示“寄存器bx中的值加上1000h”,结果被解释为内存中的地址(通过[...]
表示法),而不是某些寄存器空间。
表达式的整体解释是,“在地址bx指向的地址后,加载到16位的1000h字节。”
答案 1 :(得分:0)
通过将bx
的内容解释为地址,然后用偏移量替换它来完成。
因此,如果bx
为1000h
,那么ax
的内容将存储在内存位置2000h