3.MOV AL,BL NOT AL XOR AL,BL OR BL,AL 程序段执行后,AL=______,BL=______。 4.STC MOV CX,0403H MOV AX,0A433H SAR AX,CL XCHG CH,CL SHL AX,CL 程序段执行后,AX=______,CF=______。 5.BYTE1 DB XX ;任意数 BYATE2 EQU OFEH ┇ MOV DL,BYTE1 OR DL,BYTE2 程序段执行后,DL=______或______。 6. DA_B DB 0CH,9,8,OFH,0EH,0AH,2,3,7,4 ┇ XOR AX,AX XOR CL,CL XOR BX,BX LOP: TEST DA_B[BX],01H JE NEXT ADD AL,DA_B[BX] INC AH NEXT:INC BX INC CL CMP CL,10 JNE LOP 上述程序段运行结束后,AH=______,AL=______。如果把”JE NEXT“指令改为“NE NEXT“指令,那么AH=______,AL=______。 7. VAR_B DB 10 DUP(3,5,7,9) ┇ LEA BX,VAR_B MOV CX,10 XOR AX,AX LOP: ADD AL,[BX] CMP AL,10 JB NEXT INC AH SUB AL,10 NEXT:INC BX LOOP LOP 上述程序段运行结束后,AH=______,AL=______。 五、程序填空题(本大题共2小题,每小题6分,共12分) 1.某程序段欲用单个字符显示的2号DOS功能调用去显示一字符串“STRING”。试在下面空白处填上适当的指令 (每一空白处仅填一条指令)。 STR1 DB ‘STRING’,‘$’ ┇ MOV BX,OFFSET STR1 LOP:MOV DL,[BX] MOV AH,02H INT 21H ①______ ②______ JNE LOP 2.程序段的功能是依次产生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 ①______ INC BX ②______ INC AL LOOP LOP
|