标题:[休闲]如何区分程序中用到的是数据区的首地址,还是他的值
只看楼主
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
得分:0 

纠正10楼的一个错误,temp在内存中不存在存放单元,他只是一个名称,所以 temp的地址是1234h 这句话是错的
只能说是:
假设temp指向的地址是1234h,而偏移量为1234h开始存放的数据为5678h


我是金子,我要闪光的
2006-12-20 20:08
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
以下是引用lefttime在2006-12-20 20:08:27的发言:

纠正10楼的一个错误,temp在内存中不存在存放单元,他只是一个名称,所以 temp的地址是1234h 这句话是错的
只能说是:
假设temp指向的地址是1234h,而偏移量为1234h开始存放的数据为5678h

谢谢了,但是能注释下10楼的AX结果吗?谢谢


2006-12-20 21:48
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
得分:0 
mov ax,temp ;ax=?
mov ax,temp+2 ;ax=?
mov ax,offset temp ;ax=?
mov ax,offset temp+2 ;ax=?
lea ax,temp ;ax=?
lea ax,temp+2 ;ax=?

我是金子,我要闪光的
2006-12-21 15:24
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
得分:0 
如果只是
假设temp指向的地址是1234h,而偏移量为1234h开始存放的数据为5678h
那么:
mov ax,temp ;ax=7856h
mov ax,temp+2 ;ax=? 这个没给出,所以不知道
mov ax,offset temp ;ax=1234h
mov ax,offset temp+2 ;ax=1236h
lea ax,temp ;ax=1234h
lea ax,tem+2 ;ax=1236h

我是金子,我要闪光的
2006-12-21 15:27
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
以下是引用lefttime在2006-12-21 15:27:12的发言:
如果只是
假设temp指向的地址是1234h,而偏移量为1234h开始存放的数据为5678h
那么:
mov ax,temp ;ax=7856h
mov ax,temp+2 ;ax=? 这个没给出,所以不知道
mov ax,offset temp ;ax=1234h
mov ax,offset temp+2 ;ax=1236h
lea ax,temp ;ax=1234h
lea ax,tem+2 ;ax=1236h

谢谢!
mov ax,temp+2 ;ax不是等于5678h+2吗?


2006-12-21 16:04
lefttime
Rank: 1
等 级:新手上路
帖 子:162
专家分:0
注 册:2006-10-6
得分:0 
[QUOTE]mov ax,temp+2 ;ax不是等于5678h+2吗?[/QUOTE]
流汗中......
前面的东东白说了!

我是金子,我要闪光的
2006-12-21 16:13
jmasm
Rank: 1
等 级:新手上路
威 望:1
帖 子:368
专家分:0
注 册:2006-9-24
得分:0 

ax=[5678H+2]

2006-12-23 19:26
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
以下是引用jmasm在2006-12-23 19:26:21的发言:

ax=[5678H+2]


谢谢,已经明白了


2006-12-23 22:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-110260-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.209832 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved