ImageVerifierCode 换一换
格式:DOC , 页数:66 ,大小:286KB ,
资源ID:1512878      下载积分:14 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1512878.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(微机原理及接口技术课后习题及参考答案教学总结.doc)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

微机原理及接口技术课后习题及参考答案教学总结.doc

1、此文档仅供收集于网络,如有侵权请联系网站删除 第一章 课后习题 1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 16.25 ② 35.75 ③ 123.875 ④ 97/128 1.2 把下列二进制数转换成十进制数。 ① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.1 1.3 把下列八进制数转换成十进制数和二进制数。 ① 756.07 ② 63.73 ③ 35.6 ④ 323.45 1.4 把下列十六进制数转换成十进制数。 ① A7.8 ② 9AD.BD ③ B7C.8D ④

2、 1EC 1.5 求下列带符号十进制数的8位补码。 ① +127 ② -1 ③ -0 ④ -128 1.6 求下列带符号十进制数的16位补码。 ① +355 ② -1 1.7 计算机分那几类?各有什么特点? 1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。 1.9 80X86微处理器有几代?各代的名称是什么? 1.10 你知道现在的微型机可以配备哪些外部设备? 1.11 微型机的运算速度与CPU的工作频率有关吗? 1.12 字长与计算机的什么性能有关? 习题一参考答案 1.1 ① 16.25D=10000.01B=20.2Q=10.4H ② 35.

3、75D=100011.11B=43.6Q=23.CH ③ 123.875D=1111011.111B=173.7Q=7B.EH ④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H 1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D ③ 111.01B=7.25D ④ 1010.1B=10.5D 1.3 ① 756.07Q=111101110.000111B=494.109D ② 63.73Q=110011.111011B=51.922D ③ 35.6Q=11101.110B=29.75D

4、 ④ 323.45Q=11010011.100101B=211.578D 1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D ③ B7C.8D=2940.551D ④ 1ECH=492D 1.5 ① [+127]补=01111111 ② [-1] 补= 11111111 ③ [-0] 补=00000000 ④[-128] 补=10000000 1.6 ① [+355] 补= 0000000101100011 ② [-1] 补= 1111 1111 1111 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的

5、并行处理系统, 存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 1.8 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。 1.9 答:从体系结构上可分为5代:4004:4位机;8080/8085:8位机;8086/8088/8028

6、6:16位机;80386/80486:32位机;Pentium系列机:64位。 第二章 课后习题 2.1、 EU与BIU各自的功能是什么?如何协同工作? 2.2、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么? 2.3、8086对存储器的管理为什么采用分段的办法? 2.4、在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。 2.5、给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。 2.6、8086/8088为什么采用地址/数据引线复用技术? 2.7、8086与8088的主要区别是什

7、么? 2.8、怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同 2.9、8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序? 2.10、8086基本总线周期是如何组成的?各状态中完成什么基本操作? 2.11、在基于8086的微计算机系统中,存储器是如何组织的?是如何与处理器总线连接的? BHE#信号起什么作用? 2.12、80X86系列微处理器采取与先前的微处理器兼容的技术路线,有什么好处?有什么不足? 2.13、80386内部结构由哪几部分组成?简述各部分的作用。 2.14、80386有几种存储器管理模式?都是什么? 2.1

8、5、在不同的存储器管理模式下,80386的段寄存器的作用是什么? 2.16、描述符的分类及各描述符的作用。 2.17、80386的分段部件是如何将逻辑地址变为线性地址的? 2.18、803866中如何把线性地址变为物理地址? 习题二参考答案 1、答:EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。 2、答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI

9、SI。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。 3、答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间。 4、答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两

10、部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。 5、答:物理地址:320F8H。 6、答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。 7、答:8086有16条数据信号引线,8088只有8条;8086片内指令预取缓冲器深度为6字节,8088只有4字节。 8、答:引线M

11、N/MX#的逻辑状态决定8086的工作模式,MN/MX#引线接高电平,8086被设定为最小模式,MN/MX#引线接低电平,8086被设定为最大模式。 最小模式下的控制信号由相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供,8288的输入为8086的S2#~S0#三条状态信号引线提供。 9、答:标志寄存器、IP、DS、SS、ES和指令队列置0,CS置全1。处理器从FFFFOH存储单元取指令并开始执行。 10、答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读

12、写命令信号RD#、WR#及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。 11、答:8086为16位处理器,可访问1M字节的存储器空间;1M字节的存储器分为两个512K字节的存储体,命名为偶字节体和奇字节体;偶体的数据线连接D7~D0,“体选”信号接地址线A0;奇体的数据线连接D15~D8,“体选”信号接BHE#信号;BHE#信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问。 12、答:好处是先前开发的软件可以在新处理器组成的系统中运行,保护了软件投资。缺点是处理器的结构发展受到兼容的约束,为了保持兼容性增加了硅资源的开销,增加了结构的复杂

13、性。 13、答:80386内部结构由执行部件(EU)、存储器管理部件(MMU)和总线接口部件(BIU)三部分组成。EU包括指令预取部件、指令译码部件、控制部件、运算部件及保护检测部件,主要功能是执行指令。存储器管理部件包括分段部件、分页部件,实现对存储器的分段分页式的管理,将逻辑地址转换成物理地址。总线接口部件作用是进行片外访问:对存储器及I/O接口的访问、预取指令;另外的作用是进行总线及中断请求的控制 14、答:80386有三种存储器管理模式,分别是实地址方式、保护方式和虚拟8086方式 15、答:在实地址方式下,段寄存器与8086相同,存放段基地址。在保护方式下,每个段寄存器还有一个

14、对应的64位段描述符寄存器,段寄存器作为选择器存放选择符。在虚拟8086方式下,段寄存器的作用与8086相同。 16、答:描述符分为三类:存储器段描述符、系统段描述符、门描述符。存储器段描述符由8字节组成,它用来说明一个段中保存信息的情况。32位段基地址和20位段界限值定位了该段在存储空间中的位置,其它有关位决定访问权限及段的长度单位。系统段描述符与存储器段描述符大多数字节段相同,有关访问权及属性字节段有些不同。门描述符用来改变程序的特权级别、切换任务的执行以及指出中断服务程序的入口。 17、答:分段部件根据段选择符从全局描述符表或局部描述符表中取出对应的段描述符。把段描述符32位段基地址

15、与逻辑地址中的32位偏移量相加就形成了线性地址。 18、答:分段部件形成的32位线性地址中高10位作为寻址页目录表的偏移量,与控制寄存器CR3中页目录表基地址共同形成一个32位的地址指向页表中的一个页项,即为一个页面描述符。该页面项中高20位作为页面基地址,线性地址的低12位为偏移量,相加后形成指向某一存储单元的32位物理地址。若禁止分页功能,线性地址就是物理地址。 第三章 课后习题 3.1、 8086/8088微处理器有哪些寻址方式?并写出各种寻址方式的传送指令2条(源操作数和目的操作数寻址)。 3.2、 有关寄存器和内存单元的内容如下: DS=2000H,SS=1000H,BX

16、0BBH,BP=02H,SI=0100H,DI=0200H,(200BBH)=1AH,(201BBH)=34H,(200CCH)=68H,(200CDH)=3FH,(10202H)=78H,(10203H)=67H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(201CCH)=56H, (201CDH)=5BH,(201BCH)=89H,(200BCH)=23H,试写出下表中源操作数的寻址方式和寄存器AX的内容。 表3-7 习题1 指令 源操作数寻址方式 AX的内容 MOV AX,1200H MOV AX,BX MOV

17、 AX,[1200H] MOV AX,[BX] MOV AX,[BX+11H] MOV AX,[BX+SI] MOV AX,[BX+SI+11H] MOV AX,[BP+DI] 3.3、指出下列语句的错误。 (1)MOV [SI],34H (2)MOV 45H,AX (3)INC 12 (4)MOV [BX],[SI+BP+BUF] (5)MOV BL,AX (6)MOV CS,AX (7)OUT 240H,AL (8)MOV SS,2000H (9)LEA BX,AX (10)XC

18、HG AL,78H 3.4、已知DS=2000H,(21000H)=2234H,(21002H)=5566H,试区别以下3条指令。 MOV SI,[1000H] LEA SI,[1000H] LDS SI,[1000H] 3.5、简述堆栈的性质。如果SS=9B9FH,SP=200H,连续执行两条PUSH指令后,栈顶的物理地址是多少?SS,SP的值是多少?再执行一条POP指令后,栈顶的物理地址又是多少?SS、SP的值又是多少? 3.6、 写出将AX和BX寄存器内容进行交换的堆栈操作指令序列,并画出堆栈变化过程示意图。 3.7、用两条指令把FLAGS中的SF位置1。 3.8、用

19、一条指令完成下列各题。 (1)AL内容加上12H,结果送入AL。 (2)用BX寄存器间接寻址方式把存储器中的一个内存单元加上AX的内容,并加上CF位,结果送入该内存单元。 (3)AX的内容减去BX的内容,结果送入AX。 (4)将用BX、SI构成的基址变址寻址方式所得到的内容送入AX。 (5)将变量BUF1中前两个字节的内容送入寄存器SI中。 3.9、下面的程序段执行后,DX、AX的内容是什么? MOV DX,0EFADH MOV AX,1234H MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,

20、BL 3.10、写出下面的指令序列中各条指令执行后的AX内容。 MOV AX,7865H MOV CL,8 SAR AX,CL DEC AX MOV CX,8 MUL CX NOT AL AND AL,10H 3.11、 如果要将AL中的高4位移至低4位,有几种方法?请分别写出实现这些方法的程序段。 3.12、利用串操作指令,将AREA1起始的区域1中的200个字节数据传送到以AREA2为起始地址的区域2(两个区域有重叠)。 3.13、寄存器BX中有4位0~F的十六进制数,编写程序段,将其转换为对应字符(即ASCII码),按从高到低的顺序分别存入L1、L2、L3、L

21、4这4个字节单元中。 3.14、 试将BUF起始的100个字节的组合BCD码数字,转换成ASCII码,并存放在以ASC为起始地址的单元中。已知高位BCD码位于较高地址中。 3.15、 请给出以下各指令序列执行完后目的寄存器的内容。 (1)MOV BX,-78 MOVSX EBX,BX (2)MOV CL,-5 MOVSX EDX,CL (3)MOV AH,9 MOVZX ECX,AH (4)MOV AX,87H MOVZX EBX,AX 3.16、 请给出以下各指令序列执行完后EAX和EBX的内容。 MOV ECX,12345678H BSF EA

22、X,ECX BSR EBX,ECX 3.17、 给以TAB为首地址的100个ASCII码字符添加奇偶校验位(bit7),使每个字节中的“1”的个数为偶数,在顺序输出到10H号端口。 3.18、 编写一段程序,要求在长度为100H字节的数组中,找出正数的个数并存入字节单元POSIT中,找出负数的个数并存入字节单元NEGAT中。 习题三 参考答案 3.1答:寻址方式是指计算机在执行指令时寻找操作数的方式。8086/8088微处理器有以下几种寻址方式: ①立即寻址。操作数(仅限源操作数)直接放在指令中。例如:mov cx,100;mov ah,20h。 ②寄存器寻址。操作数在CP

23、U的内部寄存器中。例如:mov es,ax;mov dl,bh。 ③直接寻址。指令中直接给出了操作数的偏移地址。例如:mov ax,[3000h];mov buf,100。 ④寄存器间接寻址。操作数的偏移地址放在寄存器bp,bx,si,di四个寄存器中的一个里。例如:mov ax,[si];mov [bx],cx。 ⑤寄存器相对寻址。操作数的有效地址为基址寄存器或变址寄存器的内容与指令中指定的位移量之和。例如:mov ax,cnt[si];mov str[bx],ax。 ⑥基址变址寻址。操作数的有效地址是一个基址寄存器和一个变址寄存器的和。例如:mov ax,[si+bx];mov [

24、bx+di],dx。 ⑦相对基址变址寻址。操作数的有效地址为一个基址寄存器、一个变址寄存器的内容与指令中指定的位移量三者之和。例如:mov ax,cnt[bx][si];mov cnt[bx][si],ax。 3.2. 答: 指令 源操作数寻址方式 AX的内容 MOV AX,1200H 立即寻址 1200H MOV AX,BX 寄存器寻址 0BBH MOV AX,[1200H] 直接寻址 4C2AH MOV AX,[BX] 寄存器间接寻址 231AH MOV AX,[BX+11H] 寄存器相对寻址 3F68H MOV AX,[BX+SI] 基址变址寻

25、址 8934H MOV AX,[BX+SI+11H] 相对基址变址寻址 5B56H MOV AX,[BP+DI] 基址变址寻址 6778H 3.3 答: (1)MOV [SI],34H;目的操作数必须指出是字节操作还是字操作,比如可改成MOV BYTE PTR [SI],34H (2)MOV 45H,AX;目的操作数不能是立即数 (3)INC 12;操作数不能是立即数 (4)MOV [BX],[SI+BP+BUF];两个操作数不能同是存储单元 (5)MOV BL,AX;操作数不匹配 (6)MOV CS,AX;CS不能作为目的操作数 (7)OUT 240H,A

26、L;对于IN和OUT指令,端口号大于FFH时,必须先将端口号放入DX寄存器中 (8)MOV SS,2000H;段寄存器不能用立即数来赋值,可改成MOV SS,AX (9)LEA BX,AX;源操作数必须是内存,如LEA BX,BUFFER (10)XCHG AL,78H;交换指令不能对立即数操作 3.4答:MOV SI,[1000H];(SI)=2234H LEA SI,[1000H];(SI)=1000H LDS SI,[1000H];(SI)=2234H,(DS)=5566H 3.5答:先进后出。 9BBF0H-4=9BBECH 9BBECH+2=9BBEEH 3.

27、6答:PUSH AX PUSH BX POP AX POP BX 3.7 答:MOV AX,7FH ADD AX,1 3.8答:⑴ADD AL,12H ⑵ADC [BX],AX ⑶SUB AX,BX ⑷MOV AX,[BX+SI] ⑸MOV SI,BUF1 3.9答:DX=FAD1H,AX=2340H 3.10答:AX=300H 3.11答:①循环左移 mov cl,4 rol al,cl ②循环右移 mov cl,4 ror al,cl ③右移 mov cl,4 shr al,cl 3.12答:从末端开始传送即可解决重叠问题。 mov cx,20

28、0 mov si,offset aera1 add si,200 mov di,offset aere2 add di,200 std;DF=1,进行地址减量 rep movsb 3.13答: MOV CL,4 MOV AL,BL ;处理最低位十六进制数 AND AL,0FH CMP AL,0AH JC DIGT4 ADD AL,7 DIGT4: ADD,AL,30H MOV L4,AL MOV AL,BL ;处理次低位十六进制数 SHR AL,CL CMP AL,0AH JC DIGT3 ADD AL,7 DIGT3: A

29、DD,AL,30H MOV L3,AL MOV AL,BH ;处理次高位十六进制数 AND AL,0FH CMP AL,0AH JC DIGT2 ADD AL,7 DIGT2: ADD,AL,30H MOV L2,AL MOV AL,BH ;处理最高位十六进制数 SHR AL,CL CMP AL,0AH JC DIGT1 ADD AL,7 DIGT1: ADD,AL,30H MOV L1,AL 3.14答: LEA SI,BUF LEA BX,ASC MOV CH,100 MOV CL,4 AGAIN: MO

30、V AL,[SI] ;处理低位BCD码 AND AL,0FH ADD AL,30H MOV [BX],AL INC BX MOV AL,[SI] ;处理高位BCD码 SHR AL,CL ADD AL,30H MOV [BX],AL INC BX INC SI DEC CH JNZ AGAIN 3.15答:(1)MOV BX,-78;(BX)=FFB2H MOVSX EBX,BX;(EBX)=FFFFFFB2H (2)MOV CL,-5;(CL)=FBH MOVSX EDX,CL;(EDX)=FFFFFFFBH (3)MOV AH,

31、9;(AH)=9H MOVZX ECX,AH(ECX)=00000009H (4)MOV AX,87H;(AX)=87H MOVZX EBX,AX;(EBX)=00000087H 3.16答:MOV ECX,12345678H;(ECX)=12345678H BSF EAX,ECX ;(EAX)=00000003H BSR EBX,ECX;(EBX)=0000001CH 3.17答: MOV CX,100 LEA BX,TAB AGN: MOV AL,[BX] ADD AL,0 JP NEXT OR AL,80H NEXT: OUT 10H,AL INC BX

32、 LOOP AGN 3.18 答:假设数组的起始地址是BUFFER LEA BX,BUFFER MOV DX,0 MOV CX,100 ONCE: MOV AL,[BX] TEST AL,80H;是正数还是负数 JNZ FUSHU;是负数,跳转 CMP AL,0;是0吗? JZ NEXT INC DH;是正数,则DH加1 JMP NEXT FUSHU: INC DL;是负数,则DL加1 NEXT: INC BX DEC CX JNZ ONCE MOV POSIT,DH MOV NEGAT,DL 第四章 课后习题 4.1、汇编语言有何特点?编写汇编语言源程

33、序时,一般的组成原则是什么? 4.2、.MODEL伪指令是简化段定义源程序格式中必不可少的语句,它设计了哪几种存储模式,各用于创建什么性质的程序? 4.3、如何规定一个程序执行的开始位置,主程序执行结束应该如何返回DOS,源程序在何处停止汇编过程? 4.4、逻辑段具有哪些属性?完整代码段定义时的默认属性是什么?小型模式下的简化代码段定义具有的默认属性是什么? 4.5、 DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么? 4.6、给出下列语句中,指令立即数(数值表达式)的值: (1)mov al,23h AND 45h OR 67h (2)mov ax,1234h/1

34、6+10h (3)mov ax,254h SHL 4 (4)mov al,’a’ AND (NOT(‘b’一 ‘B’)) (5)mov ax,(76543 LT 32768)XOR 7654h 4.7、画图说明下列语句分配的存储空间及初始化的数据值: (1) byte_var db ‘BCD’,10,10h,’EF’,2 dup (一l,?,3 dup(4)) (2) word_var dw 1234h,一5,6 dup(?) 4.8、设置一个数据段,按照如下要求定义变量: (1)myl_b为字符串变量,表示字符串“Personal Computer!” (2)my2

35、b为用十六进制数表示的字节变量,这个数的大小为100 (3)my3_w为100个未赋值的字变量 (4)my4_c为100的符号常量 (5)my5_c为字符串常量,代替字符串“Personal Computer!” 4.9、假设opw是一个字变量,opbl和opb2是两个字节变量,指出下列语句中的具体错误原因并改正错误。 (1) mov byte ptr [bx],256 (2) mov bx,offset opw[si] (3) add opbl,opb2 (4) mov opbl,al+l (5) sub al,opw (6) mov [di],1234h 4.10、

36、编制一个程序,把字变量X和Y中数值较大者存入MAX字单元;若两者相等,则把-1存入MAX中。假设变量存放的是有符号数。 4.11、设变量DAT为有符号16位数,请编写程序将它的符号状态保存在sign字节单元,即:如果变量值大于等于0,保存0;如果变量值小于0,保存-1。 4.12、 X、Y和Z是3个有符号字节数据,编写一个比较相等关系的程序: (1)如果这3个数都不相等,则显示N; (2)如果这3个数中有两个数相等,则显示X; (3)如果这3个数都相等,则显示Y。 4.13、编制程序完成12H,23H,F3H,6AH,20H,FEH,10H,C8H,25H和34H共10个无符号字节

37、数据之和,并将结果存入字变量SUM中。 4.14、求出主存从2000H:0开始的一个64KB物理段中共有的空格个数,存入DX中。 4.15、过程定义的一般格式是什么?子程序开始为什么常有PUSH指令,返回前为什么有POP指令?下面完成16位无符号数累加的子程序是否正确?若有错,请改正。 jiafa PROC push ax xor ax,ax xor dx,dx again: add ax, [bx] adc dx,0 inc bx inc bx loop again ret ENDP jiafa 4.16、编写一个程序,统计寄存器AX中二进制数位“0”的个数,结

38、果以二位十进制数形式显示到屏幕上。 4.17、子程序的参数传递有哪些方法? 4.18、编写一个求32位数据补码的子程序,通过寄存器传递入口参数。 4.19、所谓“校验和”是指不记进位的累加,常用于检查信息的正确性。编写一个计算字节校验和的子程序。主程序提供入口参数:数据个数和数据缓冲区的首地址。子程序回送求和结果这个出口参数。 4.20、编制一个子程序,把一个16位二进制数用4位16进制形式在屏幕上显示出来。 4.21、在以BUF为首地址的字缓冲区中有3个无符号数,编程将这3个数按升序排列,结果存回原缓冲区。 4.22、在DAT字节单元中有一个有符号数,判断其正负,若为正数,则在屏

39、幕上显示“+”号;若为负数,则显示“-”号;若是0,则显示0。 4.23、编程求1~400中所有奇数的和,结果以十六进制数形式显示到屏幕上。 4.24、在以DAT为首地址的字节缓冲区中存有100H个无符号字节数据,编程求其最大值与最小值之和,结果存入RESULT字单元。 4.25、在内存单元CNT中有一个字数据,编程将其二进制数显示到屏幕上。 4.26、在以STRG为首地址的缓冲区中有一组字符串,长度为100,编程实现将其中所有的英文小写字母转换成大写字母,其它的不变。 4.27、在以DAT为首地址的内存中有100个无符号数(数的长度为字),编程统计其中奇数的个数,结果以十进制形式显

40、示到屏幕上。要求分别用子程序完成奇数个数统计,用宏完成十进制数显示。 4.28、编写一段程序,使汇编程序根据SIGN的值分别产生不同的指令。 如果SIGN=0,则用字节变量DATB中的无符号数除以字节变量SCALE;如果SIGN=1,则用字节变量DATB中的有符号数除以字节变量SCALE,结果都存放在字节变量RESULT中。 习题四 参考答案 4.1答:汇编语言是计算机能够提供给用户使用的最快速有效的语言,它是以处理器指令系统为基础的低级程序设计语言,采用助记符表示指令操作码,采用标识符表示指令操作数。利用汇编语言编写程序的主要优点是可以直接、有效地控制计算机硬件,因而容易创建代

41、码序列短小、运行快速的可执行程序。在对程序的空间和时间要求高的应用领域,汇编语言的作用是不容置疑和无可替代的。然而,汇编语言作为一种低级语言也存在很多不足,例如,功能有限、编程难度大、依赖处理器指令,这也限制了它的应用范围。 汇编语言源程序由若干语句组成,通常,这些语句可以分为3类,分别是: (1)指令语句;(2) 宏指令语句;(3) 伪指令语句。汇编语言也由段组成,8086/8088按照逻辑段组织程序,具有代码段、数据段、附加段和堆栈段,段与段之间的顺序可以任意排列。需要独立运行的程序必须包含一个代码段,一个程序只有一个起始点,且必须指示程序的起始点。 4.2答:七种存储模型: ①T

42、iny 所有数据和代码都放在一个段内,其数据和代码都是近访问。Tiny程序可以写成.COM文件格式 ,COM程序必须从0100H的存储单元开始。这种模型一般用于小程序。 ②Small 所有数据放在一个64KB的数据段内,所有代码放在另一个64KB的代码段内,数据和代码也都是近访问的。这是一般应用程序最常用的一种模型。 ③Medium 代码使用多个段,一般一个模块一个段,而数据则合并成一个64KB的段组。这样,数据是近访问的,而代码则可远访问。 ④Compact 所有代码都放在一个64KB的代码段内,数据则可放在多个段内,形成代码是近访问的,而数据则可为远访问的格式。 ⑤Large 代码

43、和数据都可用多个段,所以数据和代码都可以远访问。 ⑥Huge 与Large模型相同,其差别是允许数据段的大小超过64KB。 ⑦Flat 允许用户用32位偏移量,但DOS下不允许使用这种模型,只能在OS/2下或其他保护模式的操作系统下使用。MASM 5版本不支持这种模型,但MASM 6可以支持。 4.3答:需要使用一个标号,如start。对于有数据段的程序,简化段定义下应该这样开始: start:mov ax,@data mov ds,ax 汇编语言程序设计过程中,有多种返回DOS的方法,但一般用DOS功能调用的4CH子功能来实现。应用程序的终止代码是: mov ax,4c00h

44、 int 21h 汇编结束是指汇编程序结束将源程序翻译成目标模块代码的过程。源程序的最后必须有一条end伪指令:end [标号];其中,可选的标号是程序指定的开始执行点,连接程序以此设置CS和IP。如: end start 4.4答:逻辑段具有4个属性:(1)定位类型(align_type)说明段的起始地址应有怎样的边界值;(2)组合类型(combine_type)说明程序连接时的段合并方法;(3)使用类型(use_type)只适用于386及其后继机型,它用来指定寻址方式。(4)类别(‘class’)在引号中给出连接时组成段组的类型名。 完整代码段定义时的默认属性是:PARA、PRI

45、VATE、USEl6 4.5答:COM和EXE程序结构。EXE程序有独立的代码段、数据段和堆栈段,还可以有多个代码段和多个数据段,程序长度可以超过64KB。COM程序只有一个逻辑段,其中包含数据区、代码区和堆栈区,程序代码长度不超过64KB,程序从100H处开始执行。 4.6 答:(1)mov al,23h AND 45h OR 67h;67H (2)mov ax,1234h/16+10h;133H (3)mov ax,254h SHL 4;2540H (4)mov al,’a’ AND (NOT(‘b’- ‘B’));21H (5)mov ax,(76543 LT 32768)X

46、OR 7654h;89ABH 4.7.答:(1) 42H 43H 44H 0AH 10H 45H 46H FFH - 04H 04H 04H FFH - 04H 04H 04H (2) 34H 12H FBH FFH - - - - - - - - - - - - 4.8答:(1)myl_b db ‘Personal Computer!’ (2)my2_b db 64H (3)my3_w dw 100 dup(?) (4)my4_c equ 100 (5)my5_c equ

47、r!> 4.9答:(1) mov byte ptr [bx],256;改正――mov word ptr [bx],256 (2) mov bx,offset opw[si];改正――mov bx,offset opw (3) add opbl,opb2;改正――add al,opb2 (4) mov opbl,al+l;改正――mov opbl,al (5) sub al,opw;改正――sub al,opb1 (6) mov [di],1234h;改正――mov word ptr [di],1234h 4.10答: .MODEL SMALL .DATA X DW 1234

48、H Y DW 4321H MAX DW ? .CODE START: MOV AX,@DATA MOV DS,AX MOV AX,X CMP AX,Y JNZ NEQU MOV MAX,0FFFFH JMP STOP NEQU: JC NEXT MOV MAX,X JMP STOP NEXT: MOV MAX,Y STOP: MOV AX,4C00H INT 21H END START 4.11答:.MODEL SMALL .DATA DAT DW 9234H SIGN DW ? .CODE START: MOV AX,@DATA MOV DS,

49、AX MOV AX,DAT CMP AX,0 JZ STOP TEST AX,8000H JNZ FU MOV SIGN,0 JMP STOP FU: MOV SIGN,0FFH STOP: MOV AX,4COOH INT 21H END START 4.12答: DISPLAY MACRO MOV AH,2 INT 21H ENDM .MODEL SMALL .DATA X DW 1230H Y DW 1234H Z DW 1234H .CODE START: MOV AX,@DATA MOV DS,AX MOV AX,X MOV

50、BX,Y CMP AX,Z JNZ N1 CMP AX,BX JNZ N2 MOV DL,'Y' DISPLAY STOP: MOV AX,4C00H INT 21H N1: CMP AX,BX JNZ N3 N2: MOV DL,'X' DISPLAY JMP STOP N3: CMP BX,Z JNZ N4 JMP N2 N4: MOV DL,'N' DISPLAY JMP STOP END START 4.13答: .MODEL SMALL .DATA DAT DB 12H,23H,0F3H,6AH,20H,0FEH,10H,C8

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服