第1章 绪论
1.1 计算机分那几类?各有什么特点? 1.2 简述微处理器、微计算机及微计算机系统三个术语的内涵。 1.3 80X86微处理器有几代?各代的名称是什么? 1.4将下列各二进制数转换为十进制数。 (1)1101(2) (2)11010(2) (3)110100(2) (4)10101001(2)
1.5将1-4题的各二进制数转换为十六进制数
1.6简述3个门电路的基本元素在电路中对电平高低的作用。 1.7布尔代数有哪两个特点?
1.8布尔代数的“或运算”结果可用哪两句话来归纳?其“与运算”结果又可归纳成哪两句话? 1.9 什么叫原码、反码及补码? 1.10 为什么需要半加器和全加器,它们之间的主要区别是什么? 1.11 用补码法写出下列减法的步骤: (1)1111(2)-1010(2)=?(2)=?(10) (2)1100(2)-0011(2)=?(2)=?(10)
1.12 做出101011(2)+011110(2)的门电路图并求其相加的结果。 1.13 做出101011(2)+011110(2)的门电路图并求其相减的结果。 1.14 电子计算机的主要应用领域有( )、( )、( )。
1.15 电子计算机的发展历程是( )、晶体管时代、( )、( )。
1.16 十进制数11.375转换为二进制数为( );二进制数1101101转换为十进制数为( )。
1.17. 十进制数7928转换为十六进制数为( ), 十六进制数3A57转换为十进制数为( )。
1.18. 十六进制数DA2B转换为二进制数为( ),二进制数110111100101.1011转换为十六进制数为( )。 1.19. A=+0110101,[A]反=( ),[A]补=( );B=-0110101,[B] 反=( ),[B] 补=( )。 1.20. 37的BCD编码是( )。
1.21. 改错:在浮点数加减运算中,阶码与尾数作为一个整体相加减。 1.1. 答:
传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 1.2.答:
微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。 1.3.答:从体系结构上可分为3代:
8080/8085:8位机;
8086/8088/80286:16位机; 80386/80486:32位机。 1.14.答: 科学计算 数据处理 自动控制 (顺序可变) 1.15 答:电子管时代 集成电路时代 大规模集成电路时代 1.16 答:1011.011 109 1.17 答:1EF8 14935
1.18 答:1101101000101011 9E5.B
1.19 答:00110101 00110101 11001010 11001011 1.20 答:00110111
1.21.答:在浮点数加减运算中,阶码对齐后,尾数相加减
第2章 微处理器结构及微计算机的组成
2-1.8086是多少位的微处理器?为什么?
2-2.EU与BIU各自的功能是什么?如何协同工作?
2-3.8086/8088与其前一代微处理器8085相比,内部操作有什么改进?
2-4.8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?
2-5.8086对存储器的管理为什么采用分段的办法?
2-6.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。
2-7.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。
2-8.8086/8088为什么采用地址/数据引线复用技术? 2-9.8086与8088的主要区别是什么?
2-10.怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同?
2-11.8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?
2-12.8086基本总线周期是如何组成的?各状态中完成什么基本操作?
2-13.结合8086最小模式下总线操作时序图,说明ALE、M/IO#、DT/R#、RD#、READY信号的功能。
2-14.8086中断分哪两类?8086可处理多少种中断?
2-15.8086可屏蔽中断请求输入线是什么?“可屏蔽”的涵义是什么?
2-16.8086的中断向量表如何组成?作用是什么? 2-17.8086如何响应一个可屏蔽中断请求?简述响应过程。 2-18.什么是总线请求?8086在最小工作模式下,有关总线请求的信号引脚是什么?
2-19.简述在最小工作模式下,8086如何响应一个总线请求? 2-20.在8086的微计算机系统中,存储器是如何组织的?是如何与处理器总线连接的?BHE信号起什么作用?
2-21.“80386是一个32位微处理器”,这句话的涵义主要指的是什么?
2-22.80X86系列微处理器采取与先前的微处理器兼容的技术路线,有什么好处?有什么不足?
2-23.80386内部结构由哪几部分组成?简述各部分的作用。 2-24.80386有几种存储器管理模式?都是什么?
2-25.在不同的存储器管理模式下,80386的段寄存器的作用是什么?
2-26.试说明虚拟存储器的涵义,它与物理存储器有什么区别?80386虚拟地址空间有多大?
2-27.80386的分段部件是如何将逻辑地址变为线性地址的? 2-28.80386中如何把线性地址变为物理地址? 2-29.80386对中断如何分类?
2-30.80386在保护方式下中断描述符表与8086的中断向量表有什么不同?
2-31.简述80386在保护方式下的中断处理过程。
2-32. ALU是什么部件?它能完成什么运算功能?试画出其符号。 2-33. 触发器、寄存器及存储器之间有什么关系?请画出这几种器件的符号。
2-34. 试述下列器件的功能,并画出它们的符号:可控计数器、环形计数器、程序计数器。
2-35. ROM和RAM各有何特点和用处? 2-36. 为什么要建立“地址”这个概念?
2-37. 除地线公用外,5根地址线和11根地址线各可选多少个地址? 2-38. 译码器有何用处?
2-39. 存储地址寄存器(MAR)和存储数据寄存器(MDR)各有何用处?
2-40. 什么叫例行程序?什么叫机器周期、取指周期和执行周期?本章简化式计算机的机器周期包括几个时钟周期(机器节拍)?机器周期是否一定是固定不变的?
2-41. 控制部件包括哪些主要环节?各有何用处?
2-42. 什么叫总线周期?8086 CPU的一个总线周期包括多少时钟周期,什么情况下要插入TW等待周期?插入多少个TW取决于什么因素?
2-43. 什么是最大模式?什么是最小模式?用什么方法将8086/8088置为最大模式和最小模式?
2-44. 什么是地址锁存器?8088/8086系统中为什么要用地址锁存器?锁存的是什么信息?
2-45. 8088/8086系统中的8286是什么器件?起什么作用? 2-46. 8088/8086系统中用时钟发生器8284A产生哪些信号? 2-47 8086最基本的操作是什么?
2-48. 从功能上看,微机由中央处理器、(
)、外部设备、
( )和( )五个部分组成。
2-49. CPU由( )和( )两部分组成。 2-50. 名词解释: (1)控制总线 (2)局部总线 (3)并行传输
(4)微处理器、微计算机、微计算机系统 2-51. 改错:
若总线地址为26位,则最大访存空间为6M。
2-52. 将下列十进制数分别转化为二进制数、八进制数、十六进制数和压缩BCD数。
(1)125.74 (2)513.85 (3)742.24 (4)69.357 (5)158.625 (6)781.697
2-53. 将下列二进制数分别转化为十进制数、八进制数和十六进制数。
(1)101011.101 (2)110110.1101 (3)1001.11001 (4)100111.0101
2-54. 将下列十六进制数分别转化为二进制数、八进制数、十进制数和压缩BCD数。
(1)5A.26 (2)143.B5 (3)6AB.24 (4)E2F3.2C
2-55. 根据ASCII码的表示,查表写出下列字符的ASCII码。 (1)0 (2)9 (3)K (4)G (5)t
(6)DEL (7)ACK (8)CR (9)$ (10)
<
2-56. 写出下列十进制数的原码、反码、补码表示(采用八位二进制,最高位为符号位)。 (1)140 (2)52 (3)-26 (4)-127 2-57. 已知补码求出其真值。
(1)48H (2)9DH (3)B2H (4)4C10H
第二章部分答案
2-1.答:8086是16位的微处理器,其内部数据通路为16位,对外的数据总线也是16位。
2-2.答:EU是执行部件,主要的功能是执行指令。BIU是总线接口部件,与片外存储器及I/O接口电路传输数据。EU经过BIU进行片外操作数的访问,BIU为EU提供将要执行的指令。EU与BIU可分别独立工作,当EU不需BIU提供服务时,BIU可进行填充指令队列的操作。
2-3.答:8085为8位机,在执行指令过程中,取指令与执行执令都是串行的。8086/8088由于内部有EU和BIU两个功能部件,可重叠操作,提高了处理器的性能。
2-4.答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。AX、BX、CX、DX一般作为通用数据寄存器。SP为堆栈指针存器,BP、DI、SI在间接寻址时作为地址寄存器或变址寄存器。总线接口部件设有段寄存器CS、DS、SS、ES和指令指针寄存器IP。段寄存器存放段地址,与偏移地址共同形成存储器的物理地址。IP的内容为下一条将要执行指令的偏移地址,与CS共同形成下一条指令的物理地址。
2-5.答:8086是一个16位的结构,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围 (1MB,20位地址)。若不用分段方法,16位地址只能寻址64KB空间。 2-6.答:逻辑地址是在程序中对存储器地址的一种表示方法,由段地址和段内偏移地址两部分组成,如1234H:0088H。偏移地址是指段内某个存储单元相对该段首地址的差值,是一个16位的二进制代码。物理地址是8086芯片引线送出的20位地址码,用来指出一个特定的存储单元。 2-7.答:物理地址:320F8H。
2-8.答:考虑到芯片成本,8086/8088采用40条引线的封装结构。40条引线引出8086/8088的所有信号是不够用的,采用地址/数据线复用引线方法可以解决这一矛盾,从逻辑角度,地址与数据信号不会同时出现,二者可以分时复用同一组引线。
2-9.答:8086有16条数据信号引线,8088只有8条;8086片内指令预取缓冲器深度为6字节,8088只有4字节。
2-10.答:引线MN/MX#的逻辑状态决定8086的工作模式,MN/MX#引线接高电平,8086被设定为最小模式,MN/MX#引线接低电平,8086被设定为最大模式。最小模式下的控制信号由相关引线直接提供;最大模式下控制信号由8288专用芯片译码后提供;8288的输入为8086的S2#~S0#三条状态信号引线提供。
2-11.答:标志寄存器、IP、DS、SS、ES和指令队列置0,CS置全1。处理器从FFFFOH存储单元取指令并开始执行。
2-12.答:基本总线周期由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD#、WR#及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。
2-13.答:ALE为外部地址锁存器的选通脉冲,在T1期间输出;M/IO#确定总线操作的对象是存储器还是I/O接口电路,在T1输出;DT/R#为数据总线缓冲器的方向控制信号,在T1输出;RD#
为读命令信号;在T2输出;READY信号为存储器或I/O接口“准备好”信号,在T3期间给出,否则8086要在T3与T4间插入Tw等待状态。
2-14.答:8086中断可分为硬件中断和软件中断两类。8086可处理256种类型的中断。
2-15.答:可屏蔽中断请求输入线为INTR;“可屏蔽”是指该中断请求可经软件清除标志寄存器中IF位而被禁止。
2-16.答:把内存0段中0~3FFH区域作为中断向量表的专用存储区。该区域存放256种中断的处理程序的入口地址,每个入口地址占用4个存储单元,分别存放入口的段地址与偏移地址。
2-17.答:当8086收到INTR的高电平信号时,在当前指令执行完且IF=1的条件下,8086在两个总线周期中分别发出INTA#有效信号;在第二个INTA#期间,8086收到中断源发来的一字节中断类型码;8086完成保护现场的操作,CS、IP内容进入堆栈,请除IF、TF;8086将类型码乘4后得到中断向量表的入口地址,从此地址开始读取4字节的中断处理程序的入口地址,8086从此地址开始执行程序,完成了INTR中断请求的响应过程。
2-18.答:系统中若存在多个可控制总线的主模块时,其中之一若要使用总线进行数据传输时,需向系统请求总线的控制权,这就是一个总线请求的过程。8086在最小工作模式下有关总线请求的信号引脚是HOLD与HLDA。
2-19.答:外部总线主控模块经HOLD引线向8086发出总线请求信号;8086在每个时钟周期的上升沿采样HOLD引线;若发现HOLD=1则在当前总线周期结束时(T4结束)发出总线请求的响应信号HLDA;8086使地址、数据及控制总线进入高阻状态,让出总线控制权,完成响应过程。
2-20.答:8086为16位处理器,可访问1M字节的存储器空间;1M字节的存储器分为两个512K字节的存储体,命名为偶字节体和奇字节体;偶体的数据线连接D7~D0,“体选”信号接地址线A0;奇体的数据线连接D15~D8,“体选”信号接BHE#信号;BHE#信号有效时允许访问奇体中的高字节存储单元,实现8086的低字节访问、高字节访问及字访问。
2-21.答:指80386的数据总线为32位,片内寄存器和主要功能部件均为32位,片内数据通路为32位。
2-22.答:好处是先前开发的软件可以在新处理器组成的系统中运行,保护了软件投资。缺点是处理器的结构发展受到兼容的约束,为了保持兼容性增加了硅资源的开销,增加了结构的复杂性。 2-23.答:80386内部结构由执行部件(EU)、存储器管理部件(MMU)和总线接口部件(BIU)三部分组成。EU包括指令预取部件、指令译码部件、控制部件、运算部件及保护检测部件,主要功能是执行指令。存储器管理部件包括分段部件、分页部件,实现对存储器的分段分页式的管理,将逻辑地址转换成物理地址。总线接口部件作用是进行片外访问:对存储器及I/O接口的访问、预取指令;另外的作用是进行总线及中断请求的控制。
2-24.答:80386有三种存储器管理模式,分别是实地址方式、保护方式和虚拟8086方式。
2-25.答:在实地址方式下,段寄存器与8086相同,存放段基地址。在保护方式下,每个段寄存器还有一个对应的64位段描述符寄存器,段寄存器作为选择器存放选择符。在虚拟8086方式下,段寄存器的作用与8086相同。
2-26.答:虚拟存储器是程序员面对的一个巨大的、可寻址的存储空间,这个空间是内存与外存联合形成的,在操作系统的管理下,程序可象访问内存一样去访问外存而获得所需数据。物理存储器是指机器实际拥有的内存储器,不包括外存。80386的虚拟地址空间为64TB大。
2-27.答:分段部件根据段选择符从全局描述符表或局部描述符表中取出对应的段描述符。把段描述符32位段基地址与逻辑地址中的32位偏移量相加就形成了线性地址。
2-28.答:分段部件形成的32位线性地址中高10位作为寻址页目录表的偏移量,与控制寄存器CR3中页目录表基地址共同形成一个32位的地址指向页表中的一个页项,即为一个页面描述符。该页面项中高20位作为页面基地址,线性地址的低12位为偏移量,相加后形成指向某一存储单元的32位物理地址。若禁止分页功能,线性地址就是物理地址。
2-29.答:80386把中断分为外部中断和内部中断两大类,外部中断经NMI和INTR引线输入请求信号。内部中断也叫内部异常中断,分为陷阱中断、内部故障异常中断、异常终止中断。
2-30.答:8086工作在实地址方式,向量表是在存储器的0段中最低1024字节内存中。80386在保护方式下要通过中断描述符表中的描述符访问虚拟空间的中断向量,中断描述符表的位置不是固定的,要由IDTR寄存器实现在虚拟空间的定位。
2-31.答:80386响应中断后,接收由中断源提供的类型码并将其乘8,与IDTR寄存器中基地址相加,指出中断描述符的位置,读出中断描述符,依其中的段选择符及条件决定从两个描述符表LDT或GDT中的一个得到段描述符,形成中断服务程序入口所在存储器单元的线性地址。
2-48.答:主存储器、接口电路、总线(顺序可变) 2-49.答:运算器、控制器(顺序可变)
第3章8086指令系统及寻址方式
3-1. 根据下列要求编写一个汇编语言程序: (1)代码段的段名为COD_SG (2)数据段的段名为DAT_SG (3)堆栈段的段名为STK_SG
(4)变量HIGH_DAT所包含的数据为95
(5)将变量HIGH_DAT装入寄存器AH,BH和DL (6)程序运行的入口地址为START 3-2. 指出下列程序中的错误: STA_SG SEGMENT DB 100 DUP(?) STA_SG ENDS
DTSEG SEGMENT DATA1 DB ? DTSEG END
CDSEG SEGMENT MAIN PROC FAR
START: MOV DS,DATSEG MOV AL,34H ADD AL,4FH MOV DATA,AL START ENDP CDSEG ENDS END
3-3. 将下列文件类型填入空格:
(1).obj (2) .exe (3) .crf (4) .asm (5) .lst (6) .map 编辑程序输出的文件有______________________________________;汇编程序输出的文件有______________________________________;连接程序输出的文件有______________________________________。 3-4. 下列标号为什么是非法的? (1)GET.DATA (2)1-NUM
(3)TEST-DATA (4)RET (5) NEW ITEM
3-5. 下面的数据项定义了多少个字节?
DATA_1 DB 6 DUP(4 DUP(0FFH))
3-6. 对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?
①DTSEG SEGMENT ORG 10H
DATA1 DB 72H DB 04H
DTSEG ENDS
②DTSEG SEGMENT ORG 10H
DATA1 DW 7204H DTSEG ENDS
3-7. 下面的数据项设置了多少个字节?
(1) ASC_DATA DB‘1234’ (2) HEX_DATA DB 1234H
3-8. 执行下列指令后,AX寄存器中的内容是什么?
TABLE DW 10,20,30,40,50 ENTRY DW 3
MOV BX, OFFSET TABLE ADD BX, ENTRY MOV AX, [BX]
3-9. 指出下列指令的错误: (1) MOV AH,BX (2) MOV [SI],[BX] (3) MOV AX,[SI][DI] (4) MOV AX,[BX][BP] (5) MOV [BX],ES:AX
(6) MOV BYTE PTR[BX],1000 (7) MOV AX,OFFSET [SI] (8) MOV CS,AX (9) MOV DS,BP
3-10. 写出本章中简化式计算机的指令系统的每条指令的汇编语言的助记符及其相应的机器语言的机器码。 3-11. 程序计数器PC的内容是什么意义?
3-12. 指令寄存器IR从PROM接收到指令字(8位)后的运行过程如何,起什么作用?
3-13. 试简述程序设计的4个步骤。 3-14. 环形计数器有何用处?什么叫环形字? 3-15. 控制部件包括哪些主要环节?各有何用处? 3-16. 子程序计数器有何用处?
3-17 本章第2个微型计算机的指令系统有多少条指令?它们可分成几种类型?各个类型的特点是什么?
3-18 此微型机的控制字有几位?各位的意义是什么? 3-19 变址寄存器X有何功能?在运算中能起什么作用?
3-20 指令寄存器IR是如何将其指令字段和地址字段分送出去的?这两个字段的位数是否保持不变?
3-21 试写出第2个微型计算机的各条指令的汇编语言的助记符及其相应的机器码。
3-22 分别指出下列指令中的源操作数和目的操作数的寻址方式:(1) MOV SI,200
(2)MOV CX,DATA[SI] (3)ADD AX,[BX][DI] (4)AND AX,BX (5)MOV [SI],AX (6)PUSHF
3-23 试述指令MOV AX,2010H和MOV AX,DS:[2010H]的区别。写出以下指令中内存操作数的所在地址。 (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]
3-24 判断下列指令书写是否正确: (1)MOV AL,BX(6) MOV BL,F5H (2)MOV AL,CL(7) MOV DX,2000H (3)INC [BX](8) POP CS (4)MOV 5,AL(9) PUSH CS (5)MOV [BX],[SI]
3-25. 设堆栈指针SP的初值为2000H,AX=3000H,BX=5000H,试问:
(1)执行指令PUSH AX后SP=?
(2)再执行PUSH BX及POP AX后SP=?AX=?BX=? 3-26. 要想完成把[2000H]送[1000H]中,用指令:
MOV [1000H],[2000H]是否正确?如果不正确,应用什么方法? 3-27. 假如想从100中减去AL中的内容,用SUB 100,AL是否正确?如果不正确,应用什么方法?
3-28. 用两种方法写出从88H端口读入信息的指令。再用两种方法写出从42H口输出100H的指令。
3-29. 假如AL=20H,BL=10H,当执行CMP AL,BL后,问: (1)若AL,BL中内容是两个无符号数,比较结果如何?影响哪几个标志位?
(2)若AL,BL中内容是两个有符号数,结果又如何?影响哪几个标志位?
3-30. 编写一程序段,将AL中的第7位和第0位,第6位和第1位,第5位和第2位,第4位和第3位互换。
3-31. 编写一程序段,将AL中的第7位和第0位,第6位和第1位,第5位和第2位,第4位和第3位互换。
3-32. 设在数据段中有X,Y两个变量(字节单元),试编写程序段计算:
y = x 当x>=0时 |x| 当x<0时
第三章部分答案: 3-1.答:
DAT_SG SEGEMNT HIGH_DAT DB 95 DAT_SG ENDS
STK_SG SEGMENT DW 64 DUP(?) STK_SG ENDS
COD_SG SEGMENT MAIN PROC FAR
ASSUME CS: COD_SG, DS: DAT_SG, SS: STK_SG START: MOV AX, DAT-SG MOV DS, AX
MOV AH, HIGH_DAT MOV BH, AH MOV DL, AH MOV AH, 4CH INT 21H MAIN ENDP COD_SG ENDS END START
3-2.答:改正后: STA_SG SEGMENT DB 100 DUP(?)
STA_SG ENDS
DTSEG SEGMENT DATA1 DB ? DTSEG ENDS
CDSEG SEGMENT MAIN PROC FAR
ASSUME CS: CDSEG, DS: DTSEG, SS: STAKSG START: MOV AX, DTSEG MOV DS, AX MOV AL, 34H ADD AL, 4FH MOV DATA1, AL MOV AH, 4CH INT 21H
MAIN ENDP CDSEG ENDS END START 3-3.答:
编辑程序输出文件:(4)
汇编程序输出文件:(1), (3), (5) 连接程序输出文件:(2), (6) 3-4.答:
(1)因为‘.’不允许作标号 (2)第一个字符不能为数字 (3)不允许出现‘-’(可以是“_”) (4)不能是保留字,如助记符 (5)不能有空格 3-5.答:24字节
3-6.答:不一样。分别是72H,04H和04H,72H。存储字时低8位存在低字节,高8位存在高字节。
3-7.答:
(1)设置了4个字节 (2)设置了2个字节
3-8.答:(AX)=40 3-9.答:
(1)源、目的字长不一致
(2)源、目的不能同时为存贮器寻址方式 (3)基址变址方式不能有SI和DI的组合 (4)基址变址方式不能有BX和BP的组合
(5)在8086寻址方式中,AX不能作为基址寄存器使用,而且源、目的不能同时为存贮器寻址方式 (6)1000超出一个字节的表数范围 (7)OFFSET只用于简单变量,应去掉 (8)CS不能作为目的寄存器
(9)段地址不能直接送入数据段寄存器
3-31.答: mov cx,8 mov ah,0 k1: shr al,1 rcl ah,1 dec cx jnz k1 mov al,ah 3-32.答 mov ax,x
cmp al,0 jge lab neg al lab:mov y,al
第4章 汇编语言程序设计
4-1. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
4-2. 编写程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示“MATCH”,若不同则显示“NO MATCH”。 4-3. 试编写程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息:
(1)如果3个数都不相等则显示0;
(2)如果3个数中有2个数相等则显示2; (3)如果3个数都相等则显示3。
4-4. 读下面程序段,请问:在什么情况下,本段程序的执行结果是AH=0?
BEGIN:IN AL,5FH TEST AL,80H JZ BRCH1 MOV AH,0 JMP STOP
BRCH1: MOV AH,0FFH STOP: HLT 4-5. 读程序:
START: IN AL,20H MOV BL,AL IN AL,30H MOV CL,AL MOV AX,0
ADLOP: ADD AL,BL ADC AH,0 DEC CL JNZ ADLOP HLT
请问(1) 本程序实现什么功能? (2) 结果在哪里?
4-6. 请编一程序段完成AX*10的任务(要求不准用乘法指令做)。 4-7. 编程序使:
(1)AX寄存器低4位清零。 (2)BX寄存器低4位置“1”。 (3)CX寄存器低4位变反。
(4)用TEST指令测试DL寄存器位3,位6是否同时为0,若是,将0送DL;否则1送DH。
4-8. 编一程序段,完成符号函数: 1 x>0(-128≤x≤127) y= 0 x=0
1 x<0
假设x的值存放在DATA1中,y的值存放在DATA2中。 4-9. 设AX寄存器中有一个16位二进制数,编一程序,统计AX中“1”的个数,统计结果送CX中。
4-10. 编一子程序利用XLAT指令把十六进制数转换成ASCII码。假设ASCII码存放在以DAT1为首地址的数据区中,对应的十六进制数放在以DAT2为首地址的数据区中,转换结果送以DAT3为首地址的数据区中。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库微机原理习题在线全文阅读。
相关推荐: