DATA ENDS
请回答:(1)画出该数据段在内存中的分配示意图。 (2)变量A、B、C、E的偏移地址各是多少? (3)变量D的值是多少? 14.设数据段定义如下: DATA SEGMENT BUF1 DW 123H BUF2 DB ?SIMPLE? BUF3 DW $+4 BUF4 EQU $—BUF1 DATA ENDS
请回答:(1)画出该数据段在内存中的分配示意图。 (2)BUF1、BUF2、BUF3的偏移地址各是多少? (3)BUF4的值是多少?
(4)“MOV AL,BUF2+5”执行后,AL= 。 15.设数据段定义如下: DATA SEGMENT ORG=4
A EQU 100 B DB ?ABC?,2 C DW 101B D EQU B+4 DATA ENDS
请回答:(1)画出该数据段在内存中的分配示意图。 (2)B、C的偏移地址各是多少?
(3)“MOV AX,D”执行后,AX= 。 五.判断改错题
1.设数据段定义如下,判断各语句是否正确,如有错误则改正。 DATA SEGMENT A DB 123H B DW 23,45678H C DW ?ABCD?
D DB 100 DUP(?ABC?) E DB ($—D)/3 DATA END 2.设数据段定义如下: DATA SEGMENT BUF1 DB 2,3 BUF2 DW 3 BUF3 DD 5 BUF4 EQU $—BUF1 BUF5 DB ?ABCD? BUF6 DW BUF5 DATA ENDS
请判断下列指令是否正确,如果有错请改正。 (1) MOV AX,BUF1 (2) MOV AL,BUF5 (3) MOV AX,BUF4 (4) LEA BL,BUF2 (5) MOV AX,BUF3
(6) MOV [BX],TYPE BUF3 (7) MOV [BX],WORD PTR BUF3 (8) MOV BUF5,AL (9) MOV BUF6,BUF2 (10)MOV BX,BUF6
3.判断下列伪指令是否正确,如果有错请改正。 (1)DATA SEG ┇ ENDS
(2)CODE SEGMENT ┇ CODE END (3)MA SEGMENT ┇ ENDM
(4)STACK SEGMENT ?STACK? (5) A SEGMENT B DW 1 C DB 123H A ENDS
(6)MYNAME SEGMENT PARA ┇
MYNAME ENDS 六.程序分析题
1.分析下列程序,说明程序的功能。 DATA SEGMENT
A DB 18H,34H,05H,06H,09H DB 0AH,0CH,11H,12H,14H B DB 3,4 C DB 2 DUP(0) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX,A MOV CX,2
MOV SI,OFFSET B
LEA DI,C L: MOV AL,[SI] XLAT
MOV [DI],AL INC SI INC DI LOOP L MOV AH,4CH INT 21H CODE ENDS END START
2.分析下列程序,说明程序的功能。 DATA SEGMENT
TAB DB 30H,31H,32H,33H,34H,35H DB 36H,37H,38H,39H STR DB 3,2,7,6,8 COUNT EQU $—STR BUF DB 10 DUP(0) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX,TAB LEA DI, BUF MOV CX,COUNT LEA SI, STR L: MOV AL,[SI] XLAT
MOV [DI],AL INC SI INC DI LOOP L MOV AH,4CH INT 21H CODE ENDS END START
3.分析下列程序,说明程序的功能。 DATA SEGMENT
A DB 12,34,56H,0 B DB 53H,62,31H,0 C DB 4 DUP(0) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,A LEA DI,B LEA BX,C MOV CX,4 CLC
L: MOV AL,[SI] ADC AL,[DI] MOV [BX],AL INC SI INC DI INC BX LOOP L MOV AH,4CH INT 21H CODE ENDS END START
4.分析下列程序,说明程序的功能。 DATA SEGMENT A DW ? B DW ? C DW ? D DW ?
E DW 2 DUP(0) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AX,A MOV DX,0 ADD AX,B ADC DX,0 ADD AX,C ADC DX,0 MOV CX,D DIV CX MOV E,AX MOV E+2,DX MOV AH,4CH INT 21H CODE ENDS
END START
5.分析下列程序,说明程序的功能。 DATA SEGMENT A DB 36H
B DB 0DH,0AH,?NUM=? C DB 4 DUP(0) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL, A LEA BX, C MOV CL, 4 SHR AL,CL AND AL,0FH CMP AL,9 JNA N ADD AL,7 N: ADD AL,30H MOV [BX],AL INC BX MOV AL, A AND AL,0FH CMP AL,9 JNA M ADD AL,7
M: ADD AL,30H MOV [BX],AL INC BX
MOV BYTE PTR[BX],?H? INC BX
MOV BYTE PTR[BX],?$? LEA DX,B MOV AH, 9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 6.分析下列程序 DATA SGEMENT
A DW 123H,456H,789H B DB 12H,34H,56H,78H