8086汇编语言习题解答

“CS、DS、ES” 、?CS、SS、ES”等进行替代。

2.4、8086/8088系列微机在存储器中寻找存储单元时,逻辑地址由哪两部分组成?

答:在8086/8088系列微机在存储器中寻找存储单元时,逻辑地址由段基值和偏移量两部分组成,它们都是16位无符号二进制数。

2.5、设IBM PC微机内存某一单元的物理地址是12345H,试完成下列不同的逻辑地址表示:

①、1234H:0005_H ;EA=段基值+DISP=12340H+0005H=12345H ②、1200H:0345H

2.6、假设某用户程序装入内存后,(SS)=0950H,(SP)=64H,试问该用户程序的堆栈底部(字单元)物理地址是是多少?

2.7、设堆栈段寄存器(SS)=3E4BH,程序中设置堆栈长度为200个字节。试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。

2.8、设某用户程序(SP)=30H,(AX)=1234H,(DS)=5678H。如现有两条指令:

PUSH PUSH

AX DS

;EA=段基值+DISP=12000H+0345H=12345H

试问两条指令执行后,图2.18中各单元的数据是多少? (SP)=?

答: (SP)=30H-4H=2CH

2.9、在IBM-PC微机上,分别进行下列8位二进制数的运算后,标志寄

存器中OF、ZF、SF、CF的值各是多少?

①、10101011+01010101 ③、01010101-00111110 2.10、设(SP)=50H PUSH AX PUSH BX PUSH CX

执行上述三条指令后,(SP)= 44H。 2.11、设(SP)=6EH POPF POP

AX

②、11011010+11101101 ④、10110011-01100010

执行上述两条指令后,(SP)= 72H 。

第三章

3.1、试分别说明下列各指令中源操作数和目的操作数使用的寻址方式: ①、AND ②、AND ③、MOV ④、CMP ⑤、MOV ⑥、SUB ⑦、ADC ⑧、OR ⑨、PUSH

AX,0FFH

;立即数寻址 ;直接寻址 ;寄存器寻址 ;寄存器间接寻址

BL,[0FFH] DS,AX [SI],CX

DS:[0FFH],CL ;带前缀的直接寻址 [BP][SI],AH ;基址变址寻址 AX,0ABH[BX] ;基址寻址 AX,-35[BX][DI] DS

;基址变址寻址

;寄存器寻址

⑩、CMC

;立即数寻址

3.2、试分别指出下列各指令语句的语法是否有错,若有错,指明是什么错误。

①、MOV ②、TEST ③、ADD ④、AND ⑤、CMP ⑥、SHR ⑦、NOT ⑧、LEA ⑨、INC ⑩、PUSH

[BX][BP],AX [BP],BL

;错,BX与BP必须二选一 ;正确

;错,源目操作数不能同时为存储器 ;错,同一寄存器高、低字节不能与 ;正确 ;正确

;错,NOT指令只有一个操作数 ;正确 ;正确 ;正确

[SI],DA_BYTE DH,DL

CL,1234H [BX][DI],3 CX,AX

DS,35[SI] CX,1 45[DI]

3.3、下面两条指令执行后,标志寄存器中CF,AF,ZF,SF和OF分别是什么状态?

MOV DL,,86 ADD DL,0AAH 答:以上两条指令执行后:

CF= AF= ZF= SF= OF=

3.4、在8086/8088CPU中可用于作地址指针的寄存器有哪些? 答:

3.5、已知(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H (CX)=5678H,(BP )=0024H,(SI)=0012H,(DI)=0032H,单元(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH 下各指标令或程序段分别执行后的结果如何?

①、MOV ②、MOV ③、LEA MOV ④、LDS

MOV ⑤、XCHG XCHG

3.6、已知(SS)=0915H,(DS)=0930H,(SI)=0A0H, (DI)=1C0H,(BX)80H,(BP)=470H.现有一指令 ?MOV

AX,OPRD?,若源操作数的物理地址为095C0H,试用4种不同寻

CL,20H[DI][SI] [BP][DI],CX BX,20H[BX][SI] AX,2[BX] SI,[BX][DI] [SI],BX CX,32H[BX] AX,[SI]

址方式该写此指令(要求上述每个已知条件至少要使用一次)。

3.7、已知(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464H

LEA

SI, [SI]

联系客服:779662525#qq.com(#替换为@)