汇编语言程序设计模拟题 下载本文

JZ BRCH3 :

上述程序运行后,试回答:

(1)当(AL)= 时,程序转向BRCH1 (2)当(AL)= 时,程序转向BRCH2 (3)当(AL)= 时,程序转向BRCH3 39、MOV AX,0BC5FH MOV BX,0C0FBH XOR AX,BX XOR AX,BX

上述程序段运行后,AX=___________,CF=_____________ 40、HEX DB ‘0123456789ABCDEF’ HCOD DB ?,? ┇

MOV BX,OFFSET HEX MOV AL,1AH MOV AH,AL AND AL,0FH XLAT HEX

MOV HCOD[1],AL MOV CL,12 SHR AX,CL

XLAT HEX MOV HCOD,AL

上述程序段运行后,HCOD和HCOD+1两字节单元内容是什么? 41、DATA SEGMENT ORG 3040H

YY1 DB 30H,40H YY2 DW 3040H DATA ENDS ┇

MOV BX,OFFSET YY1 MOV AX,[BX]

MOV CL,BYTE PTR YY2+1 MOV CH,TYPE YY2

上述程序段运行后,AX=___________,BX=____________, CX=___________ 42、A DB 0F8H

B DB 3 DUP(?)

LEA DI,B MOV CX,3

MOV AL,A LOP:SAR AL,1 MOV [DI],AL INC DI LOOP LOP

29

上述程序段运行后,从B单元开始依次存放的数据的多少?

43、已知BUF开始的数据区中存放有10个大、小写字母,下面程序段完成的功能是什么? MOV CX,10 LEA BX,BUF

K2:MOV AL,[BX] CMP AL,?Z? JBE K1

SUB AL,20H MOV [BX],AL K1:INC BX LOOP K2 ┇

44、MOV CL,8 MOV AL,0 NOT AL

ROL AL,CL CMP AL,0FFH JZ NEXT MOV AL,0 NEXT:…… 上述程序段运行后,(AL)=___________,CF=___________ 45、已知 AX=1234H MOV BX,AX NEG BX ADD AX,BX

执行上述三条指令后,AX= BX= 。 46、程序段完成什么功能? MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL

47、BUF1 DB 41H,42H,43H,44H,45H,46H BUF2 DB 6 DUP(?) ?

MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV CX,6 LOP:MOV AL,[SI] SUB AL,7 AND AL,0FH MOV [DI],AL INC SI

30

INC DI LOOP LOP

试回答(1)上述程序段执行后,BUF2开始的6个字节存储单元的内容是什么? 48、DATA SEGMENT

S9 DB 0,1,2,3,4,5,6,7,8,9 DATA ENDS

??

LEA SI,S9 LEA,DI,S9+1 MOV CX,5

LOP: MOV AL,[SI]

XCHG AL,[DI] MOV [SI],AL ADD SI,2 ADD DI,2 LOOP LOP

上述程序段运行后,S9开始的10个字节存储单元内容是什么? 五、程序填空题

1、下面程序段的功能是把DA1数据区的数0-9转换为对应的ASCII码,并存入ASCI数据区。试完善本程序段。

DA1 DB 00H,01H,02H,03H,04H,05H,06H,07H,08H,09H ASCI DB 10 DUP(?) CUNT = ASCI-DA1 ??

LEA SI,DA1 LEA DI,ASCI

LOP1:MOV AL,[SI]

MOV [DI],AL INC SI INC DI

LOOP LOP1

2、设A,B是长度为10的字节数组,用串操作指令编写程序实现A,B两数组内容的相互交换。试完善本程序。 DATA SEGMENT

A DB 1,2,3,4,5,6,7,8,9,0AH ORG 0010H

B DB 0AH,9,8,7,6,5,4,3,2,1 DATA ENDS

LEA SI,A LEA DI,B MOV CX,10

31

LOP:LODSB

XCHG AL,[DI] DEC DI STOSB

INC DI

LOOP LOP

3、某程序段欲用单个字符显示的2号DOS功能调用去显示一字符串“STRING”。试在下面空白处填上适当的指令 (每一空白处仅填一条指令)。 STR1 DB ?STRING? ┇

MOV CX,6

MOV BX,OFFSET STR1 LOP:MOV DL,[BX] MOV AH,02H INT 21H A.______ B.______ JNE LOP

4、程序段的功能是依次产生0~9的10个ASCII码,并存入BUF1数据区,请在空白处填上指令(每一空白处仅填一条指令)。 BUF1 DB 10 DUP(?) ┇

LEA BX, BUF1 MOV CX,10 XOR AL,AL

LOP: MOV AH,AL ADD AL,30H A.______ INC BX B.______ INC AL LOOP LOP

5、下面程序段是判断寄存器AH和AL中第3位是相同,如果相同,AH置0,否则AH置全1。试把空白处填上适当指令。

_____________________ AND AH,08H

_____________________ MOV AH,OFFH JMP NEXT

ZERO:MOV AH,0 NEXT:??

6、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大

32