首页 《微机原理学习与实践指导》第一部分

《微机原理学习与实践指导》第一部分

举报
开通vip

《微机原理学习与实践指导》第一部分最新资料推PAGE\*MERGEFORMAT#第一部分例题与习题型计算机基础一、例题1.把十进制数137.875转化为二进制数.解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。整数部分.一般采用除2取余法整数高位小皴部分:一般采用乘2取整法1低位(137)10=02(0.875)10=(0.1101)3所以,(137.875)10=(10001001.111)22.把二进制数10011.0111转换为八进制数和十六进制数。解:人进制、十六进制都是从二进制演变而来...

《微机原理学习与实践指导》第一部分
最新资料推PAGE\*MERGEFORMAT#第一部分例 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 与习题型计算机基础一、例题1.把十进制数137.875转化为二进制数.解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。整数部分.一般采用除2取余法整数高位小皴部分:一般采用乘2取整法1低位(137)10=02(0.875)10=(0.1101)3所以,(137.875)10=(10001001.111)22.把二进制数10011.0111转换为八进制数和十六进制数。解:人进制、十六进制都是从二进制演变而来,三位二进制数对应一位人进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。(10011,0111)7=(010011.011100)7=(23,34)g(10011,0111).=(,0111).=g3.7)u3,将八进制薮23.34,换为二进制数。解2C23.34)^=(010011.011100)^=(10011,011112.X=0.1010?Y=-0.0111,求[X—Y]补,并判断是否有溢出?解;[X-Y]xpq补+LY]补[X]^=0.1010[Y]补=1,1001I-Y]i|=0.01110.10100.01114-1.0001 说明 关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书 ,当异号相减运算时,通过补码,减法运算转化为两个正数的加法运算,结果为负(符号位为L),表示运算结果溢出。,10010101H分别为原码、补码、BCD码表示时,对应的十进制数为多少2解.[X]^=10010101,X=—21[X]扑=10010101,[X]京=11101011,X=—107[^]bcd=10010101,X=95.简述计算机为什么能实现自动般的运行?解,计算机能实现自动连续的运行7是由于计算机采用了存储程序的工作原理。把解决问题的计算过程描述为由许多条指令按一定顺序组成的程序,整后把程序和处理所需受的数据一起输入到计算机的存储器中保存起来,计算机接收到执行命令后,由控制器逐条取出并执行指令,控制整个计算机协调地工作,从而实现计算机自动连续的运行。二、习题.选择题8086是(:)。D.单片机A.微机系统B.微处理器C.单板机(2)下列数中最小的数为(A.(101001)2B.(52)8C.(2B)1(3D.(5O)10〈3)下列无符苕数中7其值最大的数是(A.02B.(227)sC(96)16D.(150)i0(4)设寄存器的内容为10000000,若它等于一127.•则为(A.原码B.补码C.反码D.ASCH份〈5)在小型或微型计算机里,普遍采用的字符编码是〈A、BCD码B.16进制C,格雷码D.ASCII码〈6)若机器字长8位,采用定点整数表示,一位符号位,则其补码的袤示范围是A.-(2-1)〜2rB.-27~27—1C.-2:〜2乃・—(27—1)〜27—1〈7)二进制数00100011,用ECD码表示时,对应的十进制数为〈〉。As23B.35C.53D.67(8)己知[Xa=10011000,其真值为O。A、-102B.—103C.-48D.一104(9)二进制数10100101转化为十六进制是()。A.105B.95C.125D.A5A、地址总线和数据总线组成C.数据总缓和控制总线组成(10)连接计算机各部件的一组公共通信统称为总线7它由《)。B.地址总线和控制总线组成D.地址总线、数据总线和控制总线组成B.主机与外围设备〈11〉计算机硬件系统应包括〈A.运算器、存储器、控制器荐C.主机和实用程序D.配套的硬件设备和软件系统(12)计算机硬件能直接识别和执行的只有(〉。A、高级语言B.符号语言C.汇编语言D,机器语言(13)完整的计算机系统是由〈)组成的。A,主机与外设B.CPU与存储器CALU与控制器D.硬件系统与软件系统(14)计算机内进行加、减法运算时常采用(葭A.ASCII码B.原码C.反码D.补码(15)下列字符中,ASCII码值最小的是()。A.aB.AC.XD.Y(16)下列字符中,其ASCII码值最大的是〈A.DB.9C,aD,y(17)目前制造计算机所采用的电子器件是(立A.中规模集成电路B.超大规模集成电路C超导材料D,晶体管(18)计算机中的CPU指的是()。A,控制器B.运算器和控制器C.运算器、控制器和主存D1运算器(19)计算机发展阶段的划分通常是按计算机所采用的()。A.内存容量B.电子器件C程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 语言D.操作系统(20)计算机系统总线中,可用于传送读、写信号的是()。A.地址总线B.数据总线C.控制总线D.以上都不对2,填空题<1)计算机中的软件分为两大类:软件和软件。(2)部件间进行信息传送的通路称为。(3)为判断溢出,可采用双符号位补码进行判断,此时正数的符号用表示,负麴的符号用表示。(4)八位二进制补码所能表示的十进制整数范围是°(5)息线是连接计算机各部件的一组公共信号线,它是计靠机中传送信息的公共通道,总线由、和拄制总线组成.(6)数据总统用来在与内存储器(或口。设备)之间交换信息。C7)在微机的三组总线中,总线是双向的。(8)地址总线由发出,用来确定CPU要访问的内存单元(或I/O端口)的地址.(9)以微处理器为基础,配上和输入输出接口等,就成了微型计算机。3.将下列十进制数分别转换成二进制数、十六进制数。(1)124.625(2)635.05(3)301.6875(4)3910.将二进制数1101.101B、十六进制数2AE.4H、八进制数42.57Q转换为十进制数。.用8位二进制数表示出下列十进制数的原码、反码和补码。最新资料推PAGE\*MERGEFORMAT#荐(1)+127(2)—127〈3)+66(4)一666,设机器字长16位,定点补码表示,尾数15位,数符1位,问।(1)定点整数的范围是多少?<2)定点小数的范围是多少?7,请写出下列字母、符号’控制符或字符串的ASCII码。1)B(2)h(3)SP(空格)(4)5(5)$〈6)CR〈回车)(7)LF(换行)(8)*(9)Hello第2章16位和32位微处理器一、例题1,简述8086总线分时复用的特点。解,为了减少引脚信号畿的数目,8086微处理器有21条引脚是分时复用的双重总线,即AD。〜ADo,A/Ss〜A/S:以及函而/S?。这21条信号线在每个总线周期开始(TP时,用来输出所寻址访问的内存或I/O端口的地址信号49以及“高8位数据允许”信号由fEj而在其余时间〈TcT二)用来传输8086同内存或I/O端口之间所传送的数据Dis〜Do以及输出8086的有关状态信息S?~Ss。.何为时钟周期?它和指令周期、总线周期三者之间的关系是什么?解,(1〉时钟脉冲的重复周期称为时钟周期。时钟周期是CPU的时间基准,由CPU的主频决定。<2)指令周期是执行一条指令所需要的时间,包括取指令、译码和执行指令的时间。指令周期由一个或多个总镂周期组成,不同指令的指令周期所包含的总线周期个数是不同的,它与指令的性质与寻址方式有关。(3)一个总线周期至少由4个时钟周期组成,分别表示为T1、?、T3、.8086有哪两种工作方式?主要区别是什么?,解,微处理器有两种工作方式।最小方式和最大方式。C1)系统中只有一个CPU,对存储器和I/O接口的控制信号由CPU直接产生的单处理机方式称为最小方式,此时MN,位接高电平g<2)对存储器和I/O接口的控制信号由8288总线控制器提供的多处理机方式称为最大方式,此时MN/嬴接低电平,在此方式下可以接入8087或8089。.有一个16个字的数据区,它的起始地址为70A0H;DDF6H,如下图所示。请写出这个数据区苜、末字单元的物理地址。PAGE\*MERGEFORMAT#最新资料推容70AOH:DDF6H16个字图1.2.1存储器单元分布图解,苜地址=70A00H+DDF6HRE7F6H末地址6E7F6H+16X2-2=7E7F6H+20H-2H=7E814H最新资料推PAGE\*MERGEFORMAT#荐〔1〕地址信号在哪段时间内有效?<2)读操作和写操作的区别?〈3)存储器读写时序与U0读写时序的区别?(4)什么情况下需要插入等待周期Tw?解,(1)在T[周期,双重总线〜AD。,〜AMS上输出要访问的内存单元的地址信号Ai9~%。C2)读操作和写操作的主要区别是;①DT/3控制信号在读周期中为低电平,在写周期中为高电平。②在读周期中,而控制信号在「〜T;周期为低电平(有效电平);在写周期中,城控制信号为低电平(有效电平)。③在读周期中,数据信息一般出现在T?周期以后。在T:周期,ADis'AD。进入高阻态,此时,内部引脚逻辑发生接向,由输出变为输入,以便为读入数据作准备.而在写周期中,聚据信息在双重总统上是紧跟在地址总统有效之后立即由CPU送上的,两者之间无高阻态。(3)存储器操作同I/。操作的区别是:在存储器周期中,控制信号M/石始终为高电平g而在I/O周期中,M/后始终为低电平。(4)CPU在每个总线周期的二状态开始采样READY信号,若为低电平,则表示被访向的存储器或I/O设备的数据还未准备好,此时应在二状态之后插入一个或几个T,周荐期,直到READY变为高电平,才进入工状态,完成数据传送,从而结束当前总统周期,二、习题.选择题(1)在8086用088的总线周期中,ALE信号在T1期间有效,它是一个().A.负脉冲,用于锁存地址信息.负脉冲,用于锁存数据信息C,正脉冲,用于钺存地址信息D.正脉冲,用于锁存数据信息(2)8086/8088的最大模式和最小模式相比至少需增设()。A、数据驱动器B,中断控制器U总线控制器D.地址锁存器TOC\o"1-5"\h\z(3)在8086CPU中,不属于总线接口部件的是《)20位的地址加法器B.指令队列U段地址寄存器D.通用寄存器〈4)在8088系统中,只需1片8286就可以构成数据总践收发器,而8086系统中构成数据息线收发器的8286芯片的数量为()。1E.23D.4(5)CPU内部的中断允许标志位IF的作用是〔)。A.禁止CPU响应可屏蔽中断B.禁止中断源向CPU发中断清求C禁止CPU响应DMA操作D.禁止CPU响应非屏蔽中断〈6)在8086的存储器写总镂周期中,微处理器给出的控制信号(最小模式下〉疝,KD5M/后分别是()oA.1,0,1B.0,1,0C0,L1D.1,0,0⑺当8O86CPU从总线上撤消地址,而使总线的低16位置成高阻态时,其最高4位用来输出总统周期的(A、数据信息C状态信息B.控制信息D.地址信息(8)8086CPU在进行I/O写操作时,五和DT/五必须是()•A.30B.0,11,0D.1,119〕若在一个总线周期中,CPU对READY信号迸行了5次采样,那么该总线周期共包含时钟周期的数目为(Be68(10)8086系统复位后,下面的叙述错误的是(荐A.系统从FFFFOH处开始执行程序B.系统此时能响应INTR引入的中断C系统此时能响应NMI引入的中断D.DS中的值为OOOOHCPU访问内存时,丽信号开始有效对应的状态是CKA.T|B.T2c.T5D.Ta.填空题Cl)8086/8088微处理器被设计为两个独立的功能部件,和。(2)当8086进行堆椽操作时,CPU会选择段寄存器来形成20位堆栈地址.13)8086CPU时钟频率为5MHz时,它的典型总线周期为ns。(4)8086CPU的最大方式和最小方式是由引脚信号的状态决定。6)当mta8086工作在最大方式时,需要芯片提供控制信号。(6)若8086系统用8位的74LS373来作为地址锁存器,那么需要片这样的芯片。(7)根据功能不同,8086的标志位寄存器可分为标志和标志。〈8)8086CPU在执行指令过程中,当指令队列己湎,且EU对BIU又设有总统访问清求时,BIU进入状态。(9)复位后,8086将从地址开始执行指令o(10)8086/8088CPU的Ai"%〜八展周;在总统周期的T[期间,用耒输出位地址信息中的位,而在其它时钟周期内,用来输出信息2.完成下列各式补码运算,并根据结果设置标志位SF、ZF、CF、OF。(1)96+(-19)(2)90+107〈3)(133)+14(4)(-33)+(-14).写出下列存储器地址的段地址、偏移地址和物理地址。Cl)2314H:0035H(2)1FD0H:000AH.在8086系统中,下一条指令所在单元的物理地址是如何计算的?6,若某存储器容量为2KB,在计算机存储系统中,其起始地址为2000H:3000H,请计算出该存储器物理地址的范围.8086的复位信号是什么?有效电平是什么?CPU复位后,寄存器和指令队列处于什么状态?8086CPU标志寄存器中的控制位有几个?简述它们的含义.设8088的时钟频率为5MHz,总线周期中,包含2个Tw等待周期。问,(1)该总线周期是多少?(2)该总线周期内对READY信号检测了多少次?8086与8088CPU的主要区别有哪些?8086/8088CPU由哪两部分构成?它们的主要功能是什么?8086CPU系统中为什么矍用地址锁存器?8086/8088CPU处理非屏蔽中断NME和可屏蔽中断MR有何不同?16位/32位微处理器指令系统一、例题.指出下列指令中源操作数的寻址方式.MOVAX,002FHMOVBX,[SI]〈3)MOVCX,[BX+SI+2](4)MOVDX,DSi[1000H](5)MOVSI,BX解,(1)立即寻址(2)寄存器间接寻址(3)基址变址寻址(4)直接寻址(5)寄存器寻址2,若寄存器AX、BXsCXsDX的内容分别为18,19,20,21时,依次执行PUSHAX,PUSHBX,POPCX,POPDX后,寄存器CX的内容为多少?解।执行PUSHAX指令后,将18压入堆栈,(SP)-2玲SPj执行PUSHBX指令后,将19压入堆栈,(SP)—2^SP;执行POPCX指令后5将19从堆栈中弹出,放入CX,(SP)+23SP;执行POPDX指令后,将18从堆栈中弹出,放入DX,(SP)+2+SP;故上述四条指令执行后,(CX)=19o出下列指令的错误所在:MOVAL,SI(2)MOVBL,(3)XCHGCL,100⑷PUSHAL(5)INAL,256(6)MOVBUF-[SI](7)SHLAL,2(8)MOVDS,2000H(9)MUL100(10)MOVAL,BYTEPTRSI解,⑴AI八SI的数据类型不匹配<2)不允许同时使用变址寄存器SI、DI,正确的基址变址寻址方式中应运用一基址、一变址寄存器;(3)只能在寄存器与存储器单元或寄存器之间交换数据!(4)只能向堆栈中压入字类型数据;(5〕I/O端口地址若超过8位,应该由DX寄存器提供;最新资料推PAGE\*MERGEFORMAT#最新资料推PAGE\*MERGEFORMAT#(6)两操作数不能同时为存储器操作数;(7)移位次数大于J,应该由CL寄存器提供g(8)立即数不能直接送给段寄存器;(9)乘法指令的操作数不能是立即数g(10)PTR算符不能运用于寄存器寻址方式。.执行下列指令序列后,AX和CF中的值是多少?STCMOVCX,0403HMOVAX,0A433HSARAX,CLXCHGCH,CLSHLAX,CL解2STC;5=1。MOVCX,0403H?(CX)=0403HMOVAX,0A433H;(AX)=0A433HSARAX,CL;算术右移3位,(AX尸OF486HXCHGCH,CLj互换CH、CL中内容,(CX>0304HSHLAX,CL;逻辑左移4位,(AX)=4860H,CF=1所以,(AX>4860H,CF=1°.设计指令序列,完成下列功能:Q)写出将AL的最高位置1,最低位取反,其它位保持不变的指令段。(2〕写出将AL中的高四位和低四位数据互换的指令段。〈3)检测AL中的最高位是否为1,若为1,则转移到标号NEXT处,否则顺序执行,请用两条指令完成之。(4)写出将立即数06H送到口地址为3F00H的端口的指令序列°解2(1)ORAL,80HXORAL,01H(2)MOVCL,4RORAL,CL〈3〉TESTAL,80HJNZNEXT(4)MOVAL,06HMOVDX,3F00HOUTDX,AL二、习题.选择题<1)下列指令执行后有可能影响cs值的指令数目是〈IMP.MOV^RET、ADD、INTJC、LODS、CALL、MUL、POPA.34c5462)8086在基址变址的寻址方式中,基址、变址寄存器分别是()oAX或CX、BX或CXCSI或BX、DX或DIBX或BP、SI或DID.CX或DI、CX或SI(3)设(SS)=338AH,(SP>0450H,执行PUSHBX和PUSHF两条指令后,堆栈顶部的物理地址是 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 中,正确的有()种。©SUBAX,0@XORAX,0JZLIJZLL③ORAX,AX@TESTAX,OFFFEHJZLIJZLITOC\o"1-5"\h\zA.1B.2C.3D.4〈13)在下列指令中,隐含使用AL寄存器的指令有()条。AAAMOVSBMULBHCBWSCASBXLATA.2B,3C.4D、5(14)已知(SS)=1000H,(SP>2000H,(BX)=283FH,指令CALLWORDPTR[BX]的机器代码是0FF17H,该指令的起始地址为1000H,试问执行该指令后,内存单元11FFEH中的内容是(〉。A.28HB,3FHC.OOHD,02H(15)设AL中的值为84H,CF=1,现执行RCRAL,1指令后,AL中的值和CF分别为(A、0C2H、1B.42H、1C.0C2H、0D.42H、0(16)能够将CF置1的指令是(A.CLCB.CMCC.NOPD.STCC17)执行一列三条指令后,AX寄存器中的内容是(MOVAX,’8’ADDAL,’9’AAAA、0071HB.0107HC0017HD.0077H(18)下列指令执行后,能影响标志位的指令是(A、LOOPNZNEXTB.JNZNEXTCMOVAX,2400HD.INT21H(19)若①X)=1234H,(IP)=5678H,执行JMPDX指令后,寄存器变化正确的是()。A、(DX)=1234Hs(DP尸5678HB,(DX)=1234Hx(IP)=1234HC(DX)=5678HsQP)=5678HD.(DX)=5678H、(IP>1234H(20)对于下列程序段:AGAINiMOVESi[DI],ALINCDILOOPAGAIN在下列指令中,可完成与上述程序段相同功能的指令是()。A.REPMOVSBB.REPSTOSB最新资料推PAGE\*MERGEFORMAT#最新资料推PAGE\*MERGEFORMAT#c.REPLODSBD.REPSCASB2.填空题(1)与指令“MOVBX,OFFSETDATA”等效的指令是°(2)写出将寄存器BX的内容求补的正确指令是。(3)使AL中的操作数61位变反,其它位不变的指令是。(4)假定(SP)=0100H,(AX>2107H,执行指令PUSHAX后,存放数据21H的偏移地址是。<5)设(CS)=3100H,(DS)=40FFH7并且两段空间均为64K个单元,那么这两段的重叠区域为个单元。(6)MOVAL,BLNOTALXORAL,BLORBL,AL程序段执行后,(AL尸、(BL)=。(7)执行下列指令后;MOVAX,1234HMOVCL,4ROLAX,CLDECAXMOVCX,4MULCXHLT寄存器AH的值是、寄存器AL的值是;寄存器DX的值是。(8)已知(AX)=OFFFFH,(DX)=0001HMOVCX,2LOPiSHLAX,1RCLDX,1LOOPLOP上述程序段执行后,(DX)=,(AX)=.(9)填写执行下列程序段后的结果。MOVDX,8F70HMOVAX,54EAHORAX,DXANDAX,DXNOTAXXORAX,DXTESTAX,DX(AX)=、(DX)=、SF=OF=、CF=、PF=、ZF=(10)DAT1DW12H,23H,34H,46H,57HDAT2DW03HLEABX,DAT1ADDBX,DAT2MOVDX?[BX]MOVAX,4[BX]SUBAX,DX执行上列程序段后,AX的内容为。.设DS=2000H,SS=1500H,(ES)=3000H,(SI)=00B0H,(BX>1000H,(BP)=0020H,指出下列指令的源操作数的寻址方式是什么?若该操作数为存储器操作数,请计算其物理地址。⑴MOVAX,DS:[0100H](2)MOVBX,0100H(3)MOVAX,ES:[SI]WMOVCL,[BP](,5〕MOVAX,[BX][SI]⑹MOVCX,BX⑺MOVAL,3[BX][SI](8)MOVAL,[BX+20].段地址和偏移地址为3017,000A的存储单元的物理地址是什么?如果该存储单元位于当前数据段,写出将该单元内容放入AL中的指令。.判别下列指令的对错,如有错误,请指出其错误所在。MOVAX,BLMOVAL,[SI]MOVAX,[SI]PUSHCL〈5)MOVDS?3000HSUB3[SI][DI],BXDIV10MOVAL?ABHMOVBX,OFFSET[SI]POPCSMOVAX,[CX]MOV[SI],ES;[DI+8](13)IN255H,AL(14)ROLDX,4MOVBYTEPTR[DI],1000(16)OUTBX,AL(17)MOVSP,SS:DATA_WORD[BX][SI]LEADS,35[DI]荐(19)MOVES,DSPUSHF6,设(DS)=1000H,(AX)=050AH,(BX)=2A80H,(CX)=3142H,(SI)=0050H,(10050H)=3BH,(10051H)=86H>(11200H)=7AH,(U201JT)=64H?(12AD0H)=0A3H,(12ADlH)=0B5Ho试分析下列指令分别执行后,AX中的内容。⑴MOVAX,1200H(2)MOVAX,DSs[1200H](3)MOVAX,[SI]⑷ORAX,|bx][sq(5)MOVAX,50H[BXJ7,设某用户程序(SS)=0925H)(SP)=30H>(AX尸1234H)(DS)=5678H,如有两条进栈指令;PUSHAXPUSHDS试列出两条指令执行后,堪栈中各单元变化情况,并给出堆栈指针SP的值。8.设(AL)=2FH,(BL)=97H・试写出下列指令分别执行后CF、SF、ZF、OF、AF和PF的内容*(1)ADDAL,BL⑵SUBAL,BLANDAL,BLORAL,BLXORAL,BL.执行下列程序段后,AX和CF中的值是多少?STCMOVCX,0403HMOVAX,0A433HSARAX,CLXCHGCH,CLSHLAX,CL.设(AX)=0119H,试分析,执行下列程序段后,AX和CF的内容分别是多少?MOVCH,AHADDAL,AHDAAXCHGAL,AHADCAL-34HDAAXCHGAH,ALHLT11.分析下面的程序段,执行后AX和IP的内容为多少?MOVBX?16荐MOVAX,OFFFFHMULBXIMPDX.下列程序段运行后,HCOD和HCODH两字节单元内容是什么?HEXDB'0123456789ABCDEF'HCODDB?,?■1।MOVBX,OFFSETHEXMOVAL,1AHMOVAH,ALANDAL,OFHXLATMOVHCOD[1],ALMOVCL,12SHRAX,CLXLATMOVHCOD,AL13,下列程序运行后,Z单元的内容是多少?简要说明程序的功能。(设X、Y单元的内容分别为90H、0B0H)MOVAX,0MOVAL,XADDAL,YADCAH,0MOVBL,2DIVBLMOVZ,AL14,试分析下列程序段执行后,CL内容分别是什么?CF是1还是0?MOVAL,1MOVBL,ALMOVCL,ALNEGALADCCL,BL.下列程序运行到NEXT时,CX和ZF的内容分别是多少?STR1DB’COMPUTERNDPASCAL'SCADB'N'LEAMOVMOVCLDDb;AL,STR1SCA10HREPNESCASBNEXT.已知DS和ES指向同一个段,且当前数据段从OOOOH到OOFFH单元内容分别为01H,02H,03H,OFFH,00H,问下列程序段执行后,0000~0009H的内容是些什么值。MOVSI,0000HMOVDI,0001HMOVCX70080HCLDREPMOVSB17、执行下列程序段后,SP及CF的值分别是多少?MOVSP,6000HPUSHFPOPAXORAL,01HPUSHAXPOPF.填入适当指令,便程序段能实现将AL中低位十六进制数转换为ASCII码。ANDAL,OFHADDAL,30HCMPAL,3AHJLLP2第4章汇编语言程序设计一、例题1.设有一数据段DSEG,其中连续定义下列5个变量或常量,用段定义语句和数据定义语句写出数据段;(1)DATA1为一字符串变量:"WELCOMETOMASM!"(2)DATA2为十进制字节变量।32,90,-20。DATA3为连续10个00H的字节变量。(4)DATA4为双字变量,其初始值为12345678H(5)COUNT为一符号常量,其值为以上四变量所用字节数。解,定义数据段如下;DSEGSEGMENTDATA!DB“WELCOMETOMASK!'DATA2DB32,90,—20DATA3DB10DUP(OOH)DATA4DD12345678HCOUNTEQU$—DATA1DSEGENDS其中$W»ATA1中,表示当前汇编地址计数器值,用其减去DATA1的偏移地址可得该数据段所用字节数。2,设有以下数据段定义;DSEGSEGMENTXIEQU30HX2EQU70HX3EQU0F7HDSEGENDS给出下列指令分别执行后,AL中的内容是多少?⑴MOVAL,X1+X2MOVMOVMOVMOVMOVAL,X2AL,XIAL,XIAL,XIAL,X2MODXIEQX3ANDX3ORX3GTXI解:(1)(AL尸3OH+7OH=OAOH(2)(AL尸70HMOD30H=10H(3)XIEQX3=30HEQ70H为逻辑运算)其值为假,故(AL尸OOH(AL)=X1ANDX3=30HAND0F7H=30H(5)(AL尸XIORX3=30HOROF7H=0F7H(6)X2GTX1=70HGT30H为逻辑运算)其值为真,故(AL)=0FFH.分析下列程序段,回答所提问题。DAIDW1F28HDA2DB?XORBL,BLMOVAX,DAILOP;ANDAX,AXJZexttSHLAX,1JNCLOPINCBLJMPLOPEXIT:MOVDA2,BL最新资料推PAGE\*MERGEFORMAT#最新资料推PAGE\*MERGEFORMAT#试问,(1)程序段执行后,DA2字节单元内容是什么?(2)在程序段功能不变情况下;是否可用SHR指令代替SHL指令?解:XORMOVBL,BLAX,DAI;(BL)=0l(AX尸LF28HLOPiANDAX,AXi使标志位根据AX中内容而变化JZEXIT;若(AXH),则转EXITSHLAX,1;逻辑左移1位,移出位进入CFJNCLOPINCBL;如CF=1,BLtJDJJMPLOPEXTTiMOVDA2,BL(1)如上分析,该程序段被用来统计DA1中内容含二进制1的个数。DA2字节单元内容为DA1中内容含二进制“1,的个数,也即(DA2)=7.(2)无论逻辑左移还是逻辑右移指令,均能将DA1中的二进制数位一位一位地移到CF中,其程序段功能不变,故可用SHR指令代替SHL指令。.分析下列程序段,回答所提问题。DALDB87HDA2DB?•♦•♦•♦XORAH,AHMOVAL,DAIMOVCL,4SHRAL,CLMOVDL,10MULDLMOVBL,DAIANDBL,OFHADDAL,BLMOVDA2,AL试问,(1)程序段执行后,DA2字节单元内容是什么?(2)在程耳段功能不变情况下,是否可用SAR指令代替SHR指令?解,XORAH,AH?(AH)=0MOVAL,DAIj(AL)=87HMOVCL,4•(SHRAL,CL;取AL的高四位,(AL>07HMOVDL,10MULDL;高四位的数字乘以10MOVBL,DAIANDBL,OFH;取DA1的低四位ADDAL,BLMOVDA2,AL?相加得到(DA2)=57H分析।将DA1的高四位乘以10,再加上低四位,实际完成了将DA1中的BCD码转换为二进制的运算。由分析得।(DA2)=57H.在程序段功能不变情况下,不能用SAR指令代替SHR指令,因为SAR不能将AL的高四位从其中分离出来。5XORXORXORLOP:TESTJEADDINCNEXTiINCINCCMPJNE试问,DA_BDB0CH,9,8,OFH,OEH,0AH,2:3,7,4AX,AXCL,CLBX,BXDAB[BX],01HNEXTAL,DA_B[BX]AHBXCLCL,10LOP内容又是什么2解,XORAX,AXq(AX)=0XORCL,CL;(CL)=0XORBX,BX;(BX)=0LOPiTESTDA_B[BX],01HJENEXTs若DA_B[BX]中二进制数的最低位为0,转NEXTADDAL,DA_B[BX]j否则累加该数到ALINCAH;统计奇数个数到AHNEXT:INCBX;修改指针,指向下个二进制数(1)上述程序段执行后,AH、AL寄存器中的内容是什么?(2?若将“JENEXT"指令改为"INENEXT",那么AH、AL寄存器中的INCCLCMPCL,10JNELOP;对10个数完成以上操作后,停止分析可知,该程序实际是对10个数中的奇数求和。所以,AH=4§AI尸34。若将“JENEXT”指令改为“JNENEXT”,则程序功能变为统计偶数的个数,并累加它们的值,故AI尸50。6.编写完整的汇编源程序,统计下面定义的数据缓冲区BUF中,非数字字符的个数,放入COUNT单元。设该数据缓冲区最后一个字符为数字字符指‘0’~勺LDSEGSEGMENTBUFDBM334as432bbGGGn34kkkkS'COUNTDW0DSEGENDS解;分析;(1)由于程序必须反复地从BUF中取出字符并判断,故采用循环程序结构。Q)BUF缓冲区的最后一个字符为故采用条件判断法来控制循环结束。(3)非数字字符的个数是指ASCII码小干30H或大于39H的字符。程序设计如下:DSEGSEGMENTBUFDBM334as432bbG<3Gn34kkkk$'SUMDW0DSEGENDSSSEGSEGMENTSTACKSTKDB100DUP(?)SSEGENDSCSEGSEGMENTASSUMEDSsDSEG,SS:SSEG,CS:CSEGSTART:MOVAX,DSEGMOVDS,AXMOVSI,OFFSETBUFMOVDX,0LPOiMOVAL,[SI]CMPAL,飞’JEEXITCMPAL,JNCLP1INCDXJMPLP2LPbCMPAL,3AHJCLP2INCDXLP2;INCSIJMPLJPOEXITiMOVCOUNT?DXMOVAH)4CHINT21HCSEGENDENDSSTART最新资料推最新资料推PAGE\*MERGEFORMAT#二、习题1.选择题(1)在计算机内部,计算机能够直接执行的程序语言是()。A.汇编语言B.高级语言C,机器语言D.C语言(2)执行下面的程序段后,BX的内容是().NUM=100MOVBX,NUMNE50A、50B.0C.OFFFFHD.1(3)数据定义BUFDW1,2,3,4执行指令MOVCL,SIZEBUF后,CL寄存器的内容是〈)。A.1B.0C.OFFFFHD.2<4)设数据段定义如下,DATASEGMENTNAEQU15NBEQU10NCDB2DUP(4,2DUP(5,2))CNTDB$-NCCW1DW$-CNTNDDWNCDATAENDS①从DS,0000开始至CNT单元之前存放的数据依次是(A.15、10、4,5、2、5、2、4.5、2、5、215、10、4、2、5、2、4、2、5、2UOFHxOAHh4、5、2x5、2D.4、5、2、5、2、4、5、2、5、2②ND单元中的值是(A、0000HB.0200HC,0003HD.0002H③CWT单元中的值是《)。2B.1C11D.12(5)已知:VARDW1,2,$+2,5,6,若汇编VAR分配的偏移地址是0010H,汇编0014H单元的内容是CA、05HB.06HCL6HD.14H(6)使用8086/8088汇编语言的伪操作命令定义:VARDB2DUPQ,2,3DUP(3),2DUP(1,0))则在VAL存储区前十个字节单元的数据是()。A.1、2、3、3、2、1、0、1、2、31、2、3、3、3、3、2、1、0、1C2^1、2、3、3、2、1、0、2、1D.1、2、3、3、3、1、Oh1、Os1,填空题(1)在宏汇编中,源程序必须通过生成目标代码,然后由连接程序将其转化为可执行文件,该文件才可在系统中运行。<2)被用来表示指令在程序中位置的符号地址.(3)用来把汇编语言源程序自动翻译成目标程序的软件叫0(4)指令MOVAX,SEGHUF的执行,将送到AX中。〈5)若定义DATADW200AH,执行MOVBL,BYTEPTRDATA指令后(BL尸(6)指令中用于说明糜作数所在地址的方法,称为1⑺试分析下述程序段执行后,(AX)=、(BX)=。XORAX,AXDECAXMOVBX,6378HXCHGAX7BXNEGBX(8)下述程序段执行完后,(AL)=、MOVAL,10ADDAL,ALSHLAL,1MOVBL,ALSHLAL,1ADDAL,BL.执行下列指令段后,AX和CX的内容分别是多少?BUFDB1,2,3,4,5,6,7,8,9,10MOVCX,10MOVSI,OFFSETBUPrLEADLBUF+10STDREPMOVSBMOVBX,OFFSETBUFMOVAX,[BX].如果用调试程序DEBUG的R命令在终端上显示当前各寄存器的内容如下,请说明当前堆栈段段基址是多少?栈顶的物理地址是多少?ODEBUG—RAX=0000BX=0000CX=0079DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDTPLNZNAPONC5、分析下列程序段执行后,AX寄存器的内容是什么?最新资料推PAGE\*MERGEFORMAT#TABLEDW10H,20H,30H,40H,50H,60H,70H,80HENTRYDW6■♦■♦♦♦MOVBX,OFFSETTABLEADDBX,ENTRYMOVAX,[BX]6,试分析下列程序段执行后,AX和DX寄存器的内容分别是什么?VARIDB86HVAR2DW2005H,0021H,849AH,4000HMOVAL,VARICBWLEABX,VAR2MOVDX,2[BX]SUBAX,DX7.试分析下列程序段,回答所提问题。ORG3000HDB11H,12H,13H,14H,15HMOVBX,3000HSTCADCBX,1SALBL,1INCBYTEPTRfBX](1)程序段执行后,3004H单元中的内容是什么?(2)程序段执行后,BX中的内容是什么?CF的值是1还是0?8,对于下面的数据定义,各条MQV指令单独执行后,请填充有关寄存器的内容;TABLEIDB01H,02HTABLE2DW10DUP(0)TABLE3DB’WELCOME'MOVAX,TYPETABLE!;(AX尸MOVBX,LENGTHTABLEIJ(BX)=MOVCX,LENGTHTABLE2;(CX)=MOVDX,SIZETABLE2?①斯MOVSI,LENGTHTABLE3s(SI>9.当执行以下程序后,AX、BX、CX、DX中的值分别是多少?CODESEGMENTASSUMECS:CODE,DS:CODE,SSsCODEORG100HBEGIN:MOVAX,01HMOVBX,02HMOVDX,03HMOVCX,04HL20iINCAXADDBX,AXSHRDX,1LOOPNEL20CODEENDSENDBEGIN.下列为将两位压缩BCD码转换为两个ASCII字符的程序段,将合适的指令填入空白处,形成正确的程序段,BCDBUFDB46HASCBUFDB?7?MOVAL,MOVBL,ALMOVCL>4BL,CLADDBL,MOVASCBUF,BLMOVASCBUF+1?AL.在数据段中,WEEK是星期一z星期日的英语缩写,DAY单元中存有一数,范围在1~7之间(1表示星期一,7表示星期日WEEKDB’MON"‘TUE:’WED""THU"FrT>‘SAT:’SUN'DAYDBXs数字1-7编写程序,使其能根据DAY的内容用单个字符显示功能调用(2号功能)去显示对应的英文缩写。.设在DAT单元存放一个一9~+9的字节数据,在SQTAB数据区中存放了卜9的平方值,下面程序段利用直接台表法在3QRTAB中查找出DAT单元中数据对应的平方值送SQR单元。请补充空格处,完善程序功能。DSEGSEGMENTDATDBXXH;XXH表示在一6+9之间的任意字节数据SQTABDB0,L4,9……81SQRDB?DSEGENDSSSEGSEGMENTSTACKSTKDB100DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DESG,SS:SSEGSTARTiMOVAX,DSEGMOVDS,AXMOVAL,DATANDAL,JNSNEXTNEXT:MOVBX,OFFSETSQRTABMOVSQR,ALMOVAH,4CHINT21HDESGENDSENDSTART.设内存中有三个互不相等的无符号字数据,分别存放在DATA开始的字单元中,编程将其中最小值存入MN单元。.设计将数字符ASCII码率转换成BCD码串的子程序, 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 转换后的BCD码顺序和Ascn码顺序相反。.编写程序在一组字符串中寻找‘AM'的出现次数,核串的前缀字符为‘PROG’,并以CtrHZ(1AH)结束,统计结果存入字变量NUM中。.下述程序段执行后,AH和AL寄存器中内容是多少?DA_CDB10DUP35,7,9)LEABX,DA_CMOVCX,10XORAX,AXLP;ADDAL,[BX]CMPAL,10JBNEXTINCAHSUBAL,10NEXTiINCBXLOOPLP.阅读下列程序,回答问题。DSEGSEGMENTMUM1DB300DUP(?)NUM2DB100DUP(?)DSEGENDSCSEGSEGMENTASSUMECS,CSEG,DS=DSEGMAINPROCFARSTART:PUSHDSMOVAX,0PUSHAXMOVAX,DSEGMOVDS,AXMOVCX,100MOVBX,CXADDEX,BXXORSI,SIANDDbOOOOHLP15MOVAL,NUMlfBX][SI]MOVNUM2[SI],ALINCSILOOPLP1QQQ«RETMAINENDPCSEGENDSENDSTART(1)该程序完成。12〕程序执行到QQQ处,(SI)=、(D3>=、(CX)=o.阅读下列程序DATASEGMENTTABLEDB60H,40H,50H,80H,30HCOUNTDBS-TABLEDATAENDSCODESEGMENTASSUMECSsCODE,DS=DATAMAINPROCFARSTART:PUSHDSMOVAX,0PUSHAXMOVAX,DSEGMOVAX,DATAMOVDS,AXMOVCX,COUNTMOVD—CXDECDXLEABX,TABLELOPO:MOVSbOOHMOVCX,DXLOP1:MOVAL,[BX+SI]CMPAL,[BX+SI+1]JBENEXTXCHGAL,[BX+SI+1]MOV[BX+SI],ALNEXTiINCSILOOPLOP1DECDXJNZLOPORETMAINENDPCODEENDSENDMAIN回答以下问题:(1)该程序的功能是。(2)程序运行结束时,TABLE+3单元的内容是。(3)若将JBENEXT改为JAENEXT,则对程序的影响是—一,第5章存储器一、例题1.设有一个具有14位地址和8位字长的存储器,试计算,<1)该存储器能存储多少字节信息?(2)如果存储器由2K乂4位的RAM芯片组成,需多少RAM芯片?需多少位地址进行芯片选择?解,(1)存储器有14位地址和8位字长,其存储单元的个数为2卜=16K,存储器的容量为16Kx8位。所以,该存储器能存储的信息总演为:16KB。(2〕所需的RAM芯片的数目=16KX8«2Kx4)=16(片用2K乂4位的RAM芯片扩展成16Kx8位存储器,需进行字位同时扩展。因为每2片的2KX4位进行位扩展才能构成2K乂8位。因此,进行字扩展的就有16/2=8(组),而字扩展要求为每组分配不同的片选信号,即要求有8个不同的片选信号,所以,需3位⑵二8)地址进行芯片选择。一般片选信号是由高位地址线译码产生的。2.某微机有8条数据线、16条地址线,现用SRAM2114(容量为1KX4位)存储芯片组成存储系统.问采用线译码方式时,系统的最大存储容量最大是多少?此时需要多少个2114存储芯片?解;由于2114的容量为1K"位,地址线要10条,所以剩余6条地址线进行线译码,提供6个片选信号。所以这时系统的最大存储容堂为,6欠1£>8位=6K,8位。这时需要2n4的个数为.6Kx8/(lKx4)=12片。c74LS138氏3~4271281短A19-A?Dr4^8C®W.IOJM£一匕一三巴B一匕A3.某8088存储器系统中,用2片EPROM27128(16Kx8)和2片RAM6264(8KX8)以及1片74LS138译码器2个2输入与门、1个非门来组成存储器系统,各芯片的主要信号如图L5.1所示,要求起始地址为OOOOOH,画出存徜器系统连接图,井写出每个存储器芯片的地址范围.41尸%WEOE6264图1.5.1各芯片峋主要信号图解:6264的容量为8Kx8b,215=8K,故有13条地址线.CPU的20条地址线中,低13位冬?〜治直接和存储器芯片的地址筑相连,用于芯片内的地址泽码,而高7位A19~An经地址译码器译码后输出作为存储器芯片的片选信号。27128芯片的容量为16Kx8bit,2^16K,故有14条地址线。CPU的20条地址畿中,低14位〜处为存储器芯片的片内地址,而高6位A[9~A]4为片外地址。选择前者高位地址7位A[9~A]3的部分地址A”〜A心用74LS138进行译码,金八A3A15sAUsA13电别连接在74LS138的百小、GzaxCxB、A上,8088的K血连接到74LS138的5。Yo.自分另U作为6264的片选(CE)可满足起始地址为OOOOOH。用上述连线的74LS138作为27128(16K%8b)的片选,需要保证为;=0或Ayl方可使27128的片内地址A1;〜4全0变到全1,Y2.Ys学2输入与门的输入,与门的输出作为27128的片选(E)可实现上述逻辑。同理下4、^5接另一个2输入与门的输入。存储器系统连接图见图L5.2。图中1#、2K芯片是6264,3井、4井芯片是27128。最新资料推PAGE\*MERGEFORMAT#(Y«^Y5)1111111111111OBFFFH荐二、习题1.选择题Q)内存又称主存,相对于外存来说,它的特点是(A.存储容量大,价格高,存取速度快B.存储容量小,价格低,存取速度慢C,存储容量大,价格低,存取速度快D.存储容量小,价格高,存取速度快(2)集成度最高的存储线路是(A.六管静态线路C.四管动态线踣<3)EPROM不同于ROM,A.EPROM只能改写一次C.EPROM可以多次改写B.六管动态线路D.单管动态线路是因为<工〈4)在下面的多组存储器中,EPROM只能读不能写D、EPROM断电后信息丢失断电或关机后信息仍保留的是(A、RAM、ROMB.ROM、EPROMCSRAM、DRAMD.PROM、RAM(5)下列几种存储芯片中,存取速度最快和相同容量的价格最便宜的分别是()=0B.BHE=0,%=1CBHE=1,Ao=OD.
本文档为【《微机原理学习与实践指导》第一部分】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
captmumuma
精通药剂学
格式:doc
大小:655KB
软件:Word
页数:0
分类:
上传时间:2021-06-15
浏览量:107