《微机原理及应用习题库硬件应用设计题汇编语言程序分析题.docx》由会员分享,可在线阅读,更多相关《微机原理及应用习题库硬件应用设计题汇编语言程序分析题.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理及应用 汇编语言程序设计第32讲第38讲6假设有以下变量定义,请说明下面的程序执行后,AX的内容是什么? TABLE DW 40,50,20,30 ENTRY DW 3 MOV BX, OFFSET TABLE ADD BX,ENTRY MOV AX,BXAX=1400H微机原理及应用 汇编语言程序设计第32讲第38讲6分析以下程序完成的功能 MOV AH,02H MOV DL,0DH INT 21H MOV AH,02H MOV DL,0AH INT 21H使光标回车, 换行微机原理及应用 汇编语言程序设计第32讲第38讲6START: MOV AX,00C0HMOV DS,AXMO
2、V BX,0500HMOV CX,0010HAGAIN:MOV BX,BLINC BLLOOP AGAIN在上述指令串执行后,画图表示出物理地址为0110AH0110FH的各单元存放的内容。0AH0BH0CH 0DH0EH0FH微机原理及应用 汇编语言程序设计第32讲第38讲6分析以下程序完成的功能 MOV AL,05H SHL AL,1 MOV BL,AL MOV CL,03H SHL AL,CL ADD AL,BL将518的值存到AL中微机原理及应用 汇编语言程序设计第32讲第38讲6已有BUF DB 0DH 定义,分析以下程序段MOV AL,BUFCALL FAR PTR HECAOK:
3、HECA PROC FARPUSH AXCMP AL,10JC K1ADD AL,7K1:ADD AL,30HMOV DL,ALPOP AXRETHECA ENDP问 写出子程序HECA的说明文件。 程序执行到OK处,DL= H 子程序HECA的说明文件:子程序名:HECA子程序功能:将AL中的一位16进制数转换为对应的字符的ASCLL码入口参数:被转换的字符在AL中出口参数:转换后的结果在DL中用到的存放器:无 程序执行到OK处,DL=44H微机原理及应用 汇编语言程序设计第32讲第38讲6有程序段:MOV DX,5678HMOV BX,1234HPUSH BXPUSH DXPUSH BP
4、MOV BP,SPMOV AX,BP+4POP BP POP DX POP BX 指出执行后AX= H。指出执行后AX=1234H微机原理及应用 汇编语言程序设计第32讲第38讲6分析以下程序段,说明完成了什么操作?程序执行前后,HEXNUM字节单元的内容是什么?ASCNUM DB 41HHEXNUM DB MOV AH,ASCNUM CMP AH,39H JBE NEXT SUB AH,7NEXT: SUB AH,30H MOV HEXNUM,AH HLT程序完成的功能为:将ASCNUM单元的字符转换成对应的一位16进制数,并将转换后的结果存到HEXNUM单元。HEXNUM字节单元的内容为:
5、0AH微机原理及应用 汇编语言程序设计第32讲第38讲6假设程序中的数据定义如下: DATA1 DW DATA2 DB 32 DUP () DATA3 DD DLENGTH EQU $ -DATA1 问DLENGTH的值为多少?它表示什么意义?DLENGTH的值为:40它表示DAT1DAT3变量所占的字节数微机原理及应用 汇编语言程序设计第32讲第38讲6分析以下程序段完成的功能SUB1 PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXMOV CX, 00FFHAGAIN: NOP LOOP AGAIN POP DX POP CX POP BX POP AX RETS
6、UB1 ENDP延时微机原理及应用 汇编语言程序设计第32讲第38讲6下面这段程序完成的功能为从键盘输入一串字符,将其送到KEYBUF1缓冲区,并显示这组字符串。请在划线处填入必要指令或伪指令,使以下程序完整。 STACK SEGMENT STACK DB 256 DUP() STACK ENDS DATA SEGMENT STRING1 DB DO YOU WANT TO INPUT STRING(Y/N):$ CRLF DB 0DH,0AH,$ STRING2 DB PLEASE INPUT STRING.,0DH,0AH,$ KEYBUF1 DB 20H DB KEYBUF2 DB 20
7、H DUP() CODE SEGMENT START:MOV AX,DATA MOV DS,AX MOV AH,09H LEA DX,STRING1 INT 21H MOV AH,01H INT 21H CMP AL,Y JE INPUT CMP AL,y INPUT:LEA DX,CRLF MOV AH,09H INT 21H MOV AH,09H MOV DX,OFFSET STRING2 INT 21H MOV DX,OFFSET KEYBUF1 INT 21H MOV AL,KEYBUF1+1 CBW LEA SI,KEYBUF2 ADD SI,AX MOV BYTE PTRSI,$
8、MOV AH,09H LEA DX,CRLF INT 21H MOV AH,09H INT 21H DONE: MOV AH,4CH INT 21H END START共6个划线,其中:第一个划线处为:DATA ENDS第二个划线处为:ASSUME CS:CODE,DS:DATA,SS:STACK第三个划线处为:JNE DONE第四个划线处为: MOV AH,0AH第五个划线处为:MOV DX,OFFSET KEYBUF2第六个划线处为:CODE ENDS微机原理及应用 汇编语言程序设计第32讲第38讲6DABUF DB 09H,05H,04HMOV BL,2NEXT:MOV CX,3XOR
9、SI,SIAGAIN:MOV AL,DABUFSIAND AL,0FHOR AL,30HMOV AH,02HMOV DL,ALINT 21HINC SILOOP AGAINDEC BLJNZ NEXT指出该程序段完成的功能该程序段完成的功能:将DABUF以下3个数在屏幕上显示出来微机原理及应用 汇编语言程序设计第32讲第38讲6有100个8位无符号数已存放在缓存区INX中, FUNCY2子程序的功能是对这100个数据由高到低排序。请在划线处填入必要指令,使以下子程序完整。 FUNCY2 PROC NEAR PUSH AX MOV CH ,100-1B10: LEA SI ,INX DEC CL
10、 ,CH B20: MOV AL ,SI CMP AL ,SI+1 XCHG AL, SI+1 B30: INC SI DEC CL JNZ B20 DEC CH POP AX RET FUNCY2 ENDP共3个划线,其中:第一个划线处为:JAE B30第二个划线处为:MOV SI,AL第三个划线处为:JNZ B10 微机原理及应用 汇编语言程序设计第32讲第38讲6N3N100个8位无符号数已存放在缓存区INX中,其中第一个字节存放个数N,从第二字节开场存放数据,FUNCY2子程序的功能是对这N个数据由高到低排序。 FUNCY2 PROC NEAR LEA SI ,INX XOR CX ,
11、CX MOV CL ,SI DEC CX B10: PUSH SI PUSH CX MOV AL ,SI B20: CMP AL ,SI+1 XCHG AL, SI+1 B30: INC SI LOOP B20 POP CX POP SI RET FUNCY2 ENDP共4个划线,其中:第一个划线处为:INC SI第二个划线处为:JAE B30 第三个划线处为:MOV SI,AL 第四个划线处为:LOOP CX微机原理及应用 汇编语言程序设计第32讲第38讲6分析以下程序完成的功能: MOV AX,SEG BUFFER1MOV DS,AXMOV AX,SEG BUFFER2MOV ES,0010HMOV SI,OFFSET BUFFER1 MOV DI,OFFSET BUFFER2 MOV CX,1024 CLD REP MOVSB 程序完成的功能:将BUFFER1以下10H个字符传送到BUFFER2