首页 李伯成《微型计算机原理与接口技术》课后习题答案

李伯成《微型计算机原理与接口技术》课后习题答案

举报
开通vip

李伯成《微型计算机原理与接口技术》课后习题答案李伯成《微型计算机原理与接口技术》课后习题答案 李伯成《微机原理》习题 第三章 本章作业参考书目: 1.周明德: 微型计算机IBM-PC系统原理与应用 清华大学出版社 1991 2.王永山等: 微型计算机原理与应用 西安电子科大出版社 1998 3.张怀莲: IBMPC汇编语言程序设计 电子工业出版社 1990 注:本习题解中的程序仅为代码片段,可在Emu8086 version 2.57环境下仿真运行,如果在MASM下进行汇编,需添加段设置以及相应的伪指令。 3.1 MOV AX,00H; 立即寻...

李伯成《微型计算机原理与接口技术》课后习题答案
李伯成《微型计算机原理与接口技术》课后习 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 答案 李伯成《微机原理》习题 第三章 本章作业参考 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 目: 1.周明德: 微型计算机IBM-PC系统原理与应用 清华大学出版社 1991 2.王永山等: 微型计算机原理与应用 西安电子科大出版社 1998 3.张怀莲: IBMPC汇编语言程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 电子工业出版社 1990 注:本习题解中的程序仅为代码片段,可在Emu8086 version 2.57环境下仿真运行,如果在MASM下进行汇编,需添加段设置以及相应的伪指令。 3.1 MOV AX,00H; 立即寻址 SUB AX,AX; 寄存器寻址 [BX]; 寄存器间接寻址 MOV AX, MOV AX,TABLE; 直接寻址 MOV AL,ARAY1[SI]; 寄存器相对寻址 MOV AX,[BX+6]; 寄存器相对寻址 3.2 若1KB的数据存放在TABLE以下,试编写程序将该数据拌到NEXT之下。 程序片段如下: ORG 100h MOV CX,03FFH;数据个数 LEA SI,TABLE;源区首地址 LEA DI,NEXT; 目的区首地址 AGAIN: MOV AL,[SI]; MOV [DI],AL; 搬移 INC SI INC DI; 移动地址指针 DEC CX; 循环计数器递减 JNZ AGAIN; 循环未结束转 HLT; 暂停 TABLE DB 1024 dup („A?); 源数据区 NEXT DB 1024 dup (0); 目的数据区 3.3 编写10个字(16位二进制数)之和的程序 ORG 100h LEA SI,ADD1; LEA DI,ADD2; LEA BX,SUM; MOV CL,CONT; MOV CH,0; 循环初始化 CLC; 进位清零 MADD1: MOV AX,[SI]; 读加数1 ADC AX,[DI] ADD SI,2; 移动源区地址指针 ADD DI,2; 移动目的区地址指针 MOV [BX],AX; 回存计算结果 ADD BX,2; 移动“和”存储区地址指针 LOOP MADD1; 循环控制 HLT; 暂停 ADD1 DB 0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加数 1 ADD2 DB 56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H; 加数 2 SUM DB 10 DUP (0); 和存储单元 CONT DB 5 ; 循环次数 3.4 某16位二进制数,放在DATA连续的两个单元中,试编程求其平方根和余数,将其 分别存放在ANS和REMAIN中。 ORG 100h MOV BL,2; 除数初值 AGAIN: MOV CX,NUM; 预计最大循环次数 MOV AL,BL; 0、1的平方根除外 MUL BL; 得到2的平方 CMP AX,CX; 大于原始数据么, JG EXIT; 若原始数据小于4转EXIT MOV AX,CX; 读数 DIV BL; 试除 INC BL; 除数递增 JMP AGAIN; 继续除 EXIT: DEC BL; 去除除数自加 MOV ANS,BL; 存商 MOV AL,BL; 恢复余 数 MUL BL; SUB CX,AX; MOV REMAIN,CL; HLT NUM DW 7; ANS DB ?; REMAIN DB ?; 3.5 在DATA1之下顺序存放着以ASCII码 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示的千位数,将其转换成二进制数。 MOV CL,4; 移位次数 MOV CH,CL; 循环次数 MOV SI,OFFSET ASCBIN CLD XOR AX,AX XOR DX,DX ASCB1: LODSB AND AL,7FH CMP AL,?0? ;不大于‘0’结束转换 JL ERR CMP AL,?9? JG ASCB2 ;大于‘9’转ASCB2 SUB AL,30H ; 数字形式二进制数减30H JMP ASCB3 ASCB2: CMP AL,?A? ;大于‘9’又小于‘A’结束转换 JL ERR CMP AL,?F? JG ERR ;大于‘F’为不合理数,结束转换 SUB AL,37H ;字符形式ASCII数减37H ASCB3: OR DL,AL ROL DX,CL DEC CH JNZ ASCB1 ROL DX,CL MOV BIN,DX;存储转换结果 ERR: NOP HLT ASCBIN DB „1?,?B,?4?,?3? BIN DW ? 3.7 编写程序将MOLT中的一个8位数乘以20,乘积放在ANS中(用3种方式)。 解:第一种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 :常规乘法运算 ORG 100h MOV AL,MOLT MOV BL,20 MUL BL MOV ANS,AX HLT MOLT DB 2 ANS DW ? 第二种方法,将MOLT连加20次 ORG 100h MOV CX,20 MOV BX,MOLT XOR AX,AX CLC ADD1:ADC AX,BX LOOP ADD1 MOV ANS,AX HLT MOLT DW 5 ANS DW ? 第三种方法,将“20”连加MOLT次 ORG 100h MOV CX,MOLT MOV BX,20 XOR AX,AX CLC ADD1:ADC AX,BX LOOP ADD1 MOV ANS,AX HLT MOLT DW 5 ANS DW ? 3.8 在DATA之下存放100个无符号的8位数,找出其最大者并将其存 放在KVFF单元。 ORG 100h XOR DL,DL LEA DI,KVFF; NEXT0: LEA SI,BUFFER; MOV CL,99; 次 NEXT1: MOV AL,[SI]; INC SI; CMP DL,AL; JNC NEXT2; MOV DL,AL; DL 前最大值 NEXT2: DEC CL; JNZ NEXT1; MOV [DI],DL; 最大值存储 HLT BUFFER DB ;自行定义100个数据 KVFF DB ? 3.9 若将数据按大小顺序排序,试编写程序.. 解:此处采用 “冒泡法”予以处理: ORG 100h LEA DI,BUFFER; MOV BL,99; 数 NEXT0: MOV SI,DI; MOV CL,BL; 比较次数为N-1中始终存目数据区 外循环次内循环次数 NEXT3: MOV AL,[SI]; 读数 INC SI; 移动指针 CMP AL,[SI]; 比较 JNC NEXT5; 大于转NEXT5 MOV DL,[SI]; MOV [SI-1],DL; MOV [SI],AL; 不大于互换 NEXT5: DEC CL; JNZ NEXT3; DEC BL; 外循环次数减一 JNZ NEXT0 HLT BUFFER DB 自行定义100个字节型数据 3.10 在BVFF单元中有一个BCD数A,试根据下列关系编写程序,计算结果存在DES中. A<20,Y=3*A; A<60,Y=A-20; A>=60,Y=80. ORG 100h MOV AL,BVFF CMP AL,20 JL EX1 CMP AL,60 JL EX2 MOV AL,80 JMP STOP EX1: MOV BL,3 MUL BL JMP STOP EX2: SUB AL,20 STOP: MOV DES,AL HLT BVFF DB 8 DES DB ? 3.11址为DATAB开始的80个单元中,存放某班80个学生的某课程成绩,要求: 统计>=90分、80~89分、70~79分、60~69分、60分以下的人数,结果存放在BTRX开始的5个单元中 求平均成绩,结果存放在LEVEL中。 解:寄存器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,总分、均分都在[DI]。 ORG 100h XOR AH,AH XOR DX,DX ;统计结果清零 XOR BX,BX ;统计结果清零 LEA SI,DATA LEA DI,LEVEL MOV CL,CONT; 总人数送循环计数器 CX goon: MOV AL,[SI] ;读原始数据 ADC [DI], AL; 累加总分 ADC [DI+1],0 ;计算进位 CMP AL,90 JL PP8 ; 不高于90分者转PP8 INC DH ; 90--100分的人数加一 JMP STOR PP8: CMP AL,80 JL PP7 ;不高于80分转PP7 INC DL ;80----89分的人数加一 JMP STOR PP7: CMP AL,70 JL PP6 ;不高于70分者转PP6 INC BH ;70---79分的人数加一 JMP STOR PP6: CMP AL,60 JL PP5 ;不高于60分者转PP5 INC BL ;60---69分的人数加一 JMP STOR PP5: INC AH ;低于60分的人数加一 STOR: INC SI ;读下一个分数 LOOP GOON ;CX=CX-1,CX不为零转GOON,继续统计 LEA SI,BUFFER ;回存统计结果 MOV [SI],DH INC SI MOV [SI],DL INC SI MOV [SI],BH INC SI MOV [SI],BL INC SI MOV [SI],AH MOV AX,WORD PTR [DI] ;计算平均成绩 MOV CL,CONT DIV CL MOV LEVEL,AL ;回存平均成绩 HLT CONT DB 10 DATA DB 30,65,99,80,75, 89,100,45,60,70 BUFFER DB ?,?,?,?,? LEVEL DB ? ,? 3.12 求两个有符号数(DATA1,DATA2)差的绝对值,结果存入DATA3. ORG 100h MOV AL,DATA1;读入被减数 SUB AL,DATA2;减去减数 JC CHANGE; JMP STOR CHANGE: NEG AL STOR: MOV DATA3,AL HLT DATA1 DB 3 DATA2 DB 5 DATA3 DB ? 3.13 存从40000H到4BFFH的个单元均写入55H,并再逐个读出,验证是否一致,若一致,置AL为7EH,否则置AL为81H. ORG 100h MOV AX,4000H; MOV DS,AX; MOV SI,0 START: MOV CX,0BFFFH BEGIN: MOV [SI],55H MOV AL,[SI] INC SI CMP AL,55H JNZ ERR LOOP BEGIN MOV AL,7EH JMP STOP ERR: MOV AL,81H STOP: HLT 3.14~3.15 端口03FBH的BIT5为状态标志,当该位为1时,表示外设忙,不能接收数据;当为0时,表示外设闲,可以接收数据;当CPU向端口03F8H写入一个字节的数据时,03FBH的BIT5置1,当它变为0状态时,又可以写入下一个数据。据此编写将起始地址为SEDAT的50个数据输出到03F8H端口的程序。 WAIT: MOV DX,03FBH IN AL,DX TEST AL,0010 0000B;(20H) JZ SEND JMP WAIT SEND:MOV DX,3F8H MOV AL,[SI]; CMP AL,0AH;输出字串结束标志符 JZ STOP OUT DX,AL JMP WAIT STOP:HLT 3.16 口02E0H的BIT2和BIT5同时为1,表示端口02E7H有一个字节型数据准备好可以用以输入,当CPU从该端口读入数据后,02E0端口的BIT2和BIT5就不再同时为1;只有当02E7H端口的数据再次准备好时,它们才会再次同时为1,据此编写从02E7H端口输入32个数据然后存入A1000H单元开始的区域。 MOV AX,0A000H MOV DS,AX MOV SI,1000H; 设置存储区地址 MOV CL,20H; 输入数据个数 BEGIN:MOV DX,0E20H IN AL,DX TEST AL,0010 0100B; 测试状态位 BIT5、BIT2 JZ BEGIN; 不同时为1继续测试 MOV DX,02E7H IN AL,DX; 输入数据 MOV [SI],AL; 存到指定区域 INC SI; 移动地址指针 LOOP BEGIN; 循环 HLT 3.17 在内存40000H开始的16K的单元中存放着一组数据,将其顺序搬移到起始地址为 A0000H的区域。 解:利用字符串操作指令 MOVSB,16K即16*1024=3FFFH。 MOV AX,4000H MOV DS,AX MOV AX,A000H MOV ES,AX MOV SI,0 MOV DI,0 MOV CX,3FFFH CLD REP MOVSB HLT 3.18 上题的基础上,将两个区域的数据逐个进行比较,若有错将BL置0,全对 将BL置FFH。 MOV AX,4000H MOV DS,AX MOV AX,A000H MOV ES,AX MOV SI,0 MOV DI,0 MOV CX,03FFH CLD AAB: CMPSB JNZ STOP LOOP AAB MOV BL,0FFH JMP EX1 STOP: MOV BL,0; EX1: NOP HLT 3.19 统计由40000H单元开始的16K个单元中所存字符‘A’的个数,统计结果存放在 DX寄存器中。 MOV AX,4000H MOV DS,AX MOV SI,0; MOV CX,3FFFH; 数据个数 MOV DX,0;统计结果寄存器清零 XOR DX,DX CLD AAB: LODSB CMP AL,‘A’; 比较 JZ AAC;字符为‘A’转计数 LOOP AAB; 循环 JMP STOP; 处理完毕转结束 AAC: INC DX; 统计结果加1 DEC CX; 循环次数减1 JCXNZ AAB; CX<>0继续 STOP: HLT 3.20 编写对AL中的数据进行“偶校验”的一个过程,并将校验结果放入AL寄存器。 PJY PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AL,DAT AND AL,AL JNP PJY1 MOV AL,00H; 表示为偶 JMP EXIT PJY1: MOV AL,FFH; 表示为奇 EXIT: POP DX POP CX POP BX POP AX RET PJY ENDP DAT DB , 3.21 对80000H开始的256个单元的数据加上偶校验。 ORG 100h MOV AX,8000H MOV DS,AX MOV SI,0 MOV CX,100H CLD PAR0: LODSB TEST AL,AL JNP PAR1 LOOP PAR0 JMP STOP PAR1: OR AL,80H; MOV [SI-1],AL DEC CX JNZ PAR0 STOP: HLT ;(MOV AL,[SI] ;INC SI)
本文档为【李伯成《微型计算机原理与接口技术》课后习题答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321635
暂无简介~
格式:doc
大小:34KB
软件:Word
页数:16
分类:互联网
上传时间:2017-10-14
浏览量:214