1、东南大学微机原理与接口技术期终考试复习资料汇总情况 1.设置CX0,则LOOP指令将执行多少次?例如: mov cx, 0 delay: loop delay A.0 B.1 C.65535 D.65536 正确答案是: D 2.REPZ CMPSB这条指令结束的时候,如果比较的串相等,则_。 A.SF=1 B.ZF=1 C.ZF=0 D.CX不为0 正确答案是: B 3.在取指令CMP BX, 100H的源操作数的时候使用的逻辑地址最可能的是_。 A.DS:100H B.CS:IP C.ES:100H D.SS:IP 正确答案是: B 4. 在一个字符串中查找一个字符,使用REPNZ SCA
2、SB指令,执行完后,如果_表示没有找到。 A.ZF=1 B.CX=0 且ZF=0 C.CX=0,且ZF=1 D.OF=1 正确答案是: B 5. 指令RET 8是FAR过程的返回语句,执行之后,SP的值会_。 A.+8 B.-8 C.+10 D.+12 正确答案是: D 6. REPZ重复前缀重复的条件是_ A.CX0 且ZF=1 B.CX=0,或ZF=0 C.CX=0,且ZF=0 D.CX0 或ZF=1 正确答案是: A 12. 下面的指令,对CF会产生影响的指令是_。 A.INC AX B.DEC AX C.NEG AX D.NOT AX 正确答案是: C 15. JMP WORD PTR
3、SI这条指令的最大跳转围是_。 A.-32768字节至+32767字节 B.-128字节至+127字节 C.-32768字节至+32768字节 D.-512KB至+512KB 正确答案是: A 19. 16位汇编的寻址方式中,能作为基址变址寻址方式的寄存器是_。 A.SI, DI, SS, DS B.AX,BX,CX,DX C.BX, SP,SI,DI D.BX,BP,SI,DI 正确答案是: D 23. 如果(AL)83H,则执行CBW之后,AX的值为_。 A.0FF83H B.8883FH C.8003FH D.0083FH 正确答案是: A 25. 以下的公式中,_的结果是下一条指令的物
4、理地址。 A.CS*16+IP B.CS*16+IP+本条指令的字节数 C.SS*16+IP D.CS*10+IP 正确答案是: A 1. 在存中从Table开始的10个单元中连续存放0到9的平方值,任给一个0到9的数X,该数存放在存单元XX中,查表求X的平方值,并将结果存于存YY单元中。编写程序,并在DEBUG中进行调试和验证结果。(提示:考虑平方表的每一项需要什么数据类型才合适, XLAT指令是否合适?应该如何查表?).8086.MODEL SMALL.DATA ORG 10H TABLE BYTE 0,1,4,9,16,25,36,49,64,81 X BYTE 7 Y BYTE ?.C
5、ODESTART: MOV AX , DATA MOV DS , AX MOV BX , OFFSET TABLE MOV AL , X XLAT MOV Y , ALEND START2. 假设CX:BX中放了4位非压缩的BCD码表示的十进制数4386,请编写完整程序将这个数转成2进制数放到DI寄存器中,并用DEBUG调试和验证之.8086.MODEL SMALL.DATA.CODESTART: MOV AX , DATA MOV DS , AX MOV CX , 0403H MOV BX , 0806H MOV DI , 0 MOV AX , 0 ADD AL , BL ADD DI ,
6、AX MOV AL , 10 MUL BH ADD DI , AX MOV AX , 100 MUL CL ADD DI , AX MOV AX , 1000 XCHG CH , CL AND CX ,0FH MUL CX ADD DI , AXEND START3. 利用跳转表技术实现根据用户输入的星期几的数字代号在屏幕上显示星期几的英文名称的功能。(提示:1)键盘输入的是数字的ASCII码,需要转换成数字。2)建立一跳转表,表中存放打印每个星期的程序段的入口地址。3)考虑怎么使程序代码量最小。).8086.MODEL SMALL.DATA TABLE BYTE Monday$, Tuesd
7、ay$, Wednesday$, Thursday$, Friday$, Saturday$, Sunday$.CODESTART: MOV AX , DATA MOV DS , AX MOV AH , 01H INT 21H CMP AL , 30H JBE EXIT CMP AL , 38H JAE EXIT AND AX , 0FH SUB AL , 30H DEC AL MOV CL , 10 MUL CL LEA DX , TABLE ADD DX , AX MOV AH , 9 INT 21HEXIT: MOV AH , 4CH INT 21HEND START4. 已知数据段有以
8、下定义:NUM DW 3570STRING DB 5 DUP(20H),$ ; 20H为空格的ASCII码请编写完整程序,在屏幕上以十进制的形式将NUM这个数打印出来,可以借助STRING这个字符串。(NUM这个数可以定义为一个任意字型数)。.8086.MODEL SMALL.DATA ORG 100H NUM WORD 3570 STRING BYTE 4 DUP(20H),$.CODE START:MOV AX , DATA MOV DS , AX LEA DI , STRING MOV AX , NUM MOV CX , 4 ;每次循环除以10,将商作为下次的被除数,余数即为对应的十进制
9、数字 DEC DI LP:PUSH CX CWD MOV CX , 10 DIV CX POP CX MOV BX , CX ADD DL , 30H ;转化为对应的ASCII码 MOV BXDI , DL LOOP LP MOV AH , 09H ;输出字符串,以$结尾 LEA DX , STRING INT 21H MOV AH , 4CH ;退出程序 INT 21HEND START5. 统计以$字符结束的字符串string的字符个数。.8086.MODEL SMALL.DATA ORG 100H STRING BYTE HELLO,WORLD!,MY NAME IS ASM,$ LEN
10、 BYTE ? STR BYTE 3 DUP(20) , $.CODESTART:MOV AX , DATA MOV DS , AX LEA DI , STRING MOV LEN , 0 MOV BL , $ CP:CMP BL , DI;bl中的值是否为$,若是则调到continue,若不是则继续比较,相应的值加1 JZ CONTINUE INC LEN INC DI JMP CP CONTINUE: MOV AL , LEN LEA SI , STR MOV CX , 3 DEC SI LP:PUSH CX CBW MOV CL , 10 DIV CL POP CX MOV BX , C
11、X ADD AH , 30H MOV BXSI , AH AND AX , 0FFH LOOP LP MOV AH , 09H LEA DX , STR INT 21H MOV AH ,4CH INT 21H END START6. 十进制到二进制数转换。从键盘取得一个十进制数,将其以二进数形式显示出来。要求定义回车换行子程序、从键盘获得十进制数(0128之间),并存放在BL中的子程序,用二进制显示BL中数据的子程序。.8086.MODEL SMALL.DATA.CODE START:MOV AX,DATA MOV DS,AX MAIN PROC FAR CALL SHURU CALL CRL
12、F CALL PRT CALL CRLF MOV AH,4CH INT 21H MAIN ENDP SHURU PROC NEAR ;出口参数BL PUSH AX ;保护现场 PUSH CX MOV BL,0 NEWCHAR:MOV AH,1 INT 21H ;将键盘输入的字符的ASCII码传给AL寄存器 SUB AL,30H JL EXIT ;小于0转 CMP AL,9 JG EXIT ;大于9转 XCHG AL,BL MOV CL,10 MUL CL ;将以前的值乘以10 XCHG AL,BL ADD BL,AL ;加这一次读的值 JMP NEWCHAR EXIT:POP CX POP A
13、X RET SHURU ENDP CRLF PROC NEAR PUSH AX PUSH DX MOV DL,0DH ;回车 MOV AH,2 INT 21H MOV DL,0AH ;换行 MOV AH,2 INT 21H POP DX POP AX RET CRLF ENDP PRT PROC NEAR ;入口参数BL PUSH AX PUSH CX PUSH DX MOV CX,8 LP:ROL BL,1 ;循环左移,将二进制最高位挪到末尾 MOV BH,BL AND BL,01H ;只保留最后一位,即二进制的第一位 ADD BL,30H ;转化为0或1的ASCII码 MOV DL,BL
14、;调用DOS的输出字符功能 MOV AH,02H INT 21H MOV BL,BH LOOP LP POP DX POP CX POP SI RET PRT ENDP END START7. 利用递归程序,计算N!。具体要求:用键盘输入一个数N(16之间),利用一个递归过程FAC来计算N!(N放在AL中,结果在DX中),然后将计算的结果以十进制形式打印到屏幕上。.8086.MODEL SMALL.DATA RESULT WORD ? STRING BYTE 5 DUP(?),$.CODESTART: MOV AX,DATA MOV DS,AX MAIN PROC FAR CALL SHURU CAL
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1