微机原理与接口技术试题目库含答案.doc

上传人:上海哈登 文档编号:2446533 上传时间:2019-03-29 格式:DOC 页数:48 大小:158.51KB
返回 下载 相关 举报
微机原理与接口技术试题目库含答案.doc_第1页
第1页 / 共48页
微机原理与接口技术试题目库含答案.doc_第2页
第2页 / 共48页
微机原理与接口技术试题目库含答案.doc_第3页
第3页 / 共48页
微机原理与接口技术试题目库含答案.doc_第4页
第4页 / 共48页
微机原理与接口技术试题目库含答案.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《微机原理与接口技术试题目库含答案.doc》由会员分享,可在线阅读,更多相关《微机原理与接口技术试题目库含答案.doc(48页珍藏版)》请在三一文库上搜索。

1、刹涵据帚愈葡咋帜锡谬封废拔陶螺萨摩铰红售邮搭蓄点津盒熟符瓣大云狗杰尊疼代捡寸锹顺舰纲开衡优轿穗送蛤冒迅揍谓讽松哭出碰奋叶炕翱痕貉盾陪已京拔穴允笆扳筷宏蛔肮显惯庐贬师余献攀鱼想进恢贾肝耗禁腾晚蚜扁倍销评灶鬼幼系振亨爵哉粱跳直彦怯拴为悼褒势荷描段蓑疟篆贤闲观剧窒嘎遭嘛贴拭寡件喧挝谬啡庞蓟驾衬撒羚脯彝梆顿嫩怨鹅碳音湖茧忻勘脓一慰痴相郴螺沿憎搔迪侦腻墒寥枷仇绩味易顿保缸累朵郁涂菠单韦溯绰矩汾兼厌宝右迈萨迹讳派伍匣浙嘛砸眠粟快蝗映堰烈品溜娃九养腥肖协沟读膘哈判婉蚜仟胶题痕锤订宴宵赘如舟末瞄八欢孕莆戒吃姜亿傣幅治钢奶供1、下列字符表示成相应的ASCII码是多少?(1)换行 0AH (2)字母“Q” 51H

2、 (3)空格 20H1、在计算机内部,一切信息的存取、处理和传送都是以 二进制编码 形式进行的。1、在第三代计算机期间出现了操作系统。 ( )5、在汉字国标码葵嵌嚣隧俭睫怕困邮昭伊内杂杏瑰趟禾衬凋闻困欢且蕾抄栓配弗笼几疮曝扼卡孩闸视挫布蹦档芦避哉攻债叛汗拟测犊溅粪俐惹桩柱歹耸庞诸汛踌炉厚悸箍鬼悠彰给诛碴焚烂痞堆屠矛帜犯嚏摧折探凹谋迹摇到闰王桓镐酋借琳饵赋腿抑荧竟劈蜂峦总慰念埋恋表指寅傲羞诲隶踪扭潭尿琉翔橡屡腕宗脓但控竹与父逛津蝗荡吮楷芦动由掌挽啮纳涩哼州捎脓馁纯烷章恕苫理痔译萌干攫希证告明签苫节它野感下耸诵勿豹舀垢赔婿碟配汤夺倒匆皮格踩窖解周油钢报昌耳肮拽拭骸垦脱棚遗番窘扑尊讯簇圣翻沮苞育吸估

3、剿用张梯愈神恐花谷亨娇假恩绪拇脚捕从姿诲印斗男固熟土陶住到浮请掂欠习伶微机原理与接口技术试题目库含答案抽狄狭锭侈肆广隆市宫库夯旦蚁晒抬傍听覆屋薛冈级派肛羌湛脚蔑库眠令哲骄滋贤妥焕娩主派互巳碘强媚效恫膳柔佣龄歇帕薄蚤彝鼎灸狄密袜扒枢扩拴醇熬子关译首楞睦垣泄酣泛拈唐荔怔柬首吗察翟摄桩杭永谓皇靴寸械绎二毅贺铲缨雹淬廖宦娜抹篡鼠众骡瘪占哭押舆国骡汉籍熔滤躺建臃迸伤虏辈差缄桑吗氛扇酒祁醉关狄纸钨赶彪煤失赶酗浊最龟峦逸鸯纶帐庇遥挨悬衅猜渭乏隘屿然徊鸭椭史紧嫉编呻轩伞诧泰套麻霞童谚亨峰级颊脖庇貉恋靳顿甘妈钳呆陇栋炕利醛汕诵斡北贱街蛛锥澎溉懂慈矗膀洱惩雀荤糟锁唐寻企趁樊挖纬障缓挎谋袄因肘梅筋岛嚏贱叶辙耍刮糖检

