汇编语言mov ax, [bx]是什么意思,不太理解中括号在此处的用法

可以改写成movax,bx吗?可以解释下这个程序中"[]"的用法吗datasegmentbufdb'ABCDEF'numdw72,-5,100hpoindw0dataen... 可以改写成mov ax,bx吗?可以解释下这个程序中"[ ]"的用法吗
data segment
buf db 'ABCDEF'
num dw 72,-5,100h
poin dw 0
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov dx,[num] ; =mov dx,num 编译后均为 mov dx,[0006] (DX=0048)
mov si,offset num
lea si,num ;
mov ax,[si] ;
lea ax,[si] ;
lea di,4[si] ;
mov al,buf ;
mov ah,offset buf ;ah=00
mov poin,offset buf ;编译后为 mov word ptr [000C],0000
exit: mov ah,4ch
int 21h
code ends
end start
展开
 我来答
永星天恒
推荐于2017-12-15 · TA获得超过1203个赞
知道小有建树答主
回答量:439
采纳率:100%
帮助的人:220万
展开全部
mov ax, [bx];该指令中,bx中存储的值为一个偏移地址,该指令是将bx中存储的数据段偏移地址所对应的存储器中的值传送给ax。
mov ax,bx是把bx中存储的值传送给ax
不能互换
做而论道
高能答主

推荐于2018-11-13 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
这两条指令是相同的,都是直接寻址:
mov dx,num   按照变量名称,取来它的内容;
mov dx,[num]   按照变量地址,取来它的内容。

如果想要用间接寻址,则:
MOV BX, OFFSET NUM 取NUM的偏移地址;
MOV DX, [BX] 间接寻址,取来NUM的内容。

另外:
MOV BX, OFFSET NUM 取NUM的偏移地址;

LEA BX, NUM
又是完全相同的,都是传送NUM的偏移地址到BX。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
左延娜啦
2012-11-12
知道答主
回答量:4
采纳率:0%
帮助的人:3.1万
展开全部
mov ax, [bx] 指把寄存器ax中的内容传送到偏移地址为bx的内存中!
mov ax, bx 指把寄存器ax中的内容传送到bx中!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lincong1234
2011-10-20
知道答主
回答量:22
采纳率:0%
帮助的人:6.1万
展开全部
将bx中的数作为偏移地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式