ORG 0
ARRAY LABEL BYTE
DA1 DW 2,9,14,3,315H,-6
DA2 DB 7,‘ABCDEDFG’
LEN = $-DA2
ORG 100H
DA3 DW DA4
DA4 DB 4 DUP(2 DUP(1,2,3),4)
…………
MOV AL,ARRAY+2 (AL)=( )H
ADD AL,DA2+1 (AL)=( )H
MOV AX,DA2-DA1 (AX)=( )H
MOV BL,LEN (BL)=( )H
MOV AX, DA3 (AX)=( )H
MOV BX, TYPE DA4 (BX)=( )H
MOV BX, OFFSET DA4 (BX)=( )H
MOV CX, SIZE DA4 (CX)=( )H
MOV DX, LENGTH DA4 (DX)=( )H
MOV BX, WORD PTR DA4 (BX)=( )H
MOV BL, LEN AND 0FH (BL)=( )H
MOV BL, LEN GT 5 (BL)=( )H
MOV AX, LEN MOD 5 (AX)=( )H
DATA SEGMENT
ORG 0
ARRAY LABEL BYTE
DA1 DW 2,9,14,3,315H,-6
DA2 DB 7,'ABCDEDFG'
LEN = $-DA2
ORG 100H
DA3 DW DA4
DA4 DB 4 DUP(2 DUP(1,2,3),4);1 2 3 1 2 3 4 1 2 3 1 2 3 4 1 2 3 1 2 3 4 1 2 3 1 2 3 4
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AL,ARRAY+2;MOV AL,[0002]
ADD AL,DA2+1;MOV AL,[000D]
MOV AX,DA2-DA1;MOV AX,000C;DA1的长度
MOV BL,LEN;MOV BL,09;LEN是DB的地址长度,是当前地址和DB首地址的地址差
MOV AX,DA3;MOV AX,[0100];执行ORG 100H后跳转到[0100H]
MOV BX,TYPE DA4;MOV BX,0001
MOV BX,OFFSET DA4;MOV BX,0102; 0100 0101前2个地址被DA3填充,DA3将DA4的地址作为一个字存入内存
MOV CX,SIZE DA4;MOV CX,0004
MOV DX,LENGTH DA4;MOV DX,0004
MOV BX,WORD PTR DA4;MOV BX,[0102]
MOV BL,LEN AND 0FH;MOV BL,09;00001001与00001111做与运算
MOV BL,LEN GT 5;MOV BL,FF,GT=Great Than?若改为MOV BL,LEN GT 10,则结果是MOV BL,00
MOV AX,LEN MOD 5;MOV AX,0004;取模运算
MOV AH,4CH
INT 21H
CODE ENDS
END START