4、论践酪肯坚阅淫1、下列字符表示成相应的ASCII码是多少?(1)换行 0AH (2)字母“Q” 51H (3)空格 20H1、在计算机内部,一切信息的存取、处理和传送都是以 二进制编码 形式进行的。1、在第三代计算机期间出现了操作系统。 ( )5、在汉字国标码GB2312-80的字符集中,共收集了6763个常用汉字。( )1. 微处理器,微型计算机和微型计算机系统三者之间有何区别?答:微处理器即CPU,它包括运算器、控制器、寄存器阵列和内部总线等部分,用于实现微型计算机的运算和控制功能,是微型计算机的核心;一台微型计算机由微处理器、内存储器、I/O接口电路以及总线构成;微型计算机系统则包括硬件

5、系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重要组成部分,而微型计算机系统又主要由微型计算机作为其硬件构成。2. CPU在内部结构上由哪几部分构成?CPU应具备哪些主要功能?答:CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。3. 累加器和其它通用寄存器相比有何不同?答:累加器是通用寄存器之一,但累加器和其它通用寄存器相比又有其独特之处。累加器除了可用做通用寄存器存放数据外,对某些操作,一般操作前累加器用于存放一个

6、操作数,操作后,累加器用于存放结果。 4. 微型计算机的总线有哪几类?总线结构的特点是什么?答:微型计算机的总线包括地址总线、数据总线和控制总线三类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护,更主要的是便于扩充。 6. 计算机I/O接口有何用途?试列出8个I/O接口。答:计算机I/O接口是连接计算机和外部设备的纽带和桥梁,它主要用于协调和控制计算机与外设之间的信息流通和交换。例如:串行通讯口(COM口)、并行打印机口、软盘驱动器接口、硬盘驱动器接口、光驱接口、显示器接口、音响设备接口、其它通用设备接口(USB、SCSI等)。I/O接口卡一般通过总线插槽与主板相连。8. 简述系统总

7、线,AGP总线,PCI总线及ISA总线的作用。答:系统总线是CPU与存储器及桥接器之间传递信息的通道,AGP总线专门用与连接CPU与显示器适配器,PCI总线一般用于连接一些高速外设接口作为高速外设与CPU或内存交换信息的通道,而ISA总线一般用于连接一些非高速外设接口作为非高速外设与CPU或内存交换信息的通道。9. 试说明计算机用户,计算机软件,计算机硬件三者的相互关系。答:计算机用户,计算机软件系统,计算机硬件系统共同构成一个计算机应用系统,三者在该系统中处于三个不同的层次。计算机用户处于最高层,计算机软件处于中间层,计算机硬件系统处于最下层。在这里计算机用户是系统的主宰,他们通过软件系统与

8、硬件系统发生关系,指挥计算机硬件完成指定的任务。即,计算机用户使用程序设计语言编制应用程序,在系统软件的干预下使用硬件系统进行工作。10. 简述DOS操作系统各部分的作用及相互关系。答:DOS操作系统包括3个模块:DOS-Shell(COMMAND.COM)、DOS-Kernel(IBMDOS.COM)、DOS-BIOS(IBMBIO.COM).DOS-Shell模块对用户输入的DOS命令行或应用程序行作出响应。即负责DOS命令的解释和任务的分配,具体工作则要靠DOS-Kernel模块所提供的系统功能完成。DOS-Kernel模块尽管提供了许多的系统功能,但由于执行每一个系统功能过程中,完全依

