




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、章基础知识1.1 计算机中常用的计数制有哪些?解:二进制、八进制、十进制(BCD)、六进制.1.2 什么是机器码?什么是真值?解:把符号数值化的数码称为机器数或机器码,原来的数值叫做机器数的真值。1.3 完成下列数制的转换.(DI0100110B=()D=()HO.UB=()D(1) 253,25=()B=()H(2) 1011011.IO1B=()H=()BCD解:(2) 166,A6H(3) 0.75(4) 11111101.01B,FD.4H<4>5B.AH,(10010001.01100010010DBCD1.48位和16位二进制数的原码、补码和反码可表示的数的他围分别是多
2、少?解;原码(-127+127)、(-32767+32767)补码(-128+127、(-32768+32767)反码(一127+127)、(-32767+32767)15写出下列真值对应的原储和补码的形式。1.1 x=-iiiooiibX=-71DC3)X-+1001001B解:(1)原码:11110011补码,10001101(2)原码:11000111补码:10111001<3)原码:Q10C1001补玛?01001001鼠6写出符号数10110101B的反玛和补码。M:11001010,1100101132 已知X和Y的真值,求X+Y的补码.(4) X=-111O111BY=+1
3、011010B(5) X=56DV=-21D解:(1)11100011<2)ooiooon32 已知X=-“01001R,Y=-1010110B,用补码求X-Y的值,解;1110110132 请写出下列字符的ASCH码.4Ax=!解:34H,41H,33H,3DH,21H32 若给字符4和9的ASCII码加奇校验,应是多少?34H.B9H32 上题中若加偶校脸,结果如何?KiB1H.39H112计算下列表达式.3 (4EH4-10U0101B)X(0.0101)BCD=()D4 4EH-(24/08H+'b72)=(3B解:129.5D2.1 101010B第1奉.事础知识4少1
4、早第Z微型计算机基础(15) 简述微型计算机的硬件系统结构。说明各部件的主要功能.解:微型计算机的硬件系统主要也括以下几个部分:中央处理器-包括控制器、运算器、寄存器组,主要功塾是执行指令并根据指令发出相应的控制信号,以使各微机各部件协谢工作。此外还完成各种算术逻辑运算功里C存储器一包括RAM利ROM。主要功能后存放当前运行的程序和数据。1;0接口在外部设备与主机之间实现数据信息、控制信息和状态信息的缓存、变换、传送以及信号电平、速度的匹配等功能,外部设密-主要实现人机交互(信息的输人输出).以线把微机中各部件连接在一起的公共信息传输通道。(15) 简述存储程序计算机的工作原理。解:把要运行的
5、程序和数据顼先送到存储器中保存开始工作时给出程序的第一条指令的地址然后捽制器根据存储器中的指令顺序周而复始地取出指令、分析指令,执行指令,直到按照程序的控制流程执行完全部所需执行的指令为止。(15) 微型计算机采用总线结构的优点有哪些?«:采用总线结羯的优点在于设计简单、灵活性好、易于扩展、便于故障检测和维修.更易于标准化,使得部件制造成本大幅度降低。(15) 典型的微机中有哪几种总线?它们各自传送什么类型的信息?解,数据总线DB传输数抠信息;地址总线AB-传瑜存储器地址和I/O地址;控制总线CB传喻控制信息和状态估息.(15) 系统软件与应用软件的区别是什么?解:系统软件主要用于微
6、机软硬件资源的管理、调度,控制任务的运行,实现人机接口等,应用软件主要用于解决各种具体的实际应用问题(如办公软件、信息管理系统、游戏软件等)。(15) 简述CPU执行程序的过程,解:当程序的第一条指令所在的地址送人程序计数器后,CPU就进入取指阶段准备取第一条指令。在取指阶段,CPU从内存中设出指令,并把指令送至指令寄存器JR暂存,在取指阶段转束后,机盥就进入执行阶段,这时.由指令译码器对指令译码,再经控制器发出相应的曲制信号,冲制各部件行指令所观定的具体操作。当一条指令执行完毕以、后,就转入了下一条指令的取指阶段,以上步嘘周而复始地循环,直到遇到停机指令,(15) 说明8086的EU和BIU
7、的主要功饿。在执行程序过程中它们是如何相互配合工作的?解:执行单元EU负贡执行指令。EU在,作时不断地从指令队列取出指令代码,对其译码后产生完成指令所需要的控制信息,数据在ALU中进行运算,运算结果的特征保留在标志寄存器FLAGS中.总线接II单元BIU负责CPU与存储器、I/O接匚之间的信息传送。BJU取出的指令被送入指令队列供EU执行,川U取出的数据被送入相关寄存器中以便做进一步的处理。当FU从指令队列中取走指令.指令队列出现空字节时.BIU就自动执行一次取指令周期,从内存中取出后续的指令代码放入队列中。当EI;需要数据时,BIU根据EU给出的地力卜,从棺定的内存单元或外设中取出数据供EU
8、使用。当运算结束时,BIU将运算结果送入指定的内存单元或寄存器。当指令队列空时,EU就等待直到有指令为止。若B1U王在取指令,EU发出访问息线的请求,则必须等BIU取指令完毕后,该请求才能得到响应。一般情况下,程序顺序执行,当调到跳转指令时,BIU就使指令队列第位,从新地址取出指令,并立即传绐EU去执行,指令队列的存在使3086/8088的EU和BIU并行工作,从而减少了CPU为取指令而等待的时间,提高了CPU的利用率,加快了整机的运行速度。另外也降低了对存储器存取速度的要求。(15) 在执行指令期间,EU能直接访问存储器吗?为什么?解:可以。因为EU和BIU可以并行工作,EU需要的指令可以从
9、指令队列中获得,这是BIU预先从存储器中取出力放入指令队列的。在EU执行指令的同时,川U可以访问存错器取下一条指令或指令执行时需要的数据.(15) 8086与8088CPU的主要区别有哪些,解:主要区别有以下几点80H6的外部数据总线有16位,而8088的外部数据总统只有8位.8086的指令队列深度为6个字节,而8088的指令队列深度为4个字节.因为8086的外部数厢息线右16位,故8086每个总线周期可以存取两个字节。而8UK8的外部数据总线因为只有8位,所以每个总统周诙只能存取1个字节。个别引脚信号的含义稍有不同。(15) B088CPU工作在量小模式下:(】)当CPU访问存储器时,要利用
10、哪些信号?(2)当CTU进行I/O搽作时,要利用哪些信号?(3)当HOLD有效并得到响应时,CPU的哪些信号置高阻?解:要利用佶号线包括WR#、RD#JQ/M#、ALE以及AIXJ-AD7、A8A®(2)同。(3)所布三态输出的地址信号、数据信号和控制信号均置为高阻态.(15) 总线周期中,什么情况下要适人Tw等待周期?插入Tw周期的个数,取决于笫2章渝实计算机及础什么因素?解I在每个总线周期的13的开始处若ready为低电平,则CPU在13后插入一个等待周期T”在Tw的开始时刻,CPU还要检杳READY状态,若仍为低电平则再播人一个Tw.此过程一直进行到某个Tw开始时,READY已
11、经变为高电平,这时下一个时钟周期才转入T*可以看出,排入Tw周期的个数取决于READY电平维持的时间.(15) 若8088_L作在单CPU方式卜.,在教材第91页的表中填入不同操作时各控制信号的状态。解:结果如表1-21所示。衰1->1操作1O/MDT/RDEN.RDWR读存储器00001写存储器01010读|/。接口10001写|/。接口11°10213在8086/8088CPU中,标志寄存器包含哪些标志位?各位为。(为】)分别表示什么含义?解:标志寄存器包含以下标志位;CF进位标志位。若算术运算时最高位有进借)位贝1CF=1,否则CF=0.PF奇偶标志位,当运算的结果低8位
12、中“1”的个数为偶数时PF=1,为奇数时PF-0,AF辅助进位位.在加(减)法操作中,b3向b4有进位(传位)时.AF=1,否则AF=O.ZF零标志位.当运算结果为零时ZFl,否则ZF=00SF符号标志位.当运算结果的最高位为1时SF=1,否则SF=00UF溢出标志位。当算术运算的结果溢出时,CF=1.否则OF=0.TF跟踪标忐位。TF-1时,使CPU处于单步执行指令的工作方式。【F中断允许标志位。IF=1使CPU可以响应可屏蔽中断请求。IF=O时则禁止响应中断。DF方向标志位。DF=1使申操作按减理址方式进行。DF=0使串操作按增地址方式进行.(4) 148086/8088CPU中,有哪些通
13、用寄存器和专用寄存器?说明它们的作用。通用寄存器包含以下8个寄存器:AX、HX、CX和DX寄存器一般用于存放参与运算的数据或运算的结果“除此之外:AX:主要存放算术逻辑运算中的操作数,以及存放I/。操作的数据。BX,存放访问内存时的基地址.CK,在葡环和用操作指令中用作计数器。微生计算机原理与接口技术题解及实验非导DX:在寄存器间接寻见的I/。指令中存放I/。地址。在做双字长乘除法运算时,DX与AX合起来存放一个双字长数,SP;存放栈顶偏移地址,BP:存放访问内存时的基地址。SP和BP也可以存放数据.但它们的默认段寄存器都是SS。SI:常在变址寻址方式中作为源地址指针。D】:常在变址寻址方式中
14、作为目标地址指针。专用寄存器包括4个段寄存器和两个控制寄存器:CS:代码段寄存器,用于存放代玛段的段基地址。DS:数据段寄存镂,用于存放数据段的段基地圻.SSt堆栈段寄存器,用于存放堆栈段的段基地址.ES,附加数据段寄存器,用于存放附加段的段基地址。IP:指令指针寄存器,用于"放下一条要执行指令的偏侈地址。FLAGS:标志寄存器,用于存放运算结果的特征。2.158086/8C88系统中,存储器为什么要分段。一个段最大为多少字节?最小为多少字节?解:分段的主要目的是便于存储器的管理,使得可以用16位寄存器来寻地29位的内存空间。一个段最大为64KB,最小为15R。2.16在8086/8
15、088CPU中物理地址和遗辑地址是指什么?已知逻辑地址为1FOO,38AOH,如何计算出其对应的物理地址?解,物史地址是CPU存取存饰器所用的地址。逻辑地址起段和偏移形式的地址,即汇编语言程序中使用的存储器地址6若已知足辑地址为13M38A0H,则对应的物理地址=1FOOX16-38AO228A0H。2.17已知存储器物理地址为78A3OH,计算它所对应的遗辑地址,此结果惟一呜?解:物理地址可以对应干不同的逻辑地址。78A00H对应的逻辑地址可以是7090H:8A0CH,78OOH;0A00H,78A0H:0000H等。结果不是惟一的。7.3 18设当前数据段位于布佰器的A8000HB7FFF
16、H.DS段寄存瑞的内容应是什么?解:因为A8000I1到B7FFFH之间的地址范围大小为64KB,未超过一个段的最大范围.故要访词此地址范围的数据,数据段的起始地址(即段百地址)应为A8000H,则DS段存存器为A8OOH.7. 若CS=8000H,则当前代码段”寻址的存储空间的范围是多少?解:(CS)=8000H时,当前代犯段可寻址的存储空加范围为80000H8FFFFH.7. 8086/8088CPU在最小模式下构成计算机系统至少应包括哪几个其本部分(器件)?解;其至少应包括:8088CPU、8284时钟发生器、8282锁存器(3片和8286双向总线柴动器。7. 总发传愉需要解决那几个主要
17、问题?第2章漱梨计笄机看础-解:总线传输需要解决以下几方面的问携:总线传输同步.使信息发送部件与信息接收部件在规定的时刻文换数据。总线仲裁控制。避免多个部件同时发送信息到总线而产生冲突。出错处理。防止数据传送过程中可能产生的错误.总线呕动。提供驱动总线所需的电压和电流,7. 在数材第59页的图2-28中,若设各接口Q和设备接口1同时申请总线,哪一个没备接口将最先获得总线控制权?为什么?解:设备接口。先获得总线控制权.因为设备接口0将截获总线回答信号BG,使BG不会传送到设备接口L(2) 23在南北桥结构的80x86系统中.PC1总线是通过什么电路与CPU总线相连的"ISA总线呢”解:
18、PCI总线通过北桥芯片与CPU款线相连JSA总线则通过南桥芯片与PCI总线相旌。(2) X0386CPU包含哪些寄存器?各有什么主要用途?解:80386共有7类34个寄存器。它们分别是通用寄存器、指令指针和标志寄存器、段寄存器、系统地址寄存器、控制寄存器、调式和测试寄存赛。(1)通用寄存器(8个).EAX,EBX,ECX,EDX,ESI,EDI,EBPESP.每个32位寄存器的低16位可单独使用,同时AX、BX、CX、DX交存器的高、低8位也可分别当作8位寄存器使用,它们与8088/8086中相应的16位通用寄存器作用相同。<2)指令指针和标志寄存器。指令指针EIP是一个32位寄存器,存
19、放下一条要执行的指令的偏移地址.标志寄存器EFLAGS也是一个32位寄存器,存放指令的执行状态和一些控制位。(3)段寄存器(6个兀CS,DS,SS,ES,FS?flGS.在实方式卜.,它们存放内存段的段地址。在保护方式下,它们被称为段选择符。其中存放的是某一个段的选择符。当选择符装人段寄存器时,80386中的啜件会自动用段寄存器中的值作为索组从段指述符表中取出一个8个字节的描述符,装入到与该段寄存器相应的64位描述符寄存器中。(4)控制寄存器(4个)。CRO,CR1XR2和CR3,它们的作用是保存全局性的机器状态。(5)系统地址寄存器(4个).GDTRJDTRJ.DTR和TR。它们用来存储操作
20、系统需要的保护信息和地址转换表信息、定义目前正在执行任务的环境、地址空间和中断向量空间。<6>调试寄存器(8个)。DRO-DR7。它们为调试提供硬件支持。7)测3:寄存器(8个rTR0TR7其中TROTR5由Iniel公司保留,用户只能访问TR6、TR7,它们用于护制对TLH中的RAM和CAM相连存储器的冽试.TR6是测试校制寄存器,TR1漱火计算机及理与搂口按术题解及实鸵作导是测试状态寄存器,保存测试结果的状态e(2) 什么是实地址模式?什么是保护模式?它们的特点是什么?解:实地址模式是与8086/8088兼容的存储管理模式。当80386加电或展位后,就进人实地址工作模式。物理地
21、址形成与8O88/BO86一样,是将段寄存器内容左移4位与有效俅移地址相加而得到,寻见空网为】mfl保护地引模式又称为虚拟地址存储管理方式.在保护模式下,80386提供了存储管理和硬件辅助的保护机构还帝加了支持多任务操作系统的特别优化的指令。保护模式采用多级地址映射的方法,把逻辑地址映射到物理存储空间中。这个逻辑地址空间也称为虚拟地址空间,80386的逻辑地址空间提供2妙的寻址能力.物理存储空间由内存和外存构成,它们在80386保护地址模式和操作系统的支持为用户提供均匀一致的物理存储能力。在保护模式下,用段寄疗翳的内容作为逸择符(段描述符表的索引),选择钝的高13位为偏移量,CPU的GDTR中
22、的内容作为基地址,从段描述将表中取出相应的段描述符(包括32位段基地址、段界限和访问权等兀该:描述符被存入描述符寄存器中,推述符中的段基地址(32位)与指令给出的32位偏移地址相加得到线性地址,再通过分页机构进行变换,最后得到物理地址。(2) 80386以上的CPU中,选择符中3个域的名字分别叫什么?大小各是多少位?各有什么作用?解:称为INDEX1】和RPL。INDEX宥J3位(bii:5bil3),它表示了描述符在描述符表中的位置丁1有1位,它用于指示INDEX指向全局描述符表GDT还是局部描述符表LDT。RPL有2位,它定义了当前地址访问请求的特权级别。(4) 2780386访问存储器有
23、哪两种方式?各提供多大的地址空间?解:实模式和保护模式.实模式可提供1MB(2-的寻址空间.保护模式可提供4GB(2")的线性地址空间和64TR(246)的虚拟存储器地址空间.4.3 如果GDT寄存器值为0013000000FFH,装入LDTR的选择符为0040H.试问装入缓存LDT描述符的起始地址是多少?解:根据(GDTR)=0013000000FFH,得到全局描述苻表的基地址为0013GOOOH,再根据LDTR选择符内容为0040H300000000100OOOOB),得到索引值为000000000IOOOB,即0008H.因为抵个描述符为8个字节,故所装人的描述符在GDT中的偏
24、移地址为(OOO8Hl)X8=OO38Hc所以装入缓存的LDT描述符的起始地址为00130038H。4.4 如果允许分页.那么80386、出486和Pentium的地力卜空间可映射到多少页?页有多大?解:页的大小为4KBe允许分页时.32位的线性地址分为3个部分,高10位用来杳找页口录页H录中的目录项指明f需要使用哪一个页表“中间10位用来查找对应的贡表,页表中的页地址指明了所需页的基地址.最低12位是页内偏移量。由此可知,全部直目录和全部页表共可映射2l0X210*1048576页。4.5 页转换产生的线性地址的三部分各是什么?解:页目录索引、坂表索引和页内偏移.231个描述符中有几个字节?
25、试说明其中每一个域名及大小,第2靠货鳖计算机基础瀚觞解,和个描述符有64位(8个字节其中:段基地址32位,段界限2。位,控制位12位Q2 诜择符022416H装入数据段寄存器,该值指向局部描述符表中从地址0010。220H开始的段描述符.如果该描述符的内容为:(00100220H)ZOH.(00100221H)=22H(00100222H)=OOH.(00100223H)=10H(0010022411)=1C11,(0010022511)=80H(00100226H)=01Hf(00100227H)-0!H则段其址和段界限各为多少?解:把题目给出的内容按描述符格式可写为图1-2-1所示的形式.
26、31D000100900000(Kit)0001000100001(1000j碗。MMj00WC001,000rtO0C|(100100。64一32图12-1根据段描述符的构成可知,段基地址为0000000100011100000100000030OOOOB(见图1-2-1中斜照体字部分八写成16进制数为011C1000H.段界限为00G10010091000010000B(见图1-2-1中黑体宇部分),写成16进制数为1221OH.2 Pentium4的基本程序执行环境包含了哪些寄存器?解:参见教材第90页各252,此处略.一滋矍计算机原受与接n技术题解及安验先导童80;/8086指令系统什
27、么叫寻址方式?808G/8088CPU共有哪几种寻母方式?解,寻址方式主要是指获得操作数所在地址的方法.8086/8088CPU具有:立即寻址、直接寻址、寄存器7址、寄存器间接寻虬、寄存器相对寻址、基址一变址寻址、其址一交址一相对寻址以及隐含寻址等8种寻址方式。设(DS)=6000H,(ES)=2000HCSS)=1500H,(SI>=00A0H.(BX)=n8O0H,(BP)=12OGH,数据变量VAR为0050Ha请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少?(1)MOVAX,BX(2)MOVDL,80H(3)MOVAX,VARU)MOVAX,VARIBXSIJ<
28、;5)MOVAL.'B'(6)MOVDEES:BXMOVDXIBP(8)MOVBX,20IIBXj解:(1)寄存器寻址。因源操作数是寄存器,故寄存器EX就是操作数的地址。(2)立即寻址.操作数80H存放于代码段中指令畤MOV之后.(3)立即寻址.(4)基址一变址-相对寻址。操作数的物理地址-(DS)X16十(SI)+(BX)+VAR=60000H+00A0H+0800H+OOSOH=608F0H(5)立即寻址.寄存器间接寻址A操作数的物理地址=(ES)X16+(BX)=20000H+0800II=20800H<7)寄存器间接寻址。操作数的物理地址=(SS)X16+(BP)
29、=15000H4-1200H=16200H(8)寄存器相对寻址.操作数的物理地址=(DS)X16+(BX)+2OH=60000H+0800H+20H=6O82OH3.3假没(DS)-212AH,(CS)=020UH,UP)=1200HpCRX)=(J500H,位移量DATA=40H,(217AGH)=2300H,(217EOH)=0400HA217E2H)=9000H试确定下列转移指令的转移地址.JMP2300H<2)JMPWORDPTRBXJMPDWORDPTRBX4DATA解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,乂有段内的直接转移和间接转移以及段间的直接转移和间接转
30、移地划。对宜接转移其转移地址为当前指令的偏移地址(即IP的内容)力口上位移量或由指令中宜接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。C)段内直接软移"法移的物理地知i(CS)xl6+UP)I23001102000II+1230H+2300H=05500H(2)段内间接转移。转移的物理地址=(CS)X16+|BX=(CS>X16+(217AOH)=020C011+230OH=04300H<3)段问间接转移.转移的物理地址BX+DATA=(217E2H)X16+7E0H)=90000H+0400H-90400H试说明指令MOVBX,
31、51HX与指令LEABX,5BX的区别.解:前者是数据传送类指令,表示将数据段中以(HX+5)为偏移地址的16位数据送寄存器BX、后者是取偏移地址指令,执行的结果是(1)=(8R45,即操作数的偏移地址为(BXJ+5。设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)-1224H.执行指令PUSHAX后(§口)=?,再执行指令PUSHBX及POPAX之后,(SP)=?(AX)=?(BX)=?解堆栈指针SP总是指向栈顶每执行一次PUSH指令SP2.执行一次POP指令SP+2。所以执行PUSHAX指令后,($P>=22FEH;再执行PUSHBX及POPAX后.(SP)
32、=22FEH,(AX)=(BX)=1234H指出下列指令的错误,<1)MOVAH.CXMOVAX,S1|D1(5)ADDBYTEPTRBP,256(7)JMPBYTEPTRBX(9)MOVDS,BP解:(1)指令错.两操作数字长不相等.(2)MOV33HLAL(4)MOVCFiX,SI(6)MOVDATALSI,ES:AX(8)OUT23OH.AX(10)MUL39H(2)指令错。MOV指令不允许目标操作数为立即数.渔财计算机点线与接口技术频解及实验指导(3)指令佛.在间接寻址中不允许两个间址寄存器同时为变址寄存器。(4)指令梅。MOV指令不允许两个操作数同时为存储器操作数。(5)指令错
33、。ADD指令要求两操作数等字长。(6)指令借、源操作数形式错,寄存器操作数不加段审设符。(7)指今僭。转挈地址的字长至少应是16位的.(8)指令错°对输入输出指令.当端口地址超出8位二进制数的表达范围(即寻址的端口翅出256个)时,必须采用间接寻址.(9)指令正确.(10)指令错。MUL指令不允许操作数为立即数,已知(AL)=7BH,(BL)=38H,试问执行指令ADDAL,HL后AF、CF、OF、PF、SF和ZF的他各为多少?解:AF=1,CF=0,OF=1,PF=O,SF=1,ZF=C试比较无条件转移指令、条件转移指令、调用指令和中断指令有什么异同?解:无条件转移指令的操作是无条
34、件地使程序转移到指定的目标地址,并从该地址开始执行新的程序段,其转移的目标地址既可以是在当前逻辑段,也可以是在不同的逻辑段;条件徒移指令是在满足一定条件下使程序转移到指定的目标地址,其转移范围很小.在当前凌辑段的-128+127地址范围内。调用指令是用于调用程序中常用到的功能子程序,是在程序设计中就设计好的.根据所圈用过程入口地址的位皆可将调用指令分为段内调用(人口地址在当前逻辑段内)和段间调用。在执行倒用指令后.CPU要保护断点。对段内谢用是将其下一条指令的偏移地址压人堆柱.对段间倜用则要保护其下一条指令的偏移地址河段基地址,然后将子程序人口地址赋给IP(或CS和iP)t中断指令是因一苴突发
35、事件而使CPU哲时中止它正在运行的程序,转去执行一组专门的中断服务程序,并在执行完后返回原被中止处继续执行原程序.它是随机的。在响应中断后CPU不仅要保护断点(即INT指令下一条堵令的段地址和偏移地址),还要将标志寄存捐FLAGS压人谁栈保存。试判断下列程序执行后,RX中的内容-MOVCL.3MOVBX.0B7HROLBX,1RORRX,CL解:该程序段是首先将BX内容不带进位循环左移1位,再循环右移3位,即相当于将原BX内容不带进位循环右移2位,故结果为,(BX)=0C02DH.按下列要求写出相应的指令或程庠段。(D写出两条使AX内容为。的指令。(2)使BL交存器中的高4位和低4位互浜
36、76;(3)屏装CX寄存器的bll、b7和b3位。(4)测试DX中的b0和U位是否为k解,MOVAX,0XORAX.AX<2)MOVCL.4ROLBL.CLANDCX,OF?7HANDDX,0101HCMPDKM01HJZ()NE;AX寄存器自身相异或,可使其内容清。;将HX内容腐环,空移4位,可实现其高1位和低4位的互换;将CX有存器中斋琳做的位“与”0也可用“或”指令实现;将需洌试的位'与"1其余与”0屏做掉出0101H比较;若相等则表示bO和b8位帚时为1分别指出以下两个程序段的功能:(1)MOVCX>10LEASLF1KSTLEADLSECONDSTDRE
37、PMOVSB(2)CLDLEADLL12DOHMOV(:X,OFOOHXORAX.AXREPSTOSW解:(I)该段程序的功能是:将数据段中FIRST为最高地势的10个字节数据按减地加方向传送到附加段SECOND为最高地址的向前10个单元中.(2)将附加段中偏移地址为1200H的元开始的OFGOH个字单元清0。执行以下的条指令后,标志寄存器FLAGS的六个状态位各为什么状态?MOVAX,84A0HADDAX,9460H解;执行ADD指令后.6个状态标志位的状态分别为,在两个16位数进行加法运算时,对CF、ZF、SF和OF会产生影响,但对PF和AF标忐位,只与具低8位的运算影响它们的状态。各标志
38、位的状态分别为:AF=0.PF=l,CF-1,ZF=O,SF=0,OF=lc格+46和-38分别乘以2,可应用什么指令来完成?如果除以2呢?解:因为对二进制数,每左移一位相当于乘以2,右移一位相当于除以2。所以,将+46和-38分别乘以2可分别用逻辑左移指令(SHL)和算术左移指令(SAL完成。SHL指令针对无符号数,SAL指令针对有符号数。当然,也可以分别用无符号数乘法指令MUL和有符号数乘法指令IMUL完成.如果是除以2,则进行相反操作即用选粗后移指令SHR或无符号数除法指令D1V实现+46除以2的运尊,用算术.行移指令SAR或有符号数除法指令IDIV实现一38除漱型计算机原理与接口鼓木电
39、解及实验强导以2的运算o已知4、=8。6(汨,求=03尸8><端1PORT1的地址是48IL内容为40H,P0RT2的地址是84H,内容为85H.清指出下列指令执行后的结果。OUTDX,ALINAL.PORTlOUTDX.AXINAX.48T1OUTFORT2,AX解;(D将60H输出到地址为03F8H的涮口中。(2)从PORT1读入一个字节数据,执行结附:(?XL)-40H,(3)将AX=8060H从地址为03F8H的端口输出.(4)由48H端口读入16位二进制数,(5)将8060H从地址为84H的端口输出。斌编写程序,统计BUFFER为起始地址的连续200个单元中C的个数。解:
40、将BUFFER为首地址的200个单元的数依次与。进行比较,若相等则表示该单元数为0统计数加,否则再取下一个数比较,直到200个单兀数全部比较完毕为止,程序如下:LEASIBUFFERMOVCX.200X(RRX.BXAGAIN:MOVAL.SIJCMPAL,0JNEGOONINCBX(jOON:INCSI.OOPAGAINHLT;取BUFFER的偏移地址;数据长腹送CX;存放饶产数寄存器清。屈个数.与0比较,不为。射准备取卜一个数,为。则统计数加1;修改地址指针:若未比较宛如继续比较写出完成下述功能的程序段;(1)从地址DS:0012H中传送一个数据56H到八L寄存器。<2)将AL中的内
41、容左移两位。(3)AL的内容与字节单元D3:0013H中的内容相灵。<1>乘积存入字单元DS:0014H中.解:MOVDStBYTEPTR00l2H,56HMOVAL,C0012HMOVCL.2SHLAL,CLMULDS:BYTEPTR0013F第3阜8088/8096指令窠统MOVDS;r0011H,AX17若(AL)-96H,(BL)=12H,在分别执行指令MUL和IMU【,后,其结果是多少?()F=?CF=?解:MUL是无符号数的乘法指令,它将两操作数示为无符号数,1MUL是有符号数的乘法指令,此时,两操作数被看作有符号数。在该题中,(AL)=96H,其最高位为1,是负数01
42、MUL指令的执行原理是先求出它的真值(即对它求补人再做乘法运算。执行MULBL指令帝,(AX=0A8CH.CF-OF-1执行IMULBL指令后.(AX)=F;88CH,CF=OF_心宏计算机原理与排口技术题解及实验指导,章汇编语言程序设计mW1请分别用DB.DW、DD伪指令写出在DATA开始的连续8个单元中依次存放数据UH、22H.33H、44H,55H.66H、77H、88H的数据定义语句.解;D13,DW,DD伪指令分别表示定义的数据为字节型、字类型及双字型。其定义形式分别为:DATADB11H,22H,33H,44H,55H,66H,77H788HDATADW2211H,4433H,66
43、53H,8877HDATADD44332211H.88776655H若程序的数据段定义如下,写出各指令语句独立执行后的结果:DSEGSEGMENTDATA1DB10H.20H.3DHDATA2DW10DUP(?)STRINGDB'】23DSEGENDSMOVAL,DATAMOVBXfOFFSETDATA2LEASI,STRINGADDDI,SI解,(D取变用DATA1的俏。指令执行后,(AL)=10H。(2)变量DATA2的偏移地址。指令执行后,(BX)=0003H.(3)先取变量STRING的偏移地址送寄存器SI,之后将SI的内容与DI的内容相加并将结果送DI。指令执行后,(SD=0
44、017H“DD=(DI)+0017H。试编写求两个无符号双字长数之和的程序“两数分别在MEM1和MEM2单元中,和放在SUM单元。解;DSEGSEGMENTMEMtDW1122H,3344HMEM2DW55«5Hr7788HSUMnw2DUPDSEGENDSCSEGSEGMENTASSUMECS,CSEGgS?DSEGSTART,MOVAX.DSEGMOVDS.AXLEABX.MEM1LEASLMEM2LEADLSUMMOVCL,2CLCAGAIN:MOVAX,EXADCAX.S1JMOVLOCtAXADDRX.2ADDSI,2ADDDI,2LOOPAGAINHi.TCSE;ENDS
45、ENDSTART4.4试编写程序,测试AL寄存器的第4位dM4)是否为。?解:测沆寄存器AL中某一位是否为0,可使用TEST指令、AND指令、移位指令等几种方法实现。如:TESTAL"0HJZNEXTNEXT:-或者:MOVCL,4SHLAL,CLJNCNEXT.NEXT:-试编写程序,将BUFFER中的一个8位二选制数转换为ASCII屿,并按位数高低顺序存放在ANSWER开始的内存单元中“解:D5EGSEGME'TBUFFERDB?.要转换的做18滋生计算机原谡与接口技术热解及实缝指导ANSWERDB3DUP,ASCII码结果存放苦元DSEGENDSCSEGSEGMENTA
46、SSUMECS|CSEG,DS:DSEGSTART:MOVAX,DSEGMOVDS.AXMOVCX.3;最多不超过3位十迸制效(255)LEADI.ANSWER指向结果存放单元XOKAX,AXMOVAL,BUFFER,取要转换的_进制数MOVBL.OAH,基敷10AGAIN.DIVRL,用除1。取余的方法转换ADDAIL30FI厂上进制数转换成ASCII码MOVrnij.AH;侏存当前位的结果INCDI;指向下一个位保存单元ANDAL,AL;商为0?1条换结束?)JZSTO】着结束,退出.MOVAH,DL(X)PAGAIN,否定循环维续STO:MOVAX,4cH1NT21H;返回DOSCSEG
47、ENI均ENDSTART假设数据项定义如下;DATA1DB'HELLO!GOODMORNING!'BATA2DB20DUP(?)用串操作指令编写程序段,使其分别完成以下功能,<1)从左到右将DATA1中的字符串传送到DATA2中。(2)传送完后.比较DATA1和DATA2中的内容是否相同.(3)把DATA中的第3和第4个字节装入AX.(4)将AX的内容存入DATA2+5开始的字节单元中。解:(1)MOVAX>SEGDATAMOVDS,AXMOVAX,SEGDATA2MOVES,AXLEASI,DATAlLEADLDATA2MOVX-20CLDREPMOVSBLEAS
48、I>DATA1LEADI,DATA2MOVCX.20CLDREPECMPSB,LEASI,DATAlADDST>2LOLJSWLEADLDATA2ADDl)L5STOSW执行下列指令后,AX寄存器中的内容是多少?TABLEDW10,20,30,10,5。ENTRYnW3.MOVBX、OFFSETTABLEABDHX,ENTRYMOVNX.BX解:<AX)=1ECOH编写程序段,将STRINGl中的最后20个字符移到STRING2W<I©序不变解:首先确定STRING1中字符串的长度,因为字符中的定义要求以符号结尾,可通过蛤测'$'符确定出字符串
49、的长度,设申长度为COUNT,则程序如下:LEAShSTRTNGlLEADI.STRING2ADDShCOUNT-20MOVCX,20OLDREPMOVSB归设一个48位数存放在DX:AX:HX中,试编写程序段,将该48位数乘以2。羯,可使用移位指令来实现"首先将BX内容避辑左移一位,其最高位移入进位位CF之后AX内容带进位位循环左移,使AX的最高位移入CF,而原CF中的内容(即BX的最可位)甚人AX的最低传,最后再将DX内容带进位位循环左移一位,从而实现AX的最低位移入DX的最低位.20港梨计算机原立与接口技术度解及实验先导SHLBX.1RCLAX,1RCLDXJ试编写程序,比较A
50、X,13X,CX中带符号数的大小,并将最大的数放在AX中。解:比较带符号数的大小可使用符号数比较指令JG等.CMPAX,BXJGNEXT1XCHGAX,BXNEXT1,CMPAX,CXjgsroMOVAX.CXSTO:HLT4,11若接口03F8H的第1位(bl)和第3位(b3)同时为1,表示接口03FBH有鹿备好的8位数据,当CPU将数据取走后,bl和b3就不再同时为1了。仅当又有数据世备好时才再同时为人试编写程序,从上述接口读入200字节的数据,并顺序放在DATA开始的地址中。解:即当从输入接口03F8H读人的数据满足X乂XXIX】MB时可以从接口03FBH输入数据。LEAS1.DATAM
51、OVCX.200NEXT;MOVDX.03F8HWAITTiINAI.,DXANDAL.0AH;判断hl和b3位是否司时为】CMPAL,0AHJNZWRUTIbl和b3位同时为1网读数据,否则等待MOVDXr03FBHINAL,DXMOVSIJ,ALINCSILOOPNEXTHLT4.12画图说明下列语句分配的存储空间及初始化的数据值,(1)DATA1DBZBYTE12,12H>2DUP(0,?»3)(2)DATA2DW4DUP(0,1,2)一3,256H解S(】)存储空间分配情况如图所示,2)存储空间分配情玩如图1-4-1(卜)所示。DATAI42H'用DATA200
52、H高地址方向OOH1,!-5OIHOOH02HOOHOOHOOHOIH1OOH02HOOMOOHOOHOIHOVH'02HIIXIHOOH(X)HOIHOOH02HGOH?FBHFFH56H02H|(b)濒空计算帆灰堤与接口技术室解及宴验张导4.13请用子程序结构编写如卜程序:从键盘悔人一个二位十进制的月份数(口112>,然后显示出相应的英文缩写名,解:可根据题目要求编写如下几个子程序:INPUT从键盘接收一个二位数,并将其转换为二进制数.LOCATE通过字符表查找将输人数与英文缩写对应起来。DISPLAY将缩写字母在屏幕上显示。程序如下,DSEGSEGMENTDATA1DB3D
53、ATA2DB3,?,3DUP(?)ALFMONDB,?','$'MONTABDB,JAN:FEB,,fMAR;APR',rMAY','JUN'DB'JUL'AUG'SEP'OCTfN(W,DEC'DSEGENDSSSEGSEGMENTSTACK'STACK'DB100DUP(?),SSEGENDS«CSEGSEGMENTASSUMECS:CSEG,DS:DSEGtES:DSEG,SS,SSEGMAINMAININPUTPROCFARPUSHDSXORAX,AXPUSHAXM
54、OVAX,DSEGMOVDS,AXMOVES,AXMOVAX,SSEGMOVSSiAXCALLINPUTCALLLOCATECALLDISPLAYRETENDPiPROCNEARPUSHDXMOVAH,CARLEADX.DATA2,从键盘输入月份数INT21HMOVAELDATA2卜2MOVAL.DATA2+3XORAX.3030HCMPAH>OOHJZRETURNSUBAH,AHADDAL>1QRETURN;POPDXRETINPUTENDPLOCATEPROCNEARrusnsiPUSHDIPUSHCXLEASLMONTABDECALMULDATA1ADDSI,AXMOVCX.03HCLDLEADLALFMONREPMOVSBPOPCXPOPDTPOPSIRETLOCATEENDPJDISPLAYPROCPUSHDXLEADX.ALFMONMOVAH.09HINT21HPOPDXRETDISPLAYENDP,输入月份数的ASCII码送AX,将月份数的ASCH码转换为二进制数】确定是否为1£月;若为1。12月贝|清
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑河市人民医院电子喉镜检查操作资格认证
- 中国猪去氧胆酸项目创业计划书
- 中国电热靴项目商业计划书
- 邯郸市人民医院声导抗测试规范化操作考核
- 朔州市中医院成本控制能力考核
- 佳木斯市人民医院放疗科住院医师规范化培训考核
- 延边州中医院医学美容科学术交流能力考核
- 张家口市人民医院健康教育技能考核
- 2025年中国水硬性石灰项目投资计划书
- 中国硼酸镁晶须项目商业计划书
- GB 18664-2025呼吸防护装备的选择、使用和维护
- 2025年中国钛杯行业市场全景分析及前景机遇研判报告
- 室内设计方案施工流程
- 10KV电力设备维护技术标准手册
- 中医药膳制作流程与行业标准
- PDCA循环提升胰岛素注射规范率
- 信息安全全员培训课件
- 旧木房线路改造方案(3篇)
- 某单位2025年上半年平安建设自查自评工作报告
- 湖北省武汉市武昌部分学校2023-2024学年七上期中联考数学试题(原卷版)
- 2025年江苏省无锡市中考物理试卷附答案
评论
0/150
提交评论