不同点:AND指令将结果回送给目的操作数,TEST指令不将结果回送给目的操作数
6、 XOR AL,AL INC AL NEG AL INC AL
MOV BL,7FH ADC AL,BL
上述程序段运行后,AL=______80H_______H,CF=_______0______H。
7、 BUFF DB ‘ABD $ QC% $ A??CYZ’ CONT EQU $ - BUFF ? CLD
LEA DI,BUFF MOV CX,CONT MOV AL,’$’ XOR DX,DX
NEXT:REPNZ SCASB CMP CX,0 JZ K1 INC DX JMP NEXT K1: ?
上述程序段运行后,DX中的值表示的意义是什么?
该程序运行后,DX 中的值表示 BUFF 字符串含有字符'$'的个数。
8、执行下列程序段后,回答问题。 ORG 1221H NUM DW 12H ?
MOV AX,NUM
MOV BX,OFFSET NUM
MOV CL,BYTE PTR NUM+1 MOV CH,TYPE NUM HLT
请问:(AX)=_______0012H______H,(BX)=_______1221H______H,(CX)=_______0200H______H。
9、某程序段欲用单个字符显示的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
10、现有一子程序如下: SUB1 PROC TEST BL,80H JE PLUS
TEST AL,80H JNE EXITO JMP XCHANGE
PLUS: TEST BL,80H JE EXITO XCHANGE:XCHG AL,BL EXITO: RET SUB1 ENDP 试回答:
该子程序的功能是什么?
11、用两种办法,分别只用一条指令实现将DA1数据区中数据个数送入CX。 DA1 DB 20H DUP(?) DA2 DW 10H,45H,7856H 12、数据定义如下
X1 DB 10H,100,-1 X2 DW 10H,100,-1 X3 DD ?
COUNT EQU X3-X1
变量COUNT的值是_____H。其表示的意义是_____。
13、设DS=2000H,BX=1256H,变量TABLE的偏移地址为20A1H,(232F7H)=3280H.下列指令分别执行后,IP的值各是多少?
(1)JMP?BX ;IP=_______1256H_______H (2)JMP?TABLE[BX] ;IP=_______3208H_______H
14、假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。
(1)SHR DX,1 ;DX=________005CH_______H (2)RCR DL,1 ;DX=________00DCH_______H (3)RCL DX,CL ;DX=________05CCH_______H
15、说明指令SUB AX,BX和CMP AX,BX操作的相同点和不同点。
答案:相同点:SUB 和 CMP 都计算 AX-BX,并根据计算结果影响标志位; 不同点:SUB 指令把计算结果存放在目的操作数中,CMP 指令不保存计算结果。 16、 XOR AL,AL MOV AH,AL ADD AH,9 JZ NEXT XCHG AH,AL JMP K1
NEXT:MOV AH,0FFH K1:??
上述程序段运行后,AH=______0_______H,AL=_________9_______H。 17、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 INC DI LOOP LOP
上述程序段执行后,BUF2开始的6个字节存储单元的内容是什么? 18、DA3?EQU?WORD?PTR?DA4 DA4?DB?0ABH,89H ┇
SHR?DA3,1 MOV?DX,DA3 SHL?DA4,1 MOV?CX,DA4
上述程序段运行后,CX=__________H,DX=___________H。
19、下面程序段的功能是把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 (1)______
LOP1:MOV AL,[SI] (2)_______
MOV [DI],AL INC SI INC DI LOOP LOP1
20、阅读程序段:
BLOCK DB 20H,1FH,08H,81H,0FFH,? RESULT DB ? ?
START: LEA SI,BLOCK MOV CX,[SI] INC SI
MOV AL,[SI]
LOP1: CMP AL,[SI+1] JNG NEXT
MOV AL,[SI+1] NEXT: INC SI LOOP LOP1
MOV RESULT,AL HLT
请问该程序完成的功能是什么?该程序循环的次数又是多少? 1、从BLOCK数组中找出最小数,并送入RESULT单元。 2、1FH/31。
相关推荐: