当前位置:文档之家› 东南大学微机原理与接口技术期终考试复习资料汇总

东南大学微机原理与接口技术期终考试复习资料汇总

1.设置CX=0,则LOOP指令将执行多少次?例如:mov cx, 0delay: loop delayA.0B.1C.65535D.65536正确答案是:D2.REPZ CMPSB这条指令结束的时候,如果比较的串相等,则________。

A.SF=1B.ZF=1C.ZF=0D.CX不为0正确答案是:B3.在取指令CMP BX, 100H的源操作数的时候使用的逻辑地址最可能的是________。

A.DS:100HB.CS:IPC.ES:100HD.SS:IP正确答案是:B4. 在一个字符串中查找一个字符,使用REPNZ SCASB指令,执行完后,如果______表示没有找到。

A.ZF=1B.CX=0 且ZF=0C.CX=0,且ZF=1D.OF=1正确答案是:B5. 指令RET 8是FAR过程的返回语句,执行之后,SP的值会______。

A.+8B.-8C.+10D.+12正确答案是:D6. REPZ重复前缀重复的条件是________A.CX<>0 且ZF=1B.CX=0,或ZF=0C.CX=0,且ZF=0D.CX<>0 或ZF=1正确答案是:A12. 下面的指令,对CF会产生影响的指令是_____。

A.INC AXB.DEC AXC.NEG AXD.NOT AX正确答案是:C15. JMP WORD PTR[SI]这条指令的最大跳转范围是________。

A.-32768字节至+32767字节B.-128字节至+127字节C.-32768字节至+32768字节D.-512KB至+512KB正确答案是:A19. 16位汇编的寻址方式中,能作为基址变址寻址方式的寄存器是_____。

A.SI, DI, SS, DSB.AX,BX,CX,DXC.BX, SP,SI,DID.BX,BP,SI,DI正确答案是:D23. 如果(AL)=83H,则执行CBW之后,AX的值为_______。

A.0FF83HB.8883FHC.8003FHD.0083FH正确答案是:A25. 以下的公式中,_________的结果是下一条指令的物理地址。

A.CS*16+IPB.CS*16+IP+本条指令的字节数C.SS*16+IPD.CS*10+IP正确答案是:A1. 在内存中从Table开始的10个单元中连续存放0到9的平方值,任给一个0到9的数X,该数存放在内存单元XX中,查表求X的平方值,并将结果存于内存YY单元中。

编写程序,并在DEBUG中进行调试和验证结果。

(提示:考虑平方表的每一项需要什么数据类型才合适,XLAT指令是否合适?应该如何查表?).8086.MODEL SMALL.DATAORG 10HTABLE BYTE 0,1,4,9,16,25,36,49,64,81X BYTE 7Y BYTE ?.CODESTART: MOV AX , @DATAMOV DS , AXMOV BX , OFFSET TABLEMOV AL , XXLATMOV Y , ALEND START2. 假设CX:BX中放了4位非压缩的BCD码表示的十进制数4386,请编写完整程序将这个数转成2进制数放到DI寄存器中,并用DEBUG调试和验证之.8086.MODEL SMALL.DATA.CODESTART: MOV AX , @DATAMOV DS , AXMOV CX , 0403HMOV BX , 0806HMOV DI , 0MOV AX , 0ADD AL , BLADD DI , AXMOV AL , 10MUL BHADD DI , AXMOV AX , 100MUL CLADD DI , AXMOV AX , 1000XCHG CH , CLAND CX ,0FHMUL CXADD DI , AXEND START3. 利用跳转表技术实现根据用户输入的星期几的数字代号在屏幕上显示星期几的英文名称的功能。

(提示:1)键盘输入的是数字的ASCII码,需要转换成数字。

2)建立一张跳转表,表中存放打印每个星期的程序段的入口地址。

3)考虑怎么使程序代码量最小。

).8086.MODEL SMALL.DATATABLE BYTE 'Monday$$$$','Tuesday$$$','Wednesday$','Thursday$$','Friday$$$$','Saturday$$','Sunday$$$$'.CODESTART: MOV AX , @DATAMOV DS , AXMOV AH , 01HINT 21HCMP AL , 30HJBE EXITCMP AL , 38HJAE EXITAND AX , 0FHSUB AL , 30HDEC ALMOV CL , 10MUL CLLEA DX , TABLEADD DX , AXMOV AH , 9INT 21HEXIT: MOV AH , 4CHINT 21HEND START4. 已知数据段有以下定义:NUM DW 3570STRING DB 5 DUP(20H),’$’; 20H为空格的ASCII码请编写完整程序,在屏幕上以十进制的形式将NUM这个数打印出来,可以借助STRING这个字符串。

(NUM这个数可以定义为一个任意字型数)。

.8086.MODEL SMALL.DATAORG 100HNUM WORD 3570STRING BYTE 4 DUP(20H),'$'.CODESTART:MOV AX , @DATAMOV DS , AXLEA DI , STRINGMOV AX , NUMMOV CX , 4;每次循环除以10,将商作为下次的被除数,余数即为对应的十进制数字DEC DILP:PUSH CXCWDMOV CX , 10DIV CXPOP CXMOV BX , CXADD DL , 30H ;转化为对应的ASCII码MOV [BX][DI] , DLLOOP LPMOV AH , 09H ;输出字符串,以‘$’结尾LEA DX , STRINGINT 21HMOV AH , 4CH ;退出程序INT 21HEND START5. 统计以‘$’字符结束的字符串string的字符个数。

.8086.MODEL SMALL.DATAORG 100HSTRING BYTE 'HELLO,WORLD','MY NAME IS ASM','$'LEN BYTE ?STR BYTE 3 DUP(20) , '$'.CODEMOV DS , AXLEA DI , STRINGMOV LEN , 0MOV BL , '$'CP:CMP BL , [DI];bl中的值是否为'$',若是则调到continue,若不是则继续比较,相应的值加1 JZ CONTINUEINC LENINC DIJMP CPCONTINUE: MOV AL , LENLEA SI , STRMOV CX , 3DEC SILP:PUSH CXCBWMOV CL , 10DIV CLPOP CXMOV BX , CXADD AH , 30HMOV [BX][SI] , AHAND AX , 0FFHLOOP LPMOV AH , 09HLEA DX , STRINT 21HMOV AH ,4CHINT 21HEND START6.十进制到二进制数转换。

从键盘取得一个十进制数,将其以二进数形式显示出来。

要求定义回车换行子程序、从键盘获得十进制数(0~128之间),并存放在BL中的子程序,用二进制显示BL中数据的子程序。

.8086.MODEL SMALL.DATA.CODEMOV DS,AXMAIN PROC FARCALL SHURUCALL CRLFCALL PRTCALL CRLFMOV AH,4CHINT 21HMAIN ENDPSHURU PROC NEAR ;出口参数BLPUSH AX ;保护现场PUSH CXMOV BL,0NEWCHAR:MOV AH,1INT 21H ;将键盘输入的字符的ASCII码传给AL寄存器SUB AL,30HJL EXIT ;小于0转CMP AL,9JG EXIT ;大于9转XCHG AL,BLMOV CL,10MUL CL ;将以前的值乘以10XCHG AL,BLADD BL,AL ;加这一次读的值JMP NEWCHAREXIT:POP CXPOP AXRETSHURU ENDPCRLF PROC NEARPUSH AXPUSH DXMOV DL,0DH ;回车MOV AH,2INT 21HMOV DL,0AH ;换行MOV AH,2INT 21HPOP DXPOP AXRETCRLF ENDPPRT PROC NEAR ;入口参数BLPUSH AXPUSH CXPUSH DXMOV CX,8LP:ROL BL,1 ;循环左移,将二进制最高位挪到末尾MOV BH,BLAND BL,01H ;只保留最后一位,即二进制的第一位ADD BL,30H ;转化为0或1的ASCII码MOV DL,BL ;调用DOS的输出字符功能MOV AH,02HINT 21HMOV BL,BHLOOP LPPOP DXPOP CXPOP SIRETPRT ENDPEND START7.利用递归程序,计算N!。

具体要求:用键盘输入一个数N(1~6之间),利用一个递归过程FAC来计算N!(N放在AL中,结果在DX中),然后将计算的结果以十进制形式打印到屏幕上。

.8086.MODEL SMALL.DATARESULT WORD ?STRING BYTE 5 DUP(?),'$'.CODESTART: MOV AX,@DATAMOV DS,AXMAIN PROC FARCALL SHURUCALL FACCALL CRLFCALL PRTMOV AH,4CHINT 21HMAIN ENDPSHURU PROC NEARMOV AH,1INT 21HSUB AL,30HJL EXITCMP AL,6JG EXITEXIT:RETSHURU ENDPMOV RESULT,DXFAC PROC NEAR ;入口参数AL(N的值),出口参数DX(N!)CMP AL,0JNZ F1MOV DX,1RETF1:PUSH AXDEC ALCALL FACPOP CX ; 把N的值传给CXCALL MULT ; 把N*FAC(N-1)传给DXRETFAC ENDPMULT PROC NEARMOV AL,CLMOV DX,AXRETMULT ENDPPRT PROC NEARLEA SI,STRINGMOV CX,4DEC SILP:PUSH CXCWDMOV CX,10DIV CXPOP CXMOV BX,CXADD DL,30H ;转化成ASCII码MOV [BX][SI],DLLOOP LPMOV AH,09HLEA DX,STRINGINT 21HRETPRT ENDPCRLF PROC NEARPUSH AXPUSH DXMOV DL,0DH ;回车MOV AH,2INT 21HMOV DL,0AH ;换行MOV AH,2INT 21HPOP DXPOP AXRETCRLF ENDPEND START。

相关主题