鱼C论坛

 找回密码
 立即注册
查看: 1034|回复: 1

[已解决]关于【bx+idata】的问题

[复制链接]
发表于 2023-2-25 21:15:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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


举个例子
bx=1000h idata=200
此时【bx+200】是1200h
还是 1000h的位置向后移动200个字节的长度,变为了 1000h+00c8h=10c8h
最佳答案
2023-5-18 18:10:05
在汇编语言中,`bx` 和 `idata` 都是表示内存地址或者偏移量的寄存器或者常数。那么 `bx+idata` 的含义就是将 `bx` 中存储的地址加上 `idata` 存储的偏移量,得到一个新的地址。这个新的地址可能会对应一个内存单元的数据。

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

因此,在 `bx` 中存储的地址不会发生变更,只有读取该地址中的数据和写入数据时,才会重写该地址所在的内存空间的信息。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-18 18:10:05 | 显示全部楼层    本楼为最佳答案   
在汇编语言中,`bx` 和 `idata` 都是表示内存地址或者偏移量的寄存器或者常数。那么 `bx+idata` 的含义就是将 `bx` 中存储的地址加上 `idata` 存储的偏移量,得到一个新的地址。这个新的地址可能会对应一个内存单元的数据。

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

因此,在 `bx` 中存储的地址不会发生变更,只有读取该地址中的数据和写入数据时,才会重写该地址所在的内存空间的信息。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 00:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表