爱程序的小许 发表于 2023-2-25 21:15:48

关于【bx+idata】的问题

这个bx+idata其中的idata到底是什么意思,是bx的地址直接加上idta还是他的地址往后移idata然后转换为16进制再加上


举个例子
bx=1000h idata=200
此时【bx+200】是1200h
还是 1000h的位置向后移动200个字节的长度,变为了 1000h+00c8h=10c8h

sfqxx 发表于 2023-5-18 18:10:05

在汇编语言中,`bx` 和 `idata` 都是表示内存地址或者偏移量的寄存器或者常数。那么 `bx+idata` 的含义就是将 `bx` 中存储的地址加上 `idata` 存储的偏移量,得到一个新的地址。这个新的地址可能会对应一个内存单元的数据。

举例而言,假设 `bx` 的值为 `1000h`,`idata` 的值为 `200`。那么 `bx+idata` 的值就是 `1200h`。这个值表示的就是 `bx` 指向的内存位置向后偏移 `200` 个字节的位置对应的内存单元。

因此,在 `bx` 中存储的地址不会发生变更,只有读取该地址中的数据和写入数据时,才会重写该地址所在的内存空间的信息。
页: [1]
查看完整版本: 关于【bx+idata】的问题