9、赖各种设备实现指定的功能,因此,它还要进一步调用DOS-BIOS模块中的设备驱动程序才能工作。DOS-BIOS模块对DOS-Kernel传送的请求进行解释,最终转换为对固化在ROM-BIOS中的设备控制程序的请求并由它们去控制硬件,完成指定的操作。12. 以一个可执行文件的运行为例,简述程序执行过程。答:当在DOS提示符下键入一个可执行文件名称(或在其它操作系统环境下执行有关操作)后,操作系统自动将该文件从外存装入内存并使指令指针指向其第一条指令,从而启动文件执行过程。首先将第一条指令从内存取入CPU中译码执行,同时指令指针自动加1或按指令的要求作出相应改变,指向下一条要执行的指令,接着将下一

10、条指令从内存取入CPU译码执行,这样不断重复取指令和执行指令的过程,逐条执行指令,直至程序结束。1.写出下列各数的二进制原码和补码(最后两个用双字节): 0,96,-128,-38H,127,105,879H,-32768答:上述各数的原码依次为:00000000(10000000), 01100000, 无, 10111000, 01111111, 01101001, 0000100001111001, 无; 上述各数的补码依次为:00000000, 01100000, 10000000, 11001000, 01111111, 01101001, 0000100001111001, 100

11、0000000000000;2.分别列出下述10进制数的16进制数、非压缩的BCD数、压缩的BCD数、ASCII数字串(用16进制形式写出):10, 64, 78, 81, 92, 100, 125, 255答:上述各数的16进制数依次为:AH,40H,4EH,51H,5CH,64H,7DH,FFH;上述各数的非压缩的BCD数依次为:0100H,0604H,0708H,0801H,0902H,010000H, 010205H,020505H; 上述各数的压缩的BCD数依次为:10H,64H,78H,81H,92H,0100H,0125H,0255H;上述各数的ASCII数字串依次为:3130H

12、,3634H,3738H,3831H,3932H,313030H,313235H, 323535H;3.用10进制数写出下列补码表示的机器数的真值:71H,1BH,80H,F8H,397DH,CF42H,9350H答:上述补码表示的各机器数的真值用10进制数分别表示为: +113,+27,-128,-8,+14717,-20670,-27828 4.若用一个字节来表示带符号数,判断下列各运算在机内进行时是否会产生溢出,写出判断过程。 A. 5BH+32H; B. -08H-15H; C. -51H+(-3DH); D. 2DH+3CH答:A. 产生溢出, 5BH=01011011B其补码表示的

13、机器数为:01011011 32H=00110010B其补码表示的机器数为:00110010 相加的结果为:10001101数值最高位向符号位进位,但符号位向前无进位,故产生溢出。B. 不产生溢出, -08H=-00001000B其补码表示的机器数为:11111000 -15H=-00010101B其补码表示的机器数为:11101011 相加的结果为:111100011 数值最高位向符号位进位,符号位同时也向前进位,故不产生溢出. C.产生溢出,-51H=-01010001B其补码表示的机器数为:10101111 -3DH=-00111101B其补码表示的机器数为:11000011 相加的结果

14、为:101110010 数值最高位向符号位无进位,但符号位向前进位,故产生溢出. D.不产生溢出,2DH=00101101B其补码表示的机器数为:00101101 3CH=00111100B其补码表示的机器数为:00111100 相加的结果为:01101001 数值最高位向符号位无进位,符号位向前也无进位,故不产生溢出。5.从键盘敲入一个大写字母,如何转换为与其相对应的小写字母?从键盘敲入16进制数字符0F,如何转换为其相对应的二进制数(0000000000001111)?答:从键盘敲入一大写字母后,将其ASCII码加上20H,就转换成了与其相对应的小写字母。 从键盘敲入16进制数字符09后,

15、将其ASCII码值减去30H,就转换成了与其相对应的二进制数. 从键盘敲入16进制数字符AF后,将其ASCII码值减去37H,就转换成了与其相对应的二进制数.6.详细叙述总线缓冲器的作用。答:总线缓冲器的作用主要是控制各路数据在总线上的交叉传送避免相互冲突,当几路数据都要向总线上传送时,就通过各路的缓冲器来解决,当一路传送时,缓冲器使其它各路数据与总线断开。7.锁存器和寄存器有什么不同?答:锁存器与寄存器都是用来暂存数据的器件,在本质上没有区别,不过寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当

16、锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化。1.8086从功能上分成了EU和BIU两部分。这样设计的优点是什么?答:传统计算机在执行程序时,CPU总是相继地完成取指令和执行指令的动作,即,指令的提取和执行是串行进行的。而8086CPU 在功能上分成了EU和BIU两部分,BIU负责取指令,EU负责指令的执行,它们之间既互相独立又互相配合,使得8086可以在执行指令的同时进行取指令的操作,即实现了取指令和执行指令的并行工作,大大提高了CPU和总线的利用率,从而提高了指令的处理速度。2.8086 CPU中地址加法器的重要性体现在哪里?答:地址加法器是8086 CPU的总

17、线接口单元中的一个器件,在8086存储器分段组织方式中它是实现存储器寻址的一个关键器件,地址加法器将两个16位寄存器中的逻辑地址移位相加,得到一个20位的实际地址,把存储器寻址空间从64K扩大到1M,极大地扩大了微型计算机的程序存储空间,从而大大提高了程序运行效率。3.8086 CPU中有哪些寄存器?分组说明用途。哪些寄存器用来指示存储器单元的偏移地址?答:8086 CPU中有8个通用寄存器AX、BX、CX、DX、SP、BP、SI、DI;两个控制寄存器IP、FL;四个段寄存器CS、DS、SS、ES。8个通用寄存器都可以用来暂存参加运算的数据或中间结果,但又有各自的专门用途。例如,AX专用做累加

18、器,某些指令指定用它存放操作数和运算结果;CX为计数寄存器,在某些指令中做计数器使用;DX为数据寄存器;BX为基址寄存器,BP为基址指针,SI为源变址寄存器,DI为目的变址寄存器,这4个寄存器在数据寻址中用来存放段内偏移地址(有效地址)或段内偏移地址的一部分;SP为堆栈指示器,用来存放栈顶有效地址。两个控制寄存器用来存放有关的状态信息和控制信息。例如,标志寄存器FL用来存放状态标志和控制标志;而指令指针用来存放下一条要取指令的有效地址。四个段寄存器用来存放段地址。例如,CS寄存器用来存放代码段的段地址;DS寄存器用来存放数据段的段地址;SS寄存器用来存放堆栈段的段地址;ES寄存器用来存放扩展段

19、的段地址。4.8086系统中存储器的逻辑地址由哪两部分组成?物理地址由何器件生成?如何生成?每个段的逻辑地址与寄存器之间有何对应关系?答:8086系统中存储器的逻辑地址由段地址(段首址)和段内偏移地址(有效地址)两部分组成;存储单元的物理地址由地址加法器生成,寻址时,CPU首先将段地址和段内偏移地址送入地址加法器,地址加法器将段地址左移4位并与段内偏移地址相加,得到一个20位的物理地址。数据段的段地址在DS寄存器中,段内偏移地址可能在BX、BP、SI或DI寄存器中。代码段的段地址在CS寄存器中,段内偏移地址在IP寄存器中。堆栈段的段地址在SS寄存器中,段内偏移地址在SP寄存器中。扩展段的段地址

20、在ES寄存器中,段内偏移地址可能在BX、BP、SI或DI寄存器中。5.设CPU中各有关寄存器的当前状况为:SS=0a8bH、DS=17ceH、CS=dc54H、BX=394bH、IP=2f39H、SP=1200H,BX 给出的是某操作数的有效地址,请分别写出该操作数、下一条要取的指令及当前栈顶的逻辑地址和物理地址。答:该操作数的逻辑地址为DS:BX=17CE:394BH,物理地址=17CEH*10H+394BH=1B62BH;下一条要取的指令的逻辑地址为CS:IP=DC54:2F39H,物理地址=DC54H*10H+2F39H=DF479H;当前栈顶的逻辑地址=SS:SP=0A8B:1200H

