8086汇编语言习题解答 下载本文

.

MOV MOV LDS ADD

AX, [SI] [SI+22H], 1200H SI, [SI+20H] AX, [SI]

上述程序执行后:(DS)= ,(SI)= (AX)=

3.8、已知(AX)=0A5C6H,(CX)=0F03H,CF=1 RCL AX, CL AND AH, CH

RCR

AX, CL

上述三条指令执行后:(AX)=

3.9、已知(AX)=0FC77H,(CX)=504H,CF=1 SAR

AX, CL

XCHG CH, CL SHL

AX, CL

上述三条指令执行后:(AX)=

3.10、已知(AX)=1234H MOV BX, AX NEG BX

ADD

AX, BX

上述三条指令执行后:(AX)= .

,CF= (BX)= 。 。

,CF= 。.

3.11、已知(AX)=4321H

INC NEG DEC NEG

AX AX AX AX

上述几条指令执行后:(AX)= 3.12、已知(AX)=0A33AH,(DX)=0F0F0H

AND XOR NEG NOT

AH,DL AL,DH AH AL

上述几条指令执行后:(AX)=

3.13、已知(AX)=0FF60H, CF=1

MOV XOR SBB

DX,96 DH,0FFH AX,DX

上述几条指令执行后:(AX)= ,CF= 。 3.14、试按下列要求分别编制程序段: ①、把标志寄存器中符号位SF置’1’ ②、寄存器AL中高低4 位相互换

③、由寄存器AX ,BX组成一个32位带符号数(AX 中存高16位,试求这个数的负数)

.

.

④、现有三个字节存储单元A、B、C。在不使用ADD和ADC指令的情况下,实现(A) + (B)送C。

⑤、用一条指令把CX中的整数转变成奇数(若原来是奇数,则CX看数据不变;若原来是偶数,则(CX )+1形成奇数。

⑥、根据AX中有0的位对BX中对应位变反,其余各位保持不变 3.15、试给出下列各指令的机器目标代码: ①、MOV ②、MOV ③、SAL ④、ADD

BL,12H[SI] 12H[SI],BL DX,1

0ABH[BP][DI],1234H

第四章

4.1、已知下列程序段 DATA SEGMENT

DB1 DB 12H,34H,0,56H DW1 DW 78H,90H,0AB46H,1234H ADR1 DW DB1 ADR2 DW DW1

BUF DB 5 DUP(0) DATA ENDS COSEG SEGMENT

ASSUME CS:COSEG,DS:DATA STACK1 SEGMENT PARA STACK DW 20H DUP(0)

.

.

STACK1 ENDS

ORG 30H START:

XOR CX,CX MOV CL,3 ADD ADR1,CX SUB ADR2,CX MOV BX,ADR2 MOV DI,ADR2 MOV AL,DB1[BX] MOV BUF[DI],AL MOV AX,DW1[BX][SI] MOV WORD PTR BUF,AX

COSEG ENDS

END START

上述程序段运行结束后,BUF中各字节单元的内容是什么? 答:AX:AC27,BX:0704,CX:0003,DX:0000 SI:0000,DI:0704,BP:0000,SP:0040 DS:139B,ES:139B,SS:13B3,CS:13AB IP:0053

DS:0030:CC 11 14 00 18 9B 13

.