发布时间 : 星期三 文章扬大汇编网络习题更新完毕开始阅读770af8aeccbff121dc368333
LOOP LOP
上述程序段执行后,AX= BX= 3. CODE SEGMENT
ASSUME CS: CODE, DS: CODE, SS: CODE ORG 100H BEGIN: MOV AX, 01H MOV BX, 02H MOV DX, 03H MOV CX, 04H L20: INC AX ADD BX, AX SHR DX, 1 LOOPNE L20 RET CODE ENDS END BEGIN
当执行以上程序后,AX、BX、CX、DX中的值分别是多少?:
AX= ① BX= ② CX= ③
DX= ④
4.已定义了两个字变量A和B,补充下列程序段使之完成下列功能: A.若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中。 B.若两个数均为奇数,则将两数均加1后存回原变量。 C.若两个数均为偶数,则两个变量均不改变。 MOV AX,A TEST AX,______ JZ A_EVEN MOV BX,B TEST BX,0001H JZ B_EVEN _______________
MOV A,AX ____________ MOV B,BX B_EVEN: _____________ A_EVEN: MOV BX,B TEST BX,0001H JZ EXIT ____________ MOV A,AX MOV B,BX EXIT:
1.0007H 0FFFCH 2.001EH 402H 3.(AX)=03H,(BX)=07H,(CX)=02H,(DX)=0 4.INC AX 习题九
1、CALL DWORD PTR [BX]指令是段间调用还是段内调用。它一共向堆栈中压入几个字? 2、 在子程序设计时,为什么要保护和恢复现场?
3.设(AX)=1122H,(BX)=3344H,(SP)=5566H,执行如下程序段后,IP和SP的值分别是什么? SUN PROC
PUSH AX ADD BX,AX PUSH BX POP BX RET
SUN ENDP
4 设在DAT单元存放一个-9~+9的字节数据,在SQTAB数据区中存放了0~9的平方值,下面程序段利用直接查表法在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。请补充空格处,完善程序功能。 DSEG SEGMENT
DAT DB XXH ; XXH表示在-9~+9之间的任意字节数据 SQTAB DB 0,1,4,9,...81
INC BX JMP EXIT XCHG AX,BX
SQR DB ? DSEG ENDS
SSEG SEGMENT STACK STK DB 100 DUP (?) SSEG ENDS CSEG SEGMENT
ASSUME CS:CSEG,DS:DESG,SS:SSEG
START: MOV AX,DSEG MOV DS,AX MOV AL,DAT AND AL,_______ JNS NEXT ___________
NEXT: MOV BX,OFFSET SQRTAB ____________ MOV SQR,AL MOV AH,4CH INT 21H
DESG ENDS
END START
1.段间调用 2个 2.因为子程序会用到寄存器的存储单元,寄存器存储单元会被主程序调用,为了保护主程序的信息,所以要保护和恢复现场
3.IP=1122H SP=5566H
4. XLAT SQRTAB 习题十
1、下列指令中,在指令执行后有可能影响CS值的指令数目是( ) JMP MOV RET ADD INT JC LODS CALL MUL POP
A.3 B.4 C.5 D.6
2、下面关于宏指令的叙述不正确的是( )
A.宏指令可以简化源程序的书写;
B.宏指令可以简化目标程序;
C.宏指令和子程序的存储形式和执行方式均不相同; D.从形式上看,宏指令可以扩充机器的指令系统。 3、对于下列程序段: AGAIN:MOV ES:[DI],AL INC DI LOOP AGAIN
可用指令( )完成相同的功能。 A.REP MOVSB
B.REP STOSB
C.REP LODSB D.REP SCASB
4、在下列指令中,隐含使用AL寄存器的指令有( )条。
AAA MOVSB MUL BH CBW SCASB XLAT
A. 2 B.3 C.4 D.5
5、假设ES段中有一个字符中串?12FG3LM5C?,其名为ARRAY。当以下程序段执行后,CX的值是 。 CLD
LEA DI,ES:ARRAY MOV AL,?G? MOV CX,9 REPNE SCASB HLT
A. 0 B.5 C.4 D.9
6.已知DS和ES指向同一个段,且当前数据段从0000H到00FFH单元内容分别为01H,02H,03H,…,0FFH,00H。问下列程序段执行后,0000~0009H的内容是些什么值。
MOV SI,0000H MOV DI,0001H MOV CX,0080H CLD
REP MOVSB
1.B 2.B 3.B 4.D 5.B 6.01H 01H 01H 01H 01H 01H 01H 01H 01H