早教吧 育儿知识 作业答案 考试题库 百科 知识分享

微机原理中,AX,(AX),[AX]三者区别比如:AX=1010H(AX)=1010H[AX]=1010H我的理解是:AX=1010H中1010H是数据(AX)=1010H中1010H是寄存器地址,储存着AX单元的数据[AX]=1010H中1010H是内存地址,储存着AX单元的数

题目详情
微机原理中,AX,(AX),[AX]三者区别
比如:AX=1010H
(AX)=1010H
[AX]=1010H
我的理解是:AX=1010H中1010H是数据
(AX)=1010H中1010H是寄存器 地址,储存着AX单元的数据
[AX]=1010H中1010H是内存 地址,储存着AX单元的数据
如果我的的理解没错的话,
PA=16*(AX)+ (DS)
这个式子中(AX),(DS)都表示的是数据内容,怎么可能相加后的结果是地址?
希望大神指教
▼优质解答
答案和解析

AX是指令中可以用的寄存器名表达式.

( )是教材中用来表示取括号中地址内的数据的方式.在指令中()表示表达式运算优先次序.在指令中,()内不会含有寄存器名,因为寄存器名不可以在表达式中参与运算.

[  ] 是指令中可以用的间接内存寻址表示方式.


AX=1010H

(AX)=1010H

这两行表示的是同一个意思.下面一行的写法严谨一些,上面写得随意.


[AX] 这个表示是错误的.

因为AX不可以用作间址寄存器.

[BX]是正确的.BX也可以换成 BP,SI, DI 这3个中的任意一个.


[BX] =1010H这个式子也是一种不严谨的随意写法,严谨一些应当写成([BX])=1010H.

表示以BX寄存器中存放的数据作为有效地址,到内存数据段中取一个字,这个字的值为1010H.

也就是说,假设BX中存放的数是xxxx,PA=16 *  (DS) + xxxx,在这个地址中存放的数是1010H.