Ⅰ 计算物理地址
不知道这是不是你想要的。
计算比较急,你最好验证一下代入数相加的结果有没有错
ADD AX,[1000H] ;直接寻址方式EA=DS*10H+1000H=2000H*10H+1000H=21000H
MOV AL,[BX+SI] ;基址加变址寻址方式EA=DS*10H+BX+SI=2000H*10H+0100H+00A0H=201A0H
INC CX ;寄存器寻址方式 CX
MOV AX,[BX+10] ;寄存器相对寻址方式EA=DS*10H+BX+10=2000H*10H+0100H+10H=20110H
MOV AX,[BX] ;寄存器间接寻址方式EA=DS*10H+BX=2000H*10H+0100H=20100H
MOV AX,0ABH ;立即寻址方式EA=DS*10H+0ABH=2000H*10H+0ABH=200ABH
MOV AX,[BX+SI] ;基址加变址寻址方式EA=DS*10H+BX+SI=2000H*10H+0100H+00A0H=201A0H
MOV AX,[100H] ;直接寻址方式 EA=100H
MOV AX,[BP] ;寄存器间接寻址方式EA=DS*10H+BP=2000H*10H+0010H=20010H
MOV AX,VAL[BX] ;寄存器相对寻址方式EA=DS*10H+VAL+BX=2000H*10H+0050H+0100H=20150H
Ⅱ 汇编语言 寄存器间接寻址 MOV AX,[BX];物理地址=DS× 16+BX 其中的DSx16是
微机原理课程没正内容,你看看寻址方面的野尺,8086处理器中,DS是段地址寄存器,段地址实际上是段起始地址的高16位,所以要X16,不明白颂察高的话,好好看看书。
Ⅲ 寄存器间接寻址
物理地址=20000H+1000H=21000H
寄存器间接旁誉寻址,BX存放的是操作数的偏移地址。
上面计算出来的物理地址,就是操作数所野陵在的颂启戚具体地址。
上面的计算,是拿1000H当做地址,并没有拿1000H作为操作数。
Ⅳ 附加段BX寄存器间接寻址方式
MOV
AX,ES:[BX]
在寄存器银薯纯间接寻址的基础上,我们也可以指定段跨越前缀锋咐来取得其他段中的数据。(比如ES:
就是指定附加段)
举个例子,如果(ES)=2100H,(BX)=0100H,则计算出物理地址手贺值为21100H。
Ⅳ 寄存器寻址和寄存器间接寻址的区别
寄存器(直接)寻址:指令中指出暂存操作数的寄存器。寄存器的内容就是操作数。如:ax里放1,bx里放2,add
ax,bx结果为ax=3。
寄存器间接寻址,指令中指睁铅明存放操作数偏移地址的寄存器。即操作数放在内存空间的某个地方,这个地方的地址由段地址和寄存器所指出的偏移量进行计算得出。段地址按照一定的约定给出。若指令中指出的是bx,si或di寄存器(未定义悉粗好附加段)时,说明操作数在数据段中,先用ds的值与寄存器的内容合成物理地址;若指令中指出bp,说明操作数在堆栈段,选用ss的值与寄存器的内容合成物理地址;若定义了附加段,且指令中指出了di寄存器,那么选用es与di合成物理地址;若在指令中有超越段前缀,则选用指令中凳扒指出的段寄存器值与寄存器的内容合成物理地址。
如:mov
ax,[bx]
操作数[bx]为寄存器间接寻址方式。
若ds=4000h,bx=100h,存储单元(40100h)=3256h
物理地址=16*ds+bx=40000h+100h=40100h
执行后ax=3256h
简单地说,直接寻址,操作数在寄存器中;间接寻址,操作数在某存储单元中,该存储单元地址由段地址寄存器和偏移地址寄存器决定。
Ⅵ 七种寻址方式举例
七种寻址方式举例为:
1、立即寻址方式:
指令:MOV AX,1234H
则: AX = 1234H
2、寄存器寻址方式:
对于16位操作数,寄存器可以是差谈脊:AX、BX、CX、DX、SI、DI、侍并SP和BP等。
6、基址加变址寻址方式:
MOV AX,[BX][DI]
7、相对基址加变址寻址方式:
MOV AX,[BX+DI-2]
假设,(DS) = 5000H,(BX) = 1223H,DI = 54H,(51275)= 54H,(51276) = 76H
物理地址= 50000 + 1223 + 0054 + FFFE(-2 各位取反末位加一)= 51275H
执行该指令后 (AX) = 7654H
Ⅶ 微机原理寻地址方式和求物理地址。
mov es:[si], ax 中目的操作数为 寄存器间接寻址,其物理地址=es*16(即左移4位)+si=20000h+0200h=20200h 。
从已有条件看,ax 为源操作数,但其 未知。
Ⅷ 计算机组成原理相关问题二进制补码运算,寻址方式和物理地址表达式
(1-1) [16]补 =0001 0000B
[6]补 =0000 0110B (+
-------------------------------------
[16+6]补 =0001 0110B
16+6 =16H =22D
.
(1-2) [9]补 =0000 1001B
[-7]补 =1111 1001B (+
-------------------------------------
[9-7]补 =0000 0010B ,符号位进位1自然丢失
9-7 =02H =02D
.
(1-3) [8]补 =0000 1000B
[-18]补 =1110 1110B (+
-------------------------------------
[8-18]补 =1111 0110B
8-18 = -0AH = -10D
.
(1-4) [16]补 =0001 0000B
[-6]补 =1111 1010B (+
-------------------------------------
[16-6]补 =0000 1010B ,符号位进位1自然丢失
16-6 = 0AH =10D
.
.
(2)
MOV AL, [SI] 寄存器庆纯间接寻址, 物理地址 =(DS)x10H+(SI)
MOV AL, [2000H] 直接寻址, 物理地址 =(DS)x10H+2000H
ADD AL, disp[BX][SI] 基址变派绝址寻址, 物理地址 =(DS)x10H+(BX)+(SI)+disp
MOV AH, [BP][SI] 基址变址寻址, 物理地誉羡咐址 =(SS)x10H +(BP)+(SI)
MOV AX, ES:[BP] 寄存器间接寻址, 物理地址 =(ES)x10H +(BP)
Ⅸ 请指出下列指令源操作的寻址方式,并计算物理地址
mov [bx,],cx 寄存器间接寻址(或基址寻址) 物理地址为ds*16+bx
mov[2000H],BX 直接寻址 ds**16+2000h
mov[BP],BX,寄存器间接寻址(或基址寻址) 物理地址为ss*16+bp
mov[BP+200],BX,基址相对寻址 物理地址为ss*16+bp+200
mov[BX+SI+300],AX;基址加变址相对寻址 ds*16+bx+si+300
粗心大意,指令没有写逗号,学习态度不端正。另外,随便找本书看看就有,何必这点小事就问人?
Ⅹ 懂汇编的请进!!!指出源操作数的寻址方式和物理地址表达式
1、寄存器间接寻址
物理地春纳址=16d*(DS)+(BX)
2、直接寻址
物理地址=16d*(DS)+BUFFER
3、相对基址变址寻址
计算公式: 物理备闭地址=16d*(DS)+(BX)+(SI)+BUF
4、扒滚没立即寻址
8OH作为立即数在代码中