《2022年微机原理与应用程序题及答案资料 .pdf》由会员分享,可在线阅读,更多相关《2022年微机原理与应用程序题及答案资料 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与应用1 掌握如何判断数的奇偶与正负,以及如何将数的某位置 1 或清 0?编程序之前首先确定:数据是否为带符号数?数据是字节类型还是字类型?掌握程序框图的画法。程序类型供参考1计算题:求出下列公式中的 Z 值,并将计算结果存放在寄存器 BX 中。其中 X、Y 为 8 位带符号数。(扩展:8 位数和 16 位数的区别?无符号数和带符号数的区别?判断:运算结果是偶数还是奇数?正数还是负数?)(315)112XYZdata segment X db 16 Y db-2 Z db?data ends code segment assume cs:code,ds:data(此条语句含义是什么?)
2、start:mov ax,data mov ds,ax mov dx,x sal dx,1;2x add dx,x;3x mov bx,y mov cl,4 sal bx,cl;16y sub bx,y;15y add bx,dx;3x+15y 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 9 页 -微机原理与应用2 sub bx,11;3x+15y-11 sAr dx,1;(3x+15y-11)/2 mov ah,4chint 21hcode ends end start 10 a 7*b+6/2start:mov ax,data mov ds,ax mov dx,a mov
3、 cl,3 sal dx,cl/功能实现是8a add dx,a/9a add dx,a/10a mov bx,b mov cl,3 sal bx,cl/8b sub bx,b/8b-b=7b sub dx,bx/10a-7b 然后把值附给 dx add dx,6/10a-7b+6 sAr dx,1/(10a-7b+6)/2 mov al,dx/把最后的值移动AL 内,mov dx,x sal dx,1;2x add dx,x;3x mov bx,y mov cl,4 sal bx,cl;16y sub bx,y;15y add bx,dx;3x+15y sub bx,11;3x+15y-11
4、 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 9 页 -微机原理与应用3 找出从无符号字节数据存储变量VAR 开始存放的 N 个数中的最大数放在BH 中DSEG SEGMENT VAR DB 5,7,19H,23H,0A0H N EQU$-VAR DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG BG:MOV AX,DSEG MOV DS,AX MOV CX,count-1 MOV SI,0 MOV BL,VAR SIJCXZ LAST AGIN:INC SI CMP BL,VAR SIJGE NEXT MOV BL,VAR SINE
5、XT:LOOP AGIN LAST:TEST BL JZ JISHU JNZ OUSHU JISHU:Flag=1 OUSHU:Flag=0 MOV AH,4CH INT 21H 开始N-1CX0SISIBHCX=0?BH SI结束YNSI加SIBHYN名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 9 页 -微机原理与应用4 CSEG ENDS END BG 2已知 X、Y、Z 为三个带符号的 16 位二进制数,编程求出三者之中最小数,并将其存入寄存器 SI。画出程序流程图。(扩展:求出三者之中最大数?判断:该数是正数还是负数?)data segment x dw 16 y d
6、w-17 z dw 20 data ends code segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov ax,x cmp ax,y jle xly mov ax,y xly:cmp ax,z jle gmin mov ax,z 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 9 页 -微机原理与应用5 gmin:mov MIN,ax mov ah,4chint 21hcode ends end start 3试编制程序,统计 DA 数据区中正数的个数。并画出程序流程图。正数个数放入 AL 中。(扩展:统
7、计 DA 数据区中负数的个数?判断:个数是偶数还是奇数?)data segment DA dw-1,0,3,-3,0AH,0EF,8,-5 count equ($-da)/2 data ends code segment assume cs:code,ds:data start:mov ax,data mov ds,ax lea bx,da mov cx,count;初始化mov al,0 lop1:mov dx,bx cmp dx,0;和 0 比较jle lop2;小于等于 0 转移至 lop2 inc al;正数个数+1 lop2:inc bx inc bx;指向下一个数dec cx;计数
8、器减 1 jnz lop1;计数器是否为 0,不为 0,转移至 lop1 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 9 页 -微机原理与应用6 mov ah,4chint 21h code ends end start mov ax,data mov ds,ax lea bx,da mov cx,count;初始化mov al,0 lop1:mov dx,bx cmp dx,0;和 0 比较jle lop2;小于等于 0 转移至 lop2 inc al;正数个数+1 lop2:inc bx inc bx;指向下一个数dec cx;计数器减 1 jnz lop1;计数器是否为
9、 0,不为 0,转移至 lop1 4试编制程序,判断某 16 位带符号数的大小。并画出程序流程图。;若 number=1,则(AX)=1;若 number=-1,则(AX)=-1;若-1 number 1,则(AX)=0 data segment number dw 5 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 9 页 -微机原理与应用7 data ends code segment assume cs:code,ds:data start:mov ax,data mov ds,ax mov bx,number cmp bx,1 jge b1 cmp bx,-1 jle b
10、2 mov ax,0 jmp stop;无条件转移至 stop B1:mov ax,1 jmp stop;无条件转移至 stop B2:mov ax,-1 stop:mov ah,4ch int 21h code ends end start 5.接口应用题8255A 用作连接打印机的接口,工作于方式0,端口地址为D0HD3H,要打印的字符放在BL 中。编写初始化 8255A 以及将 BL 中字符送打印机输出的子程序。并写出注释。工作过程如下:1.需要打印时,首先查询打印机是否忙?2.如果打印机不忙,通过8255A 发送一个字符给打印机。3.为使打印机接收数据,生成一个选通脉冲(即初始值是1,
11、置 0,开始numberBXBX=1?AX 1BX=-1?结束YNYAX 1返回 DOSNAX 0名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 9 页 -微机原理与应用8 再置 1)。8255 控制字格式如下:D7=1,工作方式控制字。D7=0,C 口的置 1/置 0 控制字。Setup:MOV AL,88H;设置工作方式OUT 0D3H,AL MOV AL,1;置 PC0 为 1OUT 0D3H,AL Ready:IN AL,0D2H TEST AL,20H;测试 PC5 状态JNZ Ready MOV AL,BL;打印的字符送AL 中OUT 0D0H,AL MOV AL,0;置 PC0 为 0 名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 9 页 -微机原理与应用9 OUT 0D3H,AL MOV AL,1;置 PC0 为 1 OUT 0D3H,AL 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 9 页 -