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

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

举报
开通vip

《微机原理学习与实践指导》第一部分可编辑可编辑精品精品可编辑精品第一部分例题与习题第1章微型计算机基础一、例题  1.把十进制数137.875转化为二进制数。解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。整数部分:一般采用除2取余法小数部分:一般采用乘2取整法--------------1--------------0--------------0--------------1--------------0--------------0--------------0--------------1余数...

《微机原理学习与实践指导》第一部分
可编辑可编辑精品精品可编辑精品第一部分例题与习题第1章微型计算机基础一、例题  1.把十进制数137.875转化为二进制数。解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。整数部分:一般采用除2取余法小数部分:一般采用乘2取整法--------------1--------------0--------------0--------------1--------------0--------------0--------------0--------------1余数低位整数高位2|1370.875-------------1-------------1-------------12|68×22|341.7502|17×22|81.5002|4×22|21.0001高位低位(137)10=(10000111)2(0.875)10=(0.1101)2所以,(137.875)10=(10001001.111)22.把二进制数10011.0111转换为八进制数和十六进制数。解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。(10011.0111)2=(010011.011100)2=(23.34)8(10011.0111)2=(00010011.0111)2=(13.7)163.将八进制数23.34转换为二进制数。解:(23.34)8=(010011.011100)2=(10011.0111)24.X=0.1010,Y=-0.0111,求[X-Y]补,并判断是否有溢出?解:[X-Y]补=[X]补+[-Y]补[X]补=0.1010[Y]补=1.1001[-Y]补=0.0111+0.10100.01111.0001说明:当异号相减运算时,通过补码,减法运算转化为两个正数的加法运算,结果为负(可编辑可编辑精品精品可编辑精品符号位为1), 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示运算结果溢出。5.10010101B分别为原码、补码、BCD码表示时,对应的十进制数为多少?解:[X]原=10010101,X=-21[X]补=10010101,[X]原=11101011,X=-107[X]BCD=10010101,X=956.简述计算机为什么能实现自动连续的运行?解:计算机能实现自动连续的运行,是由于计算机采用了存储程序的工作原理。把解决问题的计算过程描述为由许多条指令按一定顺序组成的程序,然后把程序和处理所需要的数据一起输入到计算机的存储器中保存起来。计算机接收到执行命令后,由控制器逐条取出并执行指令,控制整个计算机协调地工作,从而实现计算机自动连续的运行。二、习题1.选择题(1)8086是()。A.微机系统B.微处理器C.单板机D.单片机(2)下列数中最小的数为()。A.(101001)2B.(52)8C.(2B)16D.(50)10(3)下列无符号数中,其值最大的数是()。A.(10010101)2   B.(227)8  C.(96)16D.(150)10(4)设寄存器的内容为10000000,若它等于-127,则为()。A.原码B.补码C.反码D.ASCII码(5)在小型或微型计算机里,普遍采用的字符编码是()。A.BCD码B.16进制C.格雷码D.ASCII码(6)若机器字长8位,采用定点整数表示,一位符号位,则其补码的表示范围是()。A.-(27-1)~27B.-27~27-1C.-27~27D.-(27-1)~27-1(7)二进制数00100011,用BCD码表示时,对应的十进制数为()。A.23B.35C.53D.67(8)已知[X]补=10011000,其真值为()。A.-102B.-103C.-48D.-104(9)二进制数10100101转化为十六进制是()。A.105B.95C.125D.A5(10)连接计算机各部件的一组公共通信线称为总线,它由()。A.地址总线和数据总线组成B.地址总线和控制总线组成C.数据总线和控制总线组成D.地址总线、数据总线和控制总线组成(11)计算机硬件系统应包括()。A.运算器、存储器、控制器B.主机与外围设备C.主机和实用程序D.配套的硬件设备和软件系统可编辑可编辑精品精品可编辑精品(12)计算机硬件能直接识别和执行的只有()。A.高级语言B.符号语言C.汇编语言D.机器语言(13)完整的计算机系统是由()组成的。A.主机与外设B.CPU与存储器C.ALU与控制器D.硬件系统与软件系统(14)计算机内进行加、减法运算时常采用()。A.ASCII码B.原码C.反码D.补码(15)下列字符中,ASCII码值最小的是()。A.aB.AC.xD.Y(16)下列字符中,其ASCII码值最大的是()。A.D    B.9    C.a   D.y(17)目前制造计算机所采用的电子器件是()。A.中规模集成电路  B.超大规模集成电路C.超导 材料 关于××同志的政审材料调查表环保先进个人材料国家普通话测试材料农民专业合作社注销四查四问剖析材料     D.晶体管(18)计算机中的CPU指的是()。A.控制器B.运算器和控制器C.运算器、控制器和主存D.运算器(19)计算机发展阶段的划分通常是按计算机所采用的()。A.内存容量   B.电子器件C.程序设计语言       D.操作系统(20)计算机系统总线中,可用于传送读、写信号的是()。A.地址总线 B.数据总线C.控制总线            D.以上都不对2.填空题(1)计算机中的软件分为两大类:___________软件和_______软件。(2)部件间进行信息传送的通路称为___________。(3)为判断溢出,可采用双符号位补码进行判断,此时正数的符号用表示,负数的符号用表示。(4)八位二进制补码所能表示的十进制整数范围是_______。(5)总线是连接计算机各部件的一组公共信号线,它是计算机中传送信息的公共通道,总线由、和控制总线组成。(6)数据总线用来在与内存储器(或I/O设备)之间交换信息。(7)在微机的三组总线中,总线是双向的。(8)地址总线由发出,用来确定CPU要访问的内存单元(或I/O端口)的地址。(9)以微处理器为基础,配上和输入输出接口等,就成了微型计算机。3.将下列十进制数分别转换成二进制数、十六进制数。(1)124.625(2)635.05(3)301.6875(4)39104.将二进制数1101.101B、十六进制数2AE.4H、八进制数42.57Q转换为十进制数。5.用8位二进制数表示出下列十进制数的原码、反码和补码。可编辑可编辑精品精品可编辑精品(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条引脚是分时复用的双重总线,即AD15~AD0,A19/S6~A16/S3以及/S7。这21条信号线在每个总线周期开始(T1)时,用来输出所寻址访问的内存或I/O端口的地址信号A19~A0以及“高8位数据允许”信号;而在其余时间(T2~T4)用来传输8086同内存或I/O端口之间所传送的数据D15~D0以及输出8086的有关状态信息S7~S3。2.何为时钟周期?它和指令周期、总线周期三者之间的关系是什么?解:(1)时钟脉冲的重复周期称为时钟周期。时钟周期是CPU的时间基准,由CPU的主频决定。(2)指令周期是执行一条指令所需要的时间,包括取指令、译码和执行指令的时间。指令周期由一个或多个总线周期组成,不同指令的指令周期所包含的总线周期个数是不同的,它与指令的性质与寻址方式有关。(3)一个总线周期至少由4个时钟周期组成,分别表示为T1、T2、T3、T4。3.8086有哪两种工作方式?主要区别是什么?解:微处理器有两种工作方式:最小方式和最大方式。(1)系统中只有一个CPU,对存储器和I/O接口的控制信号由CPU直接产生的单处理机方式称为最小方式,此时MN/接高电平;(2)对存储器和I/O接口的控制信号由8288总线控制器提供的多处理机方式称为最大方式,此时MN/接低电平,在此方式下可以接入8087或8089。4.有一个16个字的数据区,它的起始地址为70A0H:DDF6H,如下图所示。请写出这个数据区首、末字单元的物理地址。∙∙∙∙∙∙70A0H:DDF6H16个字图1.2.1存储器单元分布图解:首地址=70A00H+DDF6H=7E7F6H末地址=7E7F6H+16×2-2=7E7F6H+20H-2H=7E814H5.根据8086存储器读写时序图,回答如下问题:可编辑可编辑精品精品可编辑精品图1.2.2存储器读周期时序图图1.2.3存储器写周期时序图(1)地址信号在哪段时间内有效?(2)读操作和写操作的区别?可编辑可编辑精品精品可编辑精品(3)存储器读写时序与I/O读写时序的区别?(4)什么情况下需要插入等待周期TW?解:(1)在T1周期,双重总线AD15~AD0,A19/S6~A16/S3上输出要访问的内存单元的地址信号A19~A0。(2)读操作和写操作的主要区别是:①控制信号在读周期中为低电平,在写周期中为高电平。②在读周期中,控制信号在T2~T3周期为低电平(有效电平);在写周期中,控制信号为低电平(有效电平)。③在读周期中,数据信息一般出现在T2周期以后。在T2周期,AD15~AD0进入高阻态,此时,内部引脚逻辑发生转向,由输出变为输入,以便为读入数据作准备。而在写周期中,数据信息在双重总线上是紧跟在地址总线有效之后立即由CPU送上的,两者之间无高阻态。(3)存储器操作同I/O操作的区别是:在存储器周期中,控制信号始终为高电平;而在I/O周期中,始终为低电平。(4)CPU在每个总线周期的T3状态开始采样READY信号,若为低电平,则表示被访问的存储器或I/O设备的数据还未准备好,此时应在T3状态之后插入一个或几个TW周期,直到READY变为高电平,才进入T4状态,完成数据传送,从而结束当前总线周期。二、习题1.选择题(1)在8086/8088的总线周期中,ALE信号在T1期间有效。它是一个()。A.负脉冲,用于锁存地址信息B.负脉冲,用于锁存数据信息C.正脉冲,用于锁存地址信息D.正脉冲,用于锁存数据信息(2)8086/8088的最大模式和最小模式相比至少需增设()。A.数据驱动器B.中断控制器C.总线控制器D.地址锁存器(3)在8086CPU中,不属于总线接口部件的是()A.20位的地址加法器   B.指令队列C.段地址寄存器      D.通用寄存器(4)在8088系统中,只需1片8286就可以构成数据总线收发器,而8086系统中构成数据总线收发器的8286芯片的数量为()。A.1 B.2C.3  D.4(5)CPU内部的中断允许标志位IF的作用是()。A.禁止CPU响应可屏蔽中断B.禁止中断源向CPU发中断请求可编辑可编辑精品精品可编辑精品C.禁止CPU响应DMA操作D.禁止CPU响应非屏蔽中断(6)在8086的存储器写总线周期中,微处理器给出的控制信号(最小模式下),,分别是()。A.1,0,1B.0,1,0C.0,1,1D.1,0,0(7)当8086CPU从总线上撤消地址,而使总线的低16位置成高阻态时,其最高4位用来输出总线周期的()。A.数据信息B.控制信息C.状态信息D.地址信息(8)8086CPU在进行I/O写操作时,和必须是()。A.0,0B.0,1C.1,0D.1,1(9)若在一个总线周期中,CPU对READY信号进行了5次采样,那么该总线周期共包含时钟周期的数目为()。A.5B.6C.7D.8(10)8086系统复位后,下面的叙述错误的是()。A.系统从FFFF0H处开始执行程序B.系统此时能响应INTR引入的中断C.系统此时能响应NMI引入的中断D.DS中的值为0000H(11)CPU访问内存时,信号开始有效对应的状态是()。A.T1B.T2C.T3D.T42.填空题(1)8086/8088微处理器被设计为两个独立的功能部件:和。(2)当8086进行堆栈操作时,CPU会选择段寄存器来形成20位堆栈地址。(3)8086CPU时钟频率为5MHz时,它的典型总线周期为ns。(4)8086CPU的最大方式和最小方式是由引脚信号的状态决定。(5)当Intel8086工作在最大方式时,需要芯片提供控制信号。(6)若8086系统用8位的74LS373来作为地址锁存器,那么需要片这样的芯片。(7)根据功能不同,8086的标志位寄存器可分为标志和标志。(8)8086CPU在执行指令过程中,当指令队列已满,且EU对BIU又没有总线访问请求时,BIU进入状态。(9)复位后,8086将从地址开始执行指令。(10)8086/8088CPU的A19/S6~A16/S3在总线周期的T1期间,用来输出__________位地址信息中的__________位,而在其它时钟周期内,用来输出__________信息。3.完成下列各式补码运算,并根据结果设置标志位SF、ZF、CF、OF。(1)96+(-19)(2)90+107可编辑可编辑精品精品可编辑精品(3)(-33)+14(4)(-33)+(-14)4.写出下列存储器地址的段地址、偏移地址和物理地址。(1)2314H:0035H(2)1FD0H:000AH5.在8086系统中,下一条指令所在单元的物理地址是如何计算的?6.若某存储器容量为2KB,在计算机存储系统中,其起始地址为2000H:3000H,请计算出该存储器物理地址的范围。7.8086的复位信号是什么?有效电平是什么?CPU复位后,寄存器和指令队列处于什么状态?8.8086CPU标志寄存器中的控制位有几个?简述它们的含义。9.设8088的时钟频率为5MHz,总线周期中包含2个TW等待周期。问:(1)该总线周期是多少?(2)该总线周期内对READY信号检测了多少次?10.8086与8088CPU的主要区别有哪些?11.8086/8088CPU由哪两部分构成?它们的主要功能是什么?12.8086CPU系统中为什么要用地址锁存器?13.8086/8088CPU处理非屏蔽中断NMI和可屏蔽中断INTR有何不同?可编辑可编辑精品精品可编辑精品第3章16位/32位微处理器指令系统一、例题  1.指出下列指令中源操作数的寻址方式。(1)MOVAX,002FH(2)MOVBX,[SI](3)MOVCX,[BX+SI+2](4)MOVDX,DS:[1000H](5)MOVSI,BX解:(1)立即寻址(2)寄存器间接寻址(3)基址变址寻址(4)直接寻址(5)寄存器寻址2.若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSHAX,PUSHBX,POPCX,POPDX后,寄存器CX的内容为多少?解:执行PUSHAX指令后,将18压入堆栈,(SP)-2SP ;执行PUSHBX指令后,将19压入堆栈,(SP)-2SP ;执行POPCX指令后,将19从堆栈中弹出,放入CX,(SP)+2SP ;执行POPDX指令后,将18从堆栈中弹出,放入DX,(SP)+2SP ;故上述四条指令执行后,(CX)=19。3.指出下列指令的错误所在:(1)MOVAL,SI(2)MOVBL,[SI][DI](3)XCHGCL,100(4)PUSHAL(5)INAL,256(6)MOVBUF,[SI](7)SHLAL,2(8)MOVDS,2000H(9)MUL100(10)MOVAL,BYTEPTRSI解:(1)AL、SI的数据类型不匹配(2)不允许同时使用变址寄存器SI、DI,正确的基址变址寻址方式中应运用一基址、一变址寄存器;(3)只能在寄存器与存储器单元或寄存器之间交换数据;(4)只能向堆栈中压入字类型数据;可编辑可编辑精品精品可编辑精品(5)I/O端口地址若超过8位,应该由DX寄存器提供;(6)两操作数不能同时为存储器操作数;(7)移位次数大于1,应该由CL寄存器提供;(8)立即数不能直接送给段寄存器;(9)乘法指令的操作数不能是立即数;(10)PTR算符不能运用于寄存器寻址方式。4.执行下列指令序列后,AX和CF中的值是多少?     STCMOVCX,0403HMOVAX,0A433HSARAX,CLXCHGCH,CLSHLAX,CL解:STC;CF=1。MOVCX,0403H;(CX)=0403HMOVAX,0A433H;(AX)=0A433HSARAX,CL;算术右移3位,(AX)=0F486HXCHGCH,CL;互换CH、CL中内容,(CX)=0304HSHLAX,CL;逻辑左移4位,(AX)=4860H,CF=1所以,(AX)=4860H,CF=1。5.设计指令序列,完成下列功能:(1)写出将AL的最高位置1,最低位取反,其它位保持不变的指令段。(2)写出将AL中的高四位和低四位数据互换的指令段。(3)检测AL中的最高位是否为1,若为1,则转移到标号NEXT处,否则顺序执行,请用两条指令完成之。(4)写出将立即数06H送到口地址为3F00H的端口的指令序列。解:(1)ORAL,80HXORAL,01H(2)MOVCL,4RORAL,CL(3)TESTAL,80HJNZNEXT(4)MOVAL,06HMOVDX,3F00HOUTDX,AL二、习题1.选择题(1)下列指令执行后有可能影响CS值的指令数目是()。可编辑可编辑精品精品可编辑精品JMP、MOV、RET、ADD、INTJC、LODS、CALL、MUL、POPA.3   B.4 C.5    D.6(2)8086在基址变址的寻址方式中,基址、变址寄存器分别是()。A.AX或CX、BX或CX  B.BX或BP、SI或DI C.SI或BX、DX或DI   D.CX或DI、CX或SI(3)设(SS)=338AH,(SP)=0450H,执行PUSHBX和PUSHF两条指令后,堆栈顶部的物理地址是()。A.33CECHB.33CF2HC.33CF4HD.33CE8H(4)若(AX)=-15,要得到(AX)=15应执行的指令是()。A.NEGAXB.NOTAXC.INCAXD.DECAX(5)若(SP)=0124H,(SS)=3300H,在执行RET4这条指令后,栈顶的物理地址为()。A.33120H  B.3311EH C.33128H   D.3312AH(6)已知程序序列为:ADDAL,BLJNOL1JNCL2若AL和BL的内容有以下四组给定值,使该指令序列转向L2执行的给定值是()。A.(AL)=B6H、(BL)=87HB.(AL)=05H、(BL)=0F8HC.(AL)=68H、(BL)=74HD.(AL)=81H、(BL)=0A2H(7)以下三指令执行后,(DX)=()。MOVDX,0MOVAX,0FFABHCWDA.0FFABHB.0C.0FFFFHD.无法确定(8)设(AX)=0C544H,在执行指令ADDAH,AL后,相应的状态为()。A.CF=0、OF=0  B.CF=0、OF=1 C.CF=1、OF=0    D.CF=1、OF=1(9)将累加器AX内容清零的错误指令是()。A.ANDAX,0B.XORAX,AXC.SUBAX,AXD.CMPAX,AX(10)将变量BUF的偏移地址送入SI的正确指令是()。A.MOV[SI],BUFB.MOVSI,BUF  C.LEASI,BUF   D.MOVOFFSETBUF,SI可编辑可编辑精品精品可编辑精品(11)INC指令不影响()标志。A.OFB.CFC.ZFD.SF(12)能判断累加器AX内容是否全0的下面4种 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 中,正确的有()种。①SUBAX,0②XORAX,0JZL1JZL1③ORAX,AX④TESTAX,0FFFFHJZL1JZL1A.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.00HD.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.STC(17)执行一列三条指令后,AX寄存器中的内容是()。MOVAX,‘8’ADDAL,‘9’AAAA.0071H   B.0107HC.0017H  D.0077H(18)下列指令执行后,能影响标志位的指令是()。A.LOOPNZNEXTB.JNZNEXTC.MOVAX,2400HD.INT21H(19)若(DX)=1234H,(IP)=5678H,执行JMPDX指令后,寄存器变化正确的是()。A.(DX)=1234H、(IP)=5678HB.(DX)=1234H、(IP)=1234HC.(DX)=5678H、(IP)=5678HD.(DX)=5678H、(IP)=1234H(20)对于下列程序段:AGAIN:MOVES:[DI],ALINCDILOOPAGAIN在下列指令中,可完成与上述程序段相同功能的指令是()。可编辑可编辑精品精品可编辑精品A.REPMOVSBB.REPSTOSBC.REPLODSBD.REPSCASB2.填空题(1)与指令“MOVBX,OFFSETDATA”等效的指令是____________。(2)写出将寄存器BX的内容求补的正确指令是___________________。(3)使AL中的操作数0、1位变反,其它位不变的指令是_____________________。(4)假定(SP)=0100H,(AX)=2107H,执行指令PUSHAX后,存放数据21H的偏移地址是_________。(5)设(CS)=3100H,(DS)=40FFH,并且两段空间均为64K个单元,那么这两段的重叠区域为个单元。(6)MOVAL,BLNOTALXORAL,BLORBL,AL程序段执行后,(AL)=_______、(BL)=_______。(7)执行下列指令后:MOVAX,1234HMOVCL,4ROLAX,CLDECAXMOVCX,4MULCXHLT寄存器AH的值是、寄存器AL的值是;寄存器DX的值是。(8)已知(AX)=0FFFFH,(DX)=0001HMOVCX,2LOP:SHLAX,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的内容为。3.设DS=2000H,SS=1500H,(ES)=3000H,(SI)=00B0H,(BX)=1000H,(BP)=0020H,指出下列指令的源操作数的寻址方式是什么?若该操作数为存储器操作数,请计算其物理地址。(1)MOVAX,DS:[0100H](2)MOVBX,0100H(3)MOVAX,ES:[SI](4)MOVCL,[BP](5)MOVAX,[BX][SI](6)MOVCX,BX(7)MOVAL,3[BX][SI](8)MOVAL,[BX+20]4.段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果该存储单元位于当前数据段,写出将该单元内容放入AL中的指令。5.判别下列指令的对错,如有错误,请指出其错误所在。(1)MOVAX,BL(2)MOVAL,[SI](3)MOVAX,[SI](4)PUSHCL(5)MOVDS,3000H(6)SUB3[SI][DI],BX(7)DIV10(8)MOVAL,ABH(9)MOVBX,OFFSET[SI](10)POPCS(11)MOVAX,[CX](12)MOV[SI],ES:[DI+8](13)IN255H,AL(14)ROLDX,4(15)MOVBYTEPTR[DI],1000(16)OUTBX,AL(17)MOVSP,SS:DATA_WORD[BX][SI]可编辑可编辑精品精品可编辑精品(18)LEADS,35[DI](19)MOVES,DS(20)PUSHF6.设(DS)=1000H,(AX)=050AH,(BX)=2A80H,(CX)=3142H,(SI)=0050H,(10050H)=3BH,(10051H)=86H,(11200H)=7AH,(11201H)=64H,(12AD0H)=0A3H,(12AD1H)=0B5H。试分析下列指令分别执行后,AX中的内容。(1)MOVAX,1200H(2)MOVAX,DS:[1200H](3)MOVAX,[SI](4)ORAX,[BX][SI](5)MOVAX,50H[BX]7.设某用户程序(SS)=0925H,(SP)=30H,(AX)=1234H,(DS)=5678H,如有两条进栈指令:PUSHAXPUSHDS试列出两条指令执行后,堆栈中各单元变化情况,并给出堆栈指针SP的值。8.设(AL)=2FH,(BL)=97H,试写出下列指令分别执行后CF、SF、ZF、OF、AF和PF的内容。(1)ADDAL,BL(2)SUBAL,BL(3)ANDAL,BL(4)ORAL,BL(5)XORAL,BL9.执行下列程序段后,AX和CF中的值是多少?STCMOVCX,0403HMOVAX,0A433HSARAX,CLXCHGCH,CLSHLAX,CL10.设(AX)=0119H,试分析,执行下列程序段后,AX和CF的内容分别是多少?MOVCH,AHADDAL,AHDAAXCHGAL,AHADCAL,34HDAAXCHGAH,ALHLT11.分析下面的程序段,执行后AX和IP的内容为多少?可编辑可编辑精品精品可编辑精品MOVBX,16MOVAX,0FFFFHMULBXJMPDX12.下列程序段运行后,HCOD和HCOD+1两字节单元内容是什么?HEX DB‘0123456789ABCDEF’HCOD DB?,?  ┇MOV BX,OFFSET HEXMOV AL,1AHMOV AH,ALAND AL,0FHXLAT MOV HCOD[1],ALMOV CL,12SHR AX,CLXLAT  MOV HCOD,AL  13.下列程序运行后,Z单元的内容是多少?简要说明程序的功能。(设X、Y单元的内容分别为90H、0B0H)MOVAX,0MOVAL,XADDAL,YADCAH,0MOVBL,2DIVBLMOVZ,AL14.试分析下列程序段执行后,CL内容分别是什么?CF是1还是0?MOVAL,1MOVBL,ALMOVCL,ALNEGALADCCL,BL15.下列程序运行到NEXT时,CX和ZF的内容分别是多少?STR1DB‘COMPUTERNDPASCAL’SCADB‘N’┇LEADI,STR1MOVAL,SCAMOVCX,10H可编辑可编辑精品精品可编辑精品CLDREPNESCASBNEXT:……16.已知DS和ES指向同一个段,且当前数据段从0000H到00FFH单元内容分别为01H,02H,03H,…,0FFH,00H。问下列程序段执行后,0000~0009H的内容是些什么值。MOVSI,0000HMOVDI,0001HMOVCX,0080HCLDREPMOVSB17.执行下列程序段后,SP及CF的值分别是多少?MOVSP,6000HPUSHFPOPAXORAL,01HPUSHAXPOPF18.填入适当指令,使程序段能实现将AL中低位十六进制数转换为ASCII码。    ANDAL,0FHADDAL,30HCMPAL,3AHJLLP2_______________LP2:......可编辑可编辑精品精品可编辑精品第4章汇编语言程序设计一、例题  1.设有一数据段DSEG,其中连续定义下列5个变量或常量,用段定义语句和数据定义语句写出数据段:(1)DATA1为一字符串变量:‘WELCOMETOMASM!’。(2)DATA2为十进制字节变量:32,90,-20。(3)DATA3为连续10个00H的字节变量。(4)DATA4为双字变量,其初始值为12345678H(5)COUNT为一符号常量,其值为以上四变量所用字节数。解:定义数据段如下:  DSEG SEGMENTDATA1DB‘WELCOMETOMASM!’DATA2DB32,90,-20DATA3DB10DUP(00H)DATA4DD12345678HCOUNTEQU$-DATA1DSEGENDS其中$–DATA1中$表示当前汇编地址计数器值,用其减去DATA1的偏移地址可得该数据段所用字节数。2.设有以下数据段定义: DSEG SEGMENTX1EQU30HX2EQU70HX3EQU0F7HDSEGENDS给出下列指令分别执行后,AL中的内容是多少?(1)MOVAL,X1+X2(2)MOVAL,X2MODX1(3)MOVAL,X1EQX3(4)MOVAL,X1ANDX3(5)MOVAL,X1ORX3(6)MOVAL,X2GTX1解:(1)(AL)=30H+70H=0A0H(2)(AL)=70HMOD30H=10H(3)X1EQX3=30HEQ70H为逻辑运算,其值为假,故(AL)=00H(4)(AL)=X1ANDX3=30HAND0F7H=30H可编辑可编辑精品精品可编辑精品(5)(AL)=X1ORX3=30HOR0F7H=0F7H(6)X2GTX1=70HGT30H为逻辑运算,其值为真,故(AL)=0FFH3.分析下列程序段,回答所提问题。DA1DW1F28H     DA2DB?......XORBL,BLMOVAX,DA1LOP:ANDAX,AXJZEXITSHLAX,1JNCLOPINCBLJMPLOPEXIT:MOVDA2,BL试问:(1)程序段执行后,DA2字节单元内容是什么?   (2)在程序段功能不变情况下,是否可用SHR指令代替SHL指令?解:XORBL,BL;(BL)=0MOVAX,DA1;(AX)=1F28HLOP:ANDAX,AX;使标志位根据AX中内容而变化JZEXIT   ;若(AX)=0,则转EXITSHLAX,1;逻辑左移1位,移出位进入CFJNCLOPINCBL    ;如CF=1,则BL加1JMPLOPEXIT:MOVDA2,BL(1)如上分析,该程序段被用来统计DA1中内容含二进制1的个数。DA2字节单元内容为DA1中内容含二进制“1”的个数,也即(DA2)=7。(2)无论逻辑左移还是逻辑右移指令,均能将DA1中的二进制数位一位一位地移到CF中,其程序段功能不变,故可用SHR指令代替SHL指令。4.分析下列程序段,回答所提问题。DA1DB87H     DA2DB?......XORAH,AHMOVAL,DA1MOVCL,4SHRAL,CLMOVDL,10MULDL可编辑可编辑精品精品可编辑精品MOVBL,DA1ANDBL,0FHADDAL,BLMOVDA2,AL试问:(1)程序段执行后,DA2字节单元内容是什么?   (2)在程序段功能不变情况下,是否可用SAR指令代替SHR指令?解:XORAH,AH;(AH)=0MOVAL,DA1;(AL)=87HMOVCL,4;SHRAL,CL;取AL的高四位,(AL)=07HMOVDL,10MULDL;高四位的数字乘以10MOVBL,DA1ANDBL,0FH;取DA1的低四位ADDAL,BLMOVDA2,AL;相加得到(DA2)=57H分析:将DA1的高四位乘以10,再加上低四位,实际完成了将DA1中的BCD码转换为二进制的运算。由分析得:(DA2)=57H。在程序段功能不变情况下,不能用SAR指令代替SHR指令,因为SAR不能将AL的高四位从其中分离出来。5.......DA_BDB0CH,9,8,0FH,0EH,0AH,2,3,7,4    ......XORAX,AXXORCL,CLXORBX,BXLOP:TESTDA_B[BX],01HJENEXTADDAL,DA_B[BX]INCAHNEXT:INCBXINCCLCMPCL,10JNELOP试问:(1)上述程序段执行后,AH、AL寄存器中的内容是什么?   (2)若将“JENEXT”指令改为“JNENEXT”,那么AH、AL寄存器中的内容又是什么?解:XORAX,AX;(AX)=0XORCL,CL;(CL)=0可编辑可编辑精品精品可编辑精品XORBX,BX;(BX)=0LOP:TESTDA_B[BX],01HJENEXT;若DA_B[BX]中二进制数的最低位为0,转NEXTADDAL,DA_B[BX];否则累加该数到ALINCAH;统计奇数个数到AHNEXT:INCBX;修改指针,指向下个二进制数INCCLCMPCL,10JNELOP;对10个数完成以上操作后,停止分析可知,该程序实际是对10个数中的奇数求和。所以,AH=4;AL=34。若将“JENEXT”指令改为“JNENEXT”,则程序功能变为统计偶数的个数,并累加它们的值,故AH=6;AL=50。6.编写完整的汇编源程序,统计下面定义的数据缓冲区BUF中,非数字字符的个数,放入COUNT单元。设该数据缓冲区最后一个字符为‘$’,数字字符指‘0’~‘9’。DSEGSEGMENTBUFDB‘4334as432bbGGGn34kkkk$’COUNTDW0DSEGENDS解:分析:(1)由于程序必须反复地从BUF中取出字符并判断,故采用循环程序结构。(2)BUF缓冲区的最后一个字符为‘$’,故采用条件判断法来控制循环结束。(3)非数字字符的个数是指ASCII码小于30H或大于39H的字符。程序设计如下:DSEGSEGMENTBUFDB‘4334as432bbGGGn34kkkk$’SUMDW0DSEGENDSSSEGSEGMENTSTACKSTKDB100DUP(?)SSEGENDSCSEGSEGMENTASSUMEDS:DSEG,SS:SSEG,CS:CSEGSTART:MOVAX,DSEGMOVDS,AXMOVSI,OFFSETBUFMOVDX,0LP0:MOVAL,[SI]CMPAL,‘$’JEEXITCMPAL,‘0’可编辑可编辑精品精品可编辑精品JNCLP1INCDXJMPLP2LP1:CMPAL,3AHJCLP2INCDXLP2:INCSIJMPLP0EXIT:MOVCOUNT,DXMOVAH,4CHINT21HCSEGENDSENDSTART二、习题1.选择题(1)在计算机内部,计算机能够直接执行的程序语言是()。A.汇编语言B.高级语言C.机器语言D.C语言(2)执行下面的程序段后,BX的内容是()。NUM=100MOVBX,NUMNE50A.50B.0C.0FFFFHD.1(3)数据定义BUFDW1,2,3,4执行指令MOVCL,SIZEBUF后,CL寄存器的内容是()。A.1B.0C.0FFFFHD.2(4)设数据段定义如下:DATASEGMENTNAEQU15NBEQU10NCDB2DUP(4,2DUP(5,2))CNTDB$-NCCWTDW$-CNTNDDWNCDATAENDS①从DS:0000开始至CNT单元之前存放的数据依次是()。A.15、10、4、5、2、5、2、4、5、2、5、2B.15、10、4、2、5、2、4、2、5、2 C.0FH、0AH、4、5、2、5、2D.4、5、2、5、2、4、5、2、5、2可编辑可编辑精品精品可编辑精品②ND单元中的值是()。A.0000H  B.0200H  C.0003H    D.0002H③CWT单元中的值是()。A.2   B.1  C.11   D.12(5)已知:VARDW1,2,$+2,5,6,若汇编VAR分配的偏移地址是0010H,汇编0014H单元的内容是()。A.05HB.06HC.16HD.14H(6)使用8086/8088汇编语言的伪操作命令定义:VARDB2DUP(1,2,3DUP(3),2DUP(1,0))则在VAL存储区前十个字节单元的数据是()。A.1、2、3、3、2、1、0、1、2、3B.1、2、3、3、3、3、2、1、0、1C.2、1、2、3、3、2、1、0、2、1D.1、2、3、3、3、1、0、1、0、12.填空题(1)在宏汇编中,源程序必须通过___________生成目标代码,然后由连接程序将其转化为可执行文件,该文件才可在系统中运行。(2)___________被用来表示指令在程序中位置的符号地址。(3)用来把汇编语言源程序自动翻译成目标程序的软件叫___________。(4)指令MOVAX,SEGBUF的执行,将_________________送到AX中。(5)若定义DATADW200AH,执行MOVBL,BYTEPTRDATA指令后(BL)=______。(6)指令中用于说明操作数所在地址的方法,称为____________________。(7)试分析下述程序段执行后,(AX)=_______、(BX)=_______。XORAX,AXDECAXMOVBX,6378HXCHGAX,BXNEGBX(8)下述程序段执行完后,(AL)=_______。MOV AL,10ADD AL,ALSHL AL,1MOV BL,ALSHL AL,1ADD AL,BL3.执行下列指令段后,AX和CX的内容分别是多少?BUFDB1,2,3,4,5,6,7,8,9,10MOVCX,10MOVSI,OFFSETBUF+9LEADI,BUF+10可编辑可编辑精品精品可编辑精品STDREPMOVSBMOVBX,OFFSETBUFMOVAX,[BX]4.如果用调试程序DEBUG的R命令在终端上显示当前各寄存器的内容如下,请说明当前堆栈段段基址是多少?栈顶的物理地址是多少?C>DEBUG-RAX=0000BX=0000CX=0079DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDIPLNZNAPONC5.分析下列程序段执行后,AX寄存器的内容是什么?......TABLEDW10H,20H,30H,40H,50H,60H,70H,80HENTRYDW6......MOVBX,OFFSETTABLEADDBX,ENTRYMOVAX,[BX]6.试分析下列程序段执行后,AX和DX寄存器的内容分别是什么?......VAR1DB86HVAR2DW2005H,0021H,849AH,4000H......MOVAL,VAR1CBWLEABX,VAR2MOVDX,2[BX]SUBAX,DX7.试分析下列程序段,回答所提问题。ORG3000HDB11H,12H,13H,14H,15H......MOVBX,3000HSTCADCBX,1SALBL,1INCBYTEPTR[BX](1)程序段执行后,3004H单元中的内容是什么?(2)程序段执行后,BX中的内容是什么?CF的值是1还是0?可编辑可编辑精品精品可编辑精品8.对于下面的数据定义,各条MOV指令单独执行后,请填充有关寄存器的内容:TABLE1DB01H,02HTABLE2DW10DUP(0)TABLE3DB‘WELCOME’MOVAX,TYPETABLE1;(AX)=_______MOVBX,LENGTHTABLE1;(BX)=_______MOVCX,LENGTHTABLE2;(CX)=_______MOVDX,SIZETABLE2;(DX)=_______MOVSI,LENGTHTABLE3;(SI)=_______9.当执行以下程序后,AX、BX、CX、DX中的值分别是多少?CODESEGMENTASSUMECS:CODE,DS:CODE,SS:CODEORG100HBEGIN:MOVAX,01HMOVBX,02HMOVDX,03HMOVCX,04HL20:INCAXADDBX,AXSHRDX,1LOOPNEL20CODEENDSENDBEGIN10.下列为将两位压缩BCD码转换为两个ASCII字符的程序段,将合适的指令填入空白处,形成正确的程序段。BCDBUFDB46HASCBUFDB?,?MOVAL,_________MOVBL,ALMOVCL,4____BL,CLADDBL,__________MOVASCBUF,BL_________________________________MOVASCBUF+1,AL11.在数据段中,WEEK是星期一~星期日的英语缩写,DAY单元中存有一数,范围在1~7之间(1表示星期一,7表示星期日)。WEEKDB‘MON’,‘TUE’,‘WED’,‘THU’,‘FRI’,‘SAT’,‘SUN’可编辑可编辑精品精品可编辑精品DAYDBX;数字1~7编写程序,使其能根据DAY的内容用单个字符显示功能调用(2号功能)去显示对应的英文缩写。12.设在DAT单元存放一个-9~+9的字节数据,在SQTAB数据区中存放了0~9的平方值,下面程序段利用直接查表法在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。请补充空格处,完善程序功能。DSEGSEGMENTDATDBXXH;XXH表示在-9~+9之间的任意字节数据SQTABDB0,1,4,9,...81SQRDB?DSEGENDSSSEGSEGMENTSTACKSTKDB100DUP(?)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DESG,SS:SSEGSTART:MOVAX,DSEGMOVDS,AXMOVAL,DATANDAL,_______JNSNEXT___________NEXT:MOVBX,OFFSETSQRTAB____________MOVSQR,ALMOVAH,4CHINT21HDESGENDSENDSTART13.设内存中有三个互不相等的无符号字数据,分别存放在DATA开始的字单元中,编程将其中最小值存入MIN单元。14.设计将数字符ASCII码串转换成BCD码串的子程序,要求转换后的BCD码顺序和ASCII码顺序相反。15.编写程序在一组字符串中寻找‘AM’的出现次数,该串的前缀字符为‘PROG’,并以Ctrl+Z(1AH)结束,统计结果存入字变量NUM中。16.下述程序段执行后,AH和AL寄存器中内容是多少?DA_CDB10DUP(3,5,7,9)LEABX,DA_CMOVCX,10XORAX,AX可编辑可编辑精品精品可编辑精品LP:ADDAL,[BX]CMPAL,10JBNEXTINCAHSUBAL,10NEXT:INCBXLOOPLP17.阅读下列程序,回答问题。DSEGSEGMENTMUM1DB300DUP(?)NUM2DB100DUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGMAINPROCFARSTART:PUSHDSMOVAX,0PUSHAXMOVAX,DSEGMOVDS,AXMOVCX,100MOVBX,CXADDBX,BXXORSI,SIANDDI,0000HLP1:MOVAL,NUM1[BX][SI]MOVNUM2[SI],ALINCSILOOPLP1QQQ:RETMAINENDPCSEGENDSENDSTART(1)该程序完成。(2)程序执行到QQQ处,(SI)=、(DI)=、(CX)=。18.阅读下列程序DATASEGMENTTABLEDB60H,40H,50H,80H,30HCOUNTDB$-TABLEDATAENDS可编辑可编辑精品精品可编辑精品CODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFARSTART:PUSHDSMOVAX,0PUSHAXMOVAX,DSEGMOVAX,DATAMOVDS,AXMOVCX,COUNTMOVDX,CXDECDXLEABX,TABLELOP0:MOVSI,00HMOVCX,DXLOP1:MOVAL,[BX+SI]CMPAL,[BX+SI+1]JBENEXTXCHGAL,[BX+SI+1]MOV[BX+SI],ALNEXT:INCSILOOPLOP1DECDXJNZLOP0RETMAINENDPCODEENDSENDMAIN回答以下问题:(1)该程序的功能是__________________。(2)程序运行结束时,TABLE+3单元的内容是______________。(3)若将JBENEXT改为JAENEXT,则对程序的影响是_________。可编辑可编辑精品精品可编辑精品第5章存储器一、例题  1.设有一个具有14位地址和8位字长的存储器,试计算:(1)该存储器能存储多少字节信息?(2)如果存储器由2K×4位的RAM芯片组成,需多少RAM芯片?需多少位地址进行芯片选择?解:(1)存储器有14位地址和8位字长,其存储单元的个数为214=16K,存储器的容量为16K×8位。所以,该存储器能存储的信息总量为:16KB。(2)所需的RAM芯片的数目=16K×8/(2K×4)=16(片)。用2K×4位的RAM芯片扩展成16K×8位存储器,需进行字位同时扩展。因为每2片的2K×4位进行位扩展才能构成2K×8位。因此,进行字扩展的就有16/2=8(组),而字扩展要求为每组分配不同的片选信号,即要求有8个不同的片选信号,所以,需3位(23=8)地址进行芯片选择。一般片选信号是由高位地址线译码产生的。2.某微机有8条数据线、16条地址线,现用SRAM2114(容量为1K×4位)存储芯片组成存储系统。问采用线译码方式时,系统的最大存储容量最大是多少?此时需要多少个2114存储芯片?解:由于2114的容量为1K×4位,地址线要10条,所以剩余6条地址线进行线译码,提供6个片选信号。所以这时系统的最大存储容量为:6×1K×8位=6K×8位。这时需要2114的个数为:6K×8/(1K×4)=12片。3.某8088存储器系统中,用2片EPROM27128(16K×8)和2片RAM6264(8K×8)以及1片74LS138译码器2个2输入与门、1个非门来组成存储器系统,各芯片的主要信号如图1.5.1所示,要求起始地址为00000H,画出存储器系统连接图,并写出每个存储器芯片的地址范围。图1.5.1各芯片的主要信号图解:6264的容量为8K×8b,213=8K,故有13条地址线。CPU的20条地址线中,低13位A12~A0直接和存储器芯片的地址线相连,用于芯片内的地址译码,而高7位A19~A13可编辑可编辑精品精品可编辑精品经地址译码器译码后输出作为存储器芯片的片选信号。27128芯片的容量为16K×8bit,214=16K,故有14条地址线。CPU的20条地址线中,低14位A13~A0为存储器芯片的片内地址,而高6位A19~A14为片外地址。选择前者高位地址7位A19~A13
本文档为【《微机原理学习与实践指导》第一部分】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥20.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
熊猫图文
公司专注课件、范文、教案设计制作等。用户至上,受到广大客户的一致好评,公司秉着用户至上的原则服务好每一位客户
格式:doc
大小:4MB
软件:Word
页数:69
分类:
上传时间:2021-10-28
浏览量:174