间接寻址就是使用指针来寻址,举个例子,比如说就是我要访问VB100里面的数据,我不直接使用绝对地址,而使用指针,&VB100,这个就是VB100的指针,使用一条MOV指令先将指针&VB100放入到一个双字的存储区,比如说VD100,这样,也就是将VB100的地址(在内存中的实际地址)放到了VD100里面,如果要访问VB100的数据,就使用这样一种表示方式:*VD100,前面加个星号即可。比如使用一条MOV指令 ,MOV *VD100 VB102,就是将VB100的数据传送到VB102里面去,跟 MOV VB100 VB102是一个意思。使用指针的好处是在处理大批数据,特别是重复使用一个区域的数据,比如从一批数据里面找出一个最大值和它的编号,这样使用指针就很方便。这个就跟高级语言,C语言里面的间接寻址是一样的
这里解释一下:VB100它不是数据在内存中真正的地址,它只是地址的另一种表示方法,我们在使用它的时候也叫绝对寻址,*VB100才是数据在内存中的真正地址,它在内存中的表示方式是16#08000000、16#08000001 、16#08000002、。。。。。
打个比方,把这些数据的地址看成一栋栋楼房,VB100翻译过来就是:VB栋楼房第100间房,
而16#08000000就是这间房的门牌号,也就是VB100的真正地址
某一天你打开自己的信箱,看见有一封自己的信。
某一天你打开自己的信箱,看见有一张字条,写着:你的信投错了邮箱,现在你的信在你邻居那里,邻居留字。你只能根据这字条找你的信了。
后来很多和你同楼的邻居搬走了,走之前吩咐你帮忙照看邮箱邮件。你答应了。那么你要管理很多邮箱了。
幸好邮差知道你的难处。把邮件放到了对应的邮箱后,又放了字条在你的邮箱。字条写着201,204,404。那么你就知道我应该取201,204,404的邮箱的邮件了。
那么你就仅仅看着自己的邮箱就知道要去哪里找邮件,这就是间接寻址。你自己的邮箱就是指针,指针里面的值就是要找的目的。
你自己的邮箱等于201,mov &201 自己邮箱。
把自己邮箱所指的邮箱号的邮件送到真正主人手上,mov *自己邮箱 真正主人。
回复内容:
对:芳季 某一天你打开自己的信箱,看见有一封自己的信。某一天你打开自己的信箱,看见有一张字条,写着:你的信投错了邮箱,现在你的信在你邻居那里,邻居留字。你只能根据这字条找你的信了。后来很多和你同楼的邻居搬走了,走之前吩咐你帮忙照看邮箱邮件。你答应了。那么你要管理很多邮箱了。幸好邮差知道你的难处。把邮件放到了对应的邮箱后,又放了字条在你的邮箱。字条写着201,204,404。那么你就知道我应该取201,204,404的邮箱的邮件了。那么你就仅仅看着自己的邮箱就知道要去哪里找邮件,这就是间接寻址。你自己的邮箱就是指针,指针里面的值就是要找的目的。你自己的邮箱等于201,mov &201 自己邮箱。把自己邮箱所指的邮箱号的邮件送到真正主人手上,mov *自己邮箱 真正主人。 内容的回复:去看C语言,你会明白的,指针C语言灵魂