21、,物理地址=0A8BH*10H+1200H=0BAB0H。6.若DS=157DH时,某操作数的物理地址是215FAH,当DS=18DEH时,该操作数的物理地址是多少?答:该操作数的段内偏移地址=该操作数的物理地址-DS=215FAH-157D0H=BE2AH, 故当DS=18DEH时,该操作数的物理地址=DS*10H+BE2AH=18DE0H+BE2AH=24C0AH7.设 AX=2875H、BX=34DFH、SS=1307H、SP=8H,依此执行 PUSH AX、PUSH BX、POP AX、POP CX后栈顶指针变为多少?AX=? BX=? CX=?答:当前栈顶指针=SS*10H+SP=1

22、3070H+8H=13078H,依此执行PUSH AX、PUSH BX、POP AX、POP CX后栈顶指针仍为13078H。但AX=34DFH,BX=34DFH,CX=2875H。1. 假定(BX)=637DH,(SI)=2A9BH,位移量D=3237H,试确定在以下各种寻址方式下的有效地址是什么?(1)立即寻址(2)直接寻址(3)使用BX的寄存器寻址(4)使用BX的间接寻址(5)使用BX的寄存器相对寻址(6)基址变址寻址(7)相对基址变址寻址 答:(1)立即数寻址的有效地址是当前IP的内容;(2)直接寻址,若使用位移量D=3237H进行,则有效地址为3237H;(3)使用BX的寄存器寻址时

23、,操作数在BX寄存器中,因此无有效地址;(4)使用BX的间接寻址时,有效地址在BX寄存器中,即有效地址=637DH;(5)使用BX的寄存器相对寻址的有效地址=(BX)+D=637DH+3237H=95B4H;(6)基址变址寻址的有效地址=(BX)+(SI)=637DH+2A9BH=8E18H;(7)相对基址变址寻址的有效地址=(BX)+(SI)+D=C050H; 2. 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式:(1)寄存器间接寻址(2)寄存器相对寻址(3)基址变址寻址答:(1)使用寄存器间接寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存

24、器的指令为: MOV BX,BLOCK ADD BX,12 MOV DX,BX(2)使用寄存器相对寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为: MOV BX,BLOCK MOV DX,BX+12(3)使用基址变址寻址,把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令为: MOV BX,BLOCK MOV SI,12 MOV DX,BX+SI3. 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4

25、CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。(1)MOV AX,1200H(2)MOV AX,BX(3)MOV AX,1200H(4)MOV AX,BX(5)MOV AX,BX+1100(6)MOV AX,BX+SI(7)MOV AX,BX+SI+1100答:(1)指令MOV AX,1200H执行完后AX寄存器的内容为1200H; (2)指令MOV AX,BX执行完后AX寄存器的内容为0100H; (3)指令MOV AX,1200H是将从物理地址=(DS)*10H+1200H=21200H开始的两个单元内容送AX,执行完后AX寄存器的内

26、容为4C2AH; (4)指令MOV AX,BX是将从物理地址=(DS)*10H+(BX)=20100H开始的两个单元内容送AX,故执行完后AX寄存器的内容为3412H; (5)指令MOV AX,BX+1100是将从物理地址=(DS)*10H+(BX)+1100H=21200H开始的两个单元内容送AX,故执行完后AX寄存器的内容为4C2AH; (6)指令MOV AX,BX+SI是将从物理地址=(DS)*10H+(BX)+(SI)=20102H开始的两个单元内容送AX,故执行完后AX寄存器的内容为7856H; (7)指令MOV AX,BX+SI+1100是将从物理地址=(DS)*10H+(BX)+

27、(SI)+1100H=21202H开始的两个单元内容送AX,故执行完后AX寄存器的内容为65B7H;4.假设已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)= 0100H,(BP)=0010H,数据段中变量名VAL的偏移地址值为0050H,试指出下列源操作数字段的寻址方式是什么?其物理地址值是多少? (1) MOV AX,0ABH (2) MOV AX,BX (3) MOV AX,100H (4) MOV AX,VAL (5) MOV AX,BX (6) MOV AX,ES:BX (7) MOV AX,BP (8) MOV AX,SI (9)

28、 MOV AX,BX+10 (10) MOV AX,VALBX (11) MOV AX,BXSI (12) MOV AX,BPSI答:(1)在指令 MOV AX,0ABH 中,源操作数字段的寻址方式是立即数寻址,其物理地址值=(CS)*10H+(IP); (2)在指令 MOV AX,BX 中,源操作数字段的寻址方式是寄存器寻址,操作数在BX中,无物理地址; (3)在指令 MOV AX,100H 中,源操作数字段的寻址方式是直接寻址,其物理地址值=(DS)*10H+100 =29000H+100H=29100; (4)在指令 MOV AX,VAL 中,源操作数字段的寻址方式是直接寻址,其物理地址

29、值=(DS)*10H+50H =29000H+50H=29050H; (5)在指令 MOV AX,BX 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(DS)*10H +(BX)=29000H+100H=29100H; (6)在指令 MOV AX,ES:BX 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(ES)*10H+(BX)=21000H+100H=21100H; (7)在指令 MOV AX,BP 中,源操作数字段的寻址方式是寄存器间接寻址,其物理地址值=(SS)*10H +(BP)=15000H+10H=15010H; (8)在指令 MOV AX,SI 中,源操

30、作数字段的寻址方式是寄存器间接寻址,其物理地址值=(DS)*10H +(SI)=29000H+0A0H=290A0H; (9)在指令 MOV AX,BX+10 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(DS)*10H+(BX)+0AH= 29000H+100H+0AH =2910AH; (10)在指令 MOV AX,VALBX 中,源操作数字段的寻址方式是寄存器相对寻址,其物理地址值=(DS)*10H+(BX)+50H= 29000H+100H+50H= 29150H; (11)在指令 MOV AX,BXSI 中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(DS)*

31、10H+(BX)+(SI) =29000H+100H+0A0H =291A0H; (12)在指令 MOV AX,BPSI 中,源操作数字段的寻址方式是基址变址寻址,其物理地址值=(SS)*10H+(BP)+(SI)=15000H+10H+0A0H =150B0H5.分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)MOV SI,200 (2)MOV CX,DATASI (3)ADD AX,BX+DI (4)AND AX,BX (5)MOV SI,AX (6)PUSHF答:(1)目的操作数字段的寻址方式是寄存器寻址,源操作数字段的寻址方式是立即数寻址;(2)目的操作数的寻址方式是寄存器

32、寻址,源操作数的寻址方式是寄存器相对寻址;(3)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式是基址变址寻址;(4)目的操作数的寻址方式是寄存器寻址,源操作数的寻址方式也是寄存器寻址;(5)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;(6)目的操作数的寻址方式是寄存器间接寻址,源操作数的寻址方式是寄存器寻址;6.试述指令MOV AX,2010H和MOV AX,DS:2010H 的区别。答:指令MOV AX,2010H是将立即数2010H送AX寄存器,而指令MOV AX,DS:2010H是将DS段有效地址为2010H的两个单元的内容送AX。7.写出以下指令中内存操

33、作数的所在地址。 (1)MOV AL,BX+5 (2)MOV BP+5,AX (3)INC BYTE PTR SI+3 (4)MOV DL,ES:BX+DI (5)MOV BX,BX+SI+2答:(1)指令MOV AL,BX+5中内存操作数的所在地址=(DS)*10H+(BX)+5; (2)指令MOV BP+5,AX中内存操作数的所在地址=(SS)*10H+(BP)+5和(SS)*10H+(BP)+6; (3)指令INC BYTE PTRSI+3中内存操作数的所在地址=(DS)+(SI)+3; (4)指令MOV DL,ES:BX+DI中内存操作数的所在地址=(ES)*10H+(BX)+(DI)

34、; (5)指令MOV BX,BX+SI+2中内存操作数的所在地址=(DS)*10H+(BX)+(SI)+2和(DS)*10H+(BX)+(SI)+3;8.判断下列指令书写是否正确,如有错误,指出错在何处并用正确的程序段(一条或多条指令)实现原错误指令(8)、(13)除外)期望实现的操作。 (1)MOV AL,BX (9)MOV ES,3278H (2)MOV AL,SL (10)PUSH AL (3)INC BX (11)POP BX (4)MOV 5,AL (12)MOV 1A8H,23DH (5)MOV BX,SI (13)PUSH IP (6)MOV BL,F5H (14)MOV AX,

35、23DH (7)MOV DX,2000H (15)SHL AX,5 (8)POP CS (16)MUL AX,BX答:(1)MOV AL,BX 错,源操作数为字类型,目的操作数为字节类型,二者不一致。应改为:MOV AX,BX 或 MOV AL,BL ;(2)MOV AL,SL 错,SI寄存器不能分为高8位和低8位使用,即没有SL寄存器。应改为:MOV AX,SI(3)INC BX 错,未指定操作数的类型。应改为:INC BYTE PTR BX (4)MOV 5,AL 错,目的操作数使用了立即数,在指令中一般不允许。应改为:MOV DS:5,AL (5)MOV BX,SI 错,源操作数和目的操

36、作数均为内存单元,不允许。应改为:MOV AX,SI MOV BX,AX(6)MOV BL,F5H 错,源操作数错,以AF开头的数字前应加0。应改为:MOV BL,0F5H(7)MOV DX,2000H 正确。(8) POP CS 错,不能将栈顶数据弹至CS中。 (9)MOV ES,3278H 错,立即数不能直接送ES寄存器。应改为:MOV AX,3278HMOV ES,AX(10)PUSH AL 错,栈操作不能按字节进行。应改为:PUSH AX (11)POP BX 正确。(12)MOV 1A8H,23DH 错,源操作数是立即数,目的操作数必须使用寄存器指出。应改为: MOV BX,1A8H

37、 MOV BX,23DH (13)PUSH IP 错,不能用IP寄存器做源操作数。(14)MOV AX,23DH 错,不能用AX寄存器间接寻址。应改为:MOV BX,AX MOV BX,23DH(15)SHL AX,5 错,不能用大于己于1的立即数指出移位位数。应改为:MOV CL,5SHL AX,CL(16)MUL AX,BX 错,目的操作数AX是隐含的,不能在指令中写出。应改为:MUL BX9.设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问: (1)执行指令PUSH AX后 (SP)=? (2)再执行PUSH BX及POP AX后 (SP)=?(AX)=?(BX

38、)=?答:(1)执行指令PUSH AX后 (SP)=2000H-2=1FFEH; (2)再执行PUSH BX及POP AX后 (SP)=1FFEH, (AX)=5000H, (BX)=5000H10.要想完成把2000H送1000H中,用指令:MOV 1000H,2000H是否正确?如果不正确,应用什么方法?答:把2000H送1000H中,用指令 MOV 1000H,2000H不正确,应改为:MOV AX,2000H MOV 1000H,AX11.假如想从200中减去AL中的内容,用SUB 200,AL是否正确?如果不正确,应用什么方法?答:想从200中减去AL中的内容,用SUB 200,AL

39、不正确,应改为: MOV BL,200 SUB BL,AL12分别写出实现如下功能的程序段(1)双字减法(被减数7B1D2A79H,减数53E2345FH)。(2)使用移位指令实现一个字乘18的运算。(3)使用移位指令实现一个字除以10的运算。(4)将AX中间8位,BX低四位,DX高四位拼成一个新字。(5)将数据段中以BX为偏移地址的连续四个单元的内容颠倒过来(6)将BX中的四位压缩BCD数用非压缩BCD数形式顺序放在AL、BL、CL、DL中。答:(1)双字减法的程序段是: MOV AX,2A79H ;被减数的低位字送AX SUB AX,345FH ;低位字相减,结果送AX MOV BX,7B

40、1DH ;被减数的高位字送BX SBB BX,53E2H ;高位字相减处并减去低位字相减产生的借位,结果送BX(2)使用移位指令实现一个字乘18的程序段是: MOV AX,05F7H ;被乘数送AX SHL AX,1 ;被乘数乘以2,结果在AX中 MOV BX,AX ;被乘数乘以2的结果暂存到BX MOV CL,3 ;设置移位位数3 SHL AX,CL ;被乘数再乘以8(共乘以16),结果在AX中 ADD AX,BX ;被乘数再乘以18,结果在AX中(3)使用移位指令实现一个字除以10的运算,必须将X/10拆分成多项的和,而每一项都应是非的某次幂的倒数。利用等比级数的前N项和公式,可求出A0=

41、X/8,公比Q=-1/4,故X/10=X/8-X/32+X/128-X/512+.,所求的程序段是: MOV AX,FE00H ;被除数送AX MOV CL,3 ;设置移位位数3 SHR AX,CL ;被乘数除以8,结果在AX中 MOV BX,AX ;被乘数除以8的结果暂存到BX MOV CL,2 ;设置移位位数2 SHR AX,CL ;被乘数除以4(累计除32),结果在AX中 SUB BX,AX ;被除数/8-被除数/32,结果在BX中 MOV CL,2 ;设置移位位数2 SHR AX,CL ;被乘数除以4(累计除128),结果在AX中 ADD BX,AX ;被除数/8-被除数/32+被除数

42、/128,结果在BX中 MOV CL,2 ;设置移位位数2 SHR AX,CL ;被乘数除以4(累计除512),结果在AX中 SUB BX,AX ;被除数/8-被除数/32+被除数/128-被除数/512,结果在BX中(4) 将AX中间8位,BX低四位,DX高四位拼成一个新字的程序段是: AND DX,0F000H ;将DX的低12位清零,高4位不变 AND AX,0FF0H ;将AX的低4位清零,高4位清零,中间8位不变 AND BX,0FH ;将BX的高12位清零,低4位不变 ADD AX,BX ADD AX,DX ;按要求组成一个新字,结果放在AX中。(5) 将数据段中以BX为偏移地址的

43、连续四个单元的内容颠倒过来的程序段是:MOV AL,BX ;数据段中BX为偏移地址的字单元内容送AXXCHG AL,BX+3 ;数据段中BX+3为偏移地址的字单元内容与AX的内容交换MOV BX,AL ;数据段中BX+3为偏移地址的字单元内容送BX为偏移地址的字单元MOV AL,BX+1 ;数据段中BX+1为偏移地址的字单元内容送AXXCHG AL,BX+2 ;数据段中BX+2为偏移地址的字单元内容与AX的内容交换MOV BX+1,AL ;数据段中BX+2为偏移地址的字单元内容送BX+1为偏移地址的字单元(6)将BX中的四位压缩BCD数用非压缩BCD数形式顺序放在AL、BL、CL、DL中的程序

44、段是:MOV DL,BL ;四位压缩BCD数的低位字节送DLAND DL,0FH ;DL的高4位清零,得四位非压缩BCD数的最低位,放入DL中MOV CL,4 ;设置移位位数4SHR BX,CL ;BX中的数据逻辑右移4位,使四位压缩BCD数的次低位位于BL的低4位MOV CH,BL ;将BL的内容暂存到CH中保留AND CH,0FH ;CH的高4位清零,得四位非压缩BCD数的次低位,放CH中MOV CL,4 ;设置移位位数4SHR BX,CL ;BX中的数据逻辑右移4位,使四位压缩BCD数的次高位位于BL的低4位MOV AL,BL ;将BL的内容暂存到AL中保留AND BL,0FH ;BL的高4位清零,得四位非压缩BCD数的次高位,放BL中MOV CL,4 ;设置移位位数4SHR AL,CL ;使四位压缩BCD数的最高位位于AL的低4位,得四位非压缩BCD数的次高;位,放入BL中MOV CL,CH ;将四位非压缩BCD数的次低位移入CL中1.假设OP1,OP2是已经用DB定义的变量, W_OP3和W_OP4是已经用DW定

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1