1. 设 (DS)=1000H, (ES)=2000H, (SS)=3000H, (BX)=100H, (SI)=200H, (DI)=300H, (BP)=400H。请指出下列各条指令中目的操作数是什么寻址方式?并说明物理地址是多少?(实方式) (1) SUB [BP], BX (2) MOV [BX+DI], SI (3) ADD ES:[SI], DI (4) MOV 10[BX], DI (5) MOV DS:[100H], BX
2. 判断下列指令是否有错误。对于错误指令,说明错误原因。 (1) MOV DS, DX (2) MOV [CX], BX (3) PUSH CL
(4) SBB 10[SI][DI], AX (5) MOV BYTE PTR [BX] , ‘0’ (6) MOV CS, AX (7) MUL 10
(8) LEA POIN, BUFW (9) ADD DI, CH
3. 数据段定义如下:
DATA SEGMENT A DW 1234H, D+7 B DB 2 DUP (‘4’,5) C EQU $ - B D DB 6, ‘123’ E DD B DATA ENDS
以字节为单位,画该数据段存储示意图,同时在图的左边标明各变量所在的位置。(设DATA段的段址为2000H, A的偏移地址为 0000H). C的值是多少?
A ???????????
4. 依次执行如下程序段中的各指令,指出每一条指令执行后,AX中的十六进制内容是什么? MOV AX, 1234H (AX) = SAL AX, 1 (AX) = AND AL, 0FH (AX) = ADD AX, 1000H (AX) = ROR AX, 1 (AX) = XCHG AH, AL (AX) = INC AH (AX) = TEST AX, 8000H (AX) =
5. 执行下列指令后,各寄存器的内容是什么? NUMW DW 3, -5, 7, -9
(NUMW 所在段的段址已在DS中,NUMW的偏移地址为 0000H) LEA BX, NUMW MOV AX, [BX] MOV CX, 3[BX] MOV DX, NUMW + 4
(AX) = (BX) = (CX) = (DX) =
6. 执行如下程序段: MOV AL, 2 MOV CL, -2 MUL CL
执行完后 (AX) =
若将最后一个指令换成 IMUL CL, 则 (AX) =
7. 设 (AX)= 3456H, (BX) = 6321H, 执行指令 ADD AX, BX 后,
CF= OF= ZF = SF =
8. 指出如下程序段的功能 OR AX, AX JNS L1 NEG AX
L1:
9. 如下程序段的功能是什么?设 STR1的偏移地址为 0000H,
程序段执行结束时, (SI) 是多少? LEA SI, STR1 LEA DI, STR2 MOV CX, 20
CLD REP MOVSB
10. 指出如下程序段的功能。
MOV AH, 1 INT 21H CMP AL, ‘A’ JB LN CMP AL, ‘Z’ JA LN MOV DL, ‘Y’ JMP DISPLAY
LN: MOV DL, ‘N’ DISPLAY : MOV AH, 2
INT 21H
11. 编写一个名为 MY_DATA的数据段,依次定义如下变量: