主题:请教符号地址
qiuyishuaige
[专家分:150] 发布于 2006-03-21 17:06:00
最近看到关于符号地址:
mov al,【2000h】
mov ax,buf
后面的意思好像说 这的mov ax,buf就表示一个地址为buf的连续两单元内容送到
ax中
我不理解,这里的buf是如何定义的,这里的buf怎么就能代表一个地址呢??
按其他语言里面这些符号(buf)要先定义了它表示什么才能用的嘛
麻烦各位大哥给解释下哈!! thank you !!
回复列表 (共7个回复)
沙发
C语言爱好者 [专家分:19410] 发布于 2006-03-21 22:43:00
buf通常是这样定义的:
buf dw ?
板凳
qiuyishuaige [专家分:150] 发布于 2006-03-22 18:33:00
[quote]buf通常是这样定义的:
buf dw ?
[/quote]
是不是 只要前面 写上 ×× dw ?
就表示定义了一个符号??
还有 : mov ax, offset buf 上说这里的offset是调出buf 表示的偏移地址, 调用符号地址一定要用offset吗??
C语言大哥请教。。。。
3 楼
carefreescan [专家分:90] 发布于 2006-03-26 16:18:00
buf dw ?
表示定义buf为一个字,占内存2字节,?代表未赋初值,一般都是00 00
MOV AX,OFFSET BUF
表示把BUF所在的偏移地址送到AX寄存器中,其中送的是低字节的地址
4 楼
苏小婷 [专家分:0] 发布于 2006-06-07 21:28:00
我觉得可以根据需要,而定义是可以的.比如:
BUF LABEL BYTE
ORG $+8
相当于(其功能一样)
BUF DB 8 DUP(?)
也是可以这样定义的
5 楼
名无 [专家分:80] 发布于 2006-06-07 23:07:00
正确
6 楼
wbsun111 [专家分:320] 发布于 2006-06-08 11:17:00
MOV AX,OFFSET BUF
老兄,好象只有立即数前面才加上OFFSET属性操作符
7 楼
名无 [专家分:80] 发布于 2006-06-09 01:25:00
错误
我来回复