微处理器思考与习题.doc_第1页
微处理器思考与习题.doc_第2页
微处理器思考与习题.doc_第3页
微处理器思考与习题.doc_第4页
微处理器思考与习题.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 思考与习题:1、简述计算机系统的硬件构成和软件构成。计算机的硬件结构由运算器、控制器、存储器、输入设备、输出设备及连接各部件的总线组成。 其中,运算器又称为算术/逻辑运算单元,完成数据的算术(加、减、乘、除)和逻辑(与、或、非、异)等运算以及移位等操作,它是一个采用二进制运算信息加工部件。 存储器是计算机的记忆部件,存储控制计算机操作的命令(指令)和被处理的信息数据,并对处理结果加以保存。存储器存储的信息有两类:一类是命令信息,指挥计算机系统工作,用来完成所设计的任务,这类信息被存放在存储器的代码区或程序区;另一类是数据是指被处理的对象或结果,这类信息被存放在数据区。一般将存储器分为两级:内存和外存,目前使用的内存是半导体存储器,外存采用硬盘、磁带、光盘等。平时程序保存在外存,执行时再将其调入内存中运行。狭义的存储器仅指内存储器。 控制器是整个系统的指挥部件,对运行的指令逐一分析,发出控制信号并执行其相应操作。 输入设备与输出设备,通称外围设备,是对信息形式的转换,如将语言文字、声音、机械动作等信息形式转换为计算机能识别的二进制格式信息,或将其反向转换。总线是计算机各部件间传输信息的公共通道,各部件分时复用总线,满足数据、地址、指令和控制信息在各部件之间快速传送的需要。微型计算机的软件由系统软件和应用软件构成。系统软件包括操作系统、程序设计语言的编译程序和其他程序。操作系统是常驻内存的软件系统,包括系统资源管理(CPU管理,存储器管理、I/O管理和驱动程序)、任务管理、文件管理和程序库。为使用者提供灵活方便操作功能,使资源得到最充分有效的利用。各种程序设计语言的编译系统为用户开发应用软件提供有力支持,如汇编语言的汇编程序,各种高级语言的汇编程序、连接程序以及各种调试工具。其他程序,如系统诊断程序、故障定位程序、系统配置程序等。应用软件(或称用户软件)是为用户实现给定的任务而编写、选购或订购的程序,它只适合给定环境的指定用途,一般驻留在外部存储器中,只在运行时才调入内存储器。2、冯诺依曼体系结构的五个部件是什么?总线的作用是什么?冯诺依曼体系结构由运算器、控制器、存储器、输入设备、输出设备及连接各部件的总线组成。如下图所示: 总线(Bus)是计算机各部件间传输信息的公共通道,各部件分时复用总线,满足数据、地址、指令和控制信息在各部件之间快速传送的需要。3、填空: (1)计算机系统中的存储器分为 内存储器 和 外存储器 。在微处理器执行程序时,必须将指令存放在 内存储器 中。 (2)计算机存储数据的最小单位为 字节 。1KB容量的存储器能存储 1024 个这样的基本单位。 (3)在计算机系统中,多个部件之间信息传送的公共通道称为 总线 。在公共通道上传送的信息有 数据 、 地址 、 控制 和 状态 信息。4、将下列十进制数分别转换为二进制数和十六进制数: (1)129 (2)1022 (3)0.625(1)129=10000001B=81H(2)1022=1111111110B=3FEH(3)0.625=0.101B=0.AH5、将下列二进制数分别转换为十进制数和十六进制数: (1)10101011B (2)101101.1011B (1)10101011B=171=0ABH(2)101101.1011B=45.6875=2D.BH6、写出下列数的原码、反码和补码(设字长为8位): (1)-0 (2)20 (3)-15(1)-0原码10000000B反码11111111B补码00000000B(2)20原码00100100B反码00100100B补码00100100B(3)-15原码10001111B反码11110000B补码10000001B7、试写出下列字符的ASCII码:(1)5 (2)LF (3)CR (4)SP (5)ESC (6)b(1)535H(2)LF0AH(3)CR0DH(4)SP20H(5)ESC1BH(6)b62H8、若A=01010011B,说明什么运算可以完成下述操作? (1)将A的第0、2、4、6位变反; (2)将A的第1、2、3、4位清零; (3)将A的第1、3、5位置1。(1)A异或01010101B将A的第0、2、4、6位变反;(2)A与11100001B将A的第1、2、3、4位清零;(3)A或00101010B将A的第1、3、5位置1。9、为什么软件能够转化为硬件?硬件能否转化为软件? 实现这种转化的媒介是什么?对于一个具体任务而言,一般既可以用硬件完成,也可用软件完成,从理论上说,任何软件算法都能由硬件实现,反之亦然,这就是硬件与软件的逻辑的等价性。设计计算机系统或是在现有的系统上增加功能时,具体采用硬件还是采用软件实现,取决于价格、速度、可靠性等因素。随着超大规模集成电路的发展,以前由软件实现的功能现在更多地直接由硬件实现。实现这种转化的媒介是所谓的固件(firmware),形式上类似硬件,但功能上又像软件,这种趋势成为软件的硬化和固化。10、8位二进制补码表示的十进制数的范围是多少?-128到+12711、计算机的分类方式有哪些?1、按处理数据的形态分类计算机分为数字计算机和模拟计算机;2、按照设计的目的分类计算机可分为专用计算机和通用计算机;3、按照使用的用途分类计算机可分为高级科学计算机、工业控制计算机和数据计算机;4、按照内部逻辑结构分类计算机可分为单CPU处理机与多CPU处理机,8位机、16位机、32位机或64位计算机,CISC与RISC计算机等;5、按综合性能指标分类计算机可分为巨型机、大型机、小型机、工作站、微型机等几类。第2章 思考与习题:1、微处理器有哪的三项主要功能?微处理器的三项主要功能:(1)在微处理器与存储器或I/O之间传送数据;(2)基本的算术与逻辑运算;(3)通过简单判定,控制程序的流向。2、按照指令的串行执行和并行执行 ,CPU可分为哪六种体系结构?CPU的六种体系结构为:1、随机逻辑体系结构2、微码体系结构3、流水线体系结构4、超流水线体系结构5、超标量体系结构6、多核微处理器体系结构3、简述冯诺依曼结构、哈佛结构和改进型哈这三种特点? 冯诺伊曼结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的计算机设计概念结构,相对于并行计算的串行式结构参考模型。依本结构设计出的计算机又称存储程序型计算机。根据存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据在同一个存储体按不同区域(程序区、数据区等)存储,并确定了存储程序计算机的五大组成部分和基本工作方法。冯-诺依曼结构的数据总线和指令总线是分时复用的,在同一总线上,有时传送的是数据有时是指令,因此它取指令和访问数据是无法同时进行的。哈佛结构是一种将程序指令储存和数据储存分开的存储器结构。中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。程序指令储存和数据储存分开,据有相互独立的指令总线和数据总线,指令和数据可以有不同的数据宽度,访问指令和访问数据可以同时进行,执行时可以预先读取下一条指令。哈佛结构的微处理器通常具有较高的执行效率。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问,如下图所示。这种分离的程序总线和数据总线可允许在一个机器周期内同时获得指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,提高了数据的吞吐率。又由于程序和数据存储器在两个分开的物理空间中,因此取指和执行能完全重叠。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。图1.8 哈佛结构框图 改进型哈佛结构仍然使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理。改进型哈佛结构具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输,两条总线由程序存储器和数据存储器分时共用,如下图所示。4、什么是CPU、MPU、P、C和MCU?CPU中央处理器;MPU微处理器;P微处理器;C微控制器;MCU微控制器。5、简介CPU指令执行流程。指令执行步骤:第一步:取指令和分析指令。首先根据PC所指出的现行指令地址, 从内存中取出该条指令的指令码, 并送到控制器的指令寄存器中, 然后对所取的指令进行分析, 即根据指令中的操作码进行译码, 确定计算机应进行什么操作。译码信号被送往操作控制部件, 和时序电位、测试条件配合, 产生执行本条指令相应的控制电位序列。第二步:执行指令。根据指令分析结果, 由操作控制部件器发出完成操作所需要的一系列控制电位, 指挥计算机有关部件完成这一操作, 同时为取下一条指令作好准备。由此可见, 控制器的工作就是取指令、分析指令、执行指令的过程。周而复始地重复这一过程, 就构成了执行指令序列(程序)的自动控制过程。6、流水线体系结构与超标量体系结构各有何特点?流水线的实质是通过在同一时间做多件事情来提高机器的性能,因此指令流水线是一种可以将多条指令的执行过程相互重叠的实现技巧,它是提高处理器处理速度的关键技术之一。其特点是:具有时间的并行性;流水线分工越细,可同时运行的指令越多,吞吐率就越高;流水线每个阶段的执行时间应尽量一致;流水线充满(满载)时达到最大的吞吐率。超标量就是使用多条流水线来提高CPU的工作效率,在一个时钟周期内CPU可以执行一条以上的指令。其特点是:配置有多个性能不同的处理部件,采用多条流水线并行处理;能同时对若干条指令进行译码,将可并行执行的指令送往不同的执行部件,从而达到在每个时钟周期启动多条指令的目的;在程序运行期间由硬件(通常是状态记录部件和调度部件)完成指令调度。7、CISC与RISC各自的特点有哪些?其典型产品代表有哪些?1CISC体系的特点使用微代码:指令集可以直接在微代码存储器里执行,新设计的处理器,只需增加较少的器部件就可以执行同样的指令集,也可以很快地编写新的指令集程式。庞大的指令集:可以减少编程所需要的代码行数,减轻程式师的负担。高阶语言对应的指令集:包括双运算元格式、寄存器到寄存器、寄存器到存储器以及存储器到寄存器的指令。RISC体系特点精简指令集:包含了简单、基本的指令,透过这些简单、基本的指令,就可以组合成复杂指令。同样长度的指令:每条指令的长度都是相同的,可以在一个单独操作里完成。单机器周期指令:大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。RISC与CISC的主要特征对比比较内容CISCRISC指令系统复杂,庞大简单,精简指令数目一般大于200一般小于100指令格式一般大于4一般小于4寻址方式一般大于4一般小于4指令字长不固定等长可访存指令不加限制只有LOAD/STORE指令各种指令使用频率相差很大相差不大各种指令执行时间相差很大绝大多数在一个周期内完成优化编译实现很难较容易程序源代码长度较短较长控制器实现方式绝大多数为微程序控制绝大多数为硬布线控制软件系统开发时间较短较长CISC体系的代表为Intel的80X86,RISC体系的代表为IBM的Power PC。第三章 思考与练习题1、8086CPU由哪两部分组成?各有何主要功能?8086微处理器按功能可分为执行部件(EU)和总线接口部件(BIU)。执行部件负责指令执行,它由寄存器组、算术逻辑部件、标志寄存器组成。总线接口部件执行所有的总线操作,如20位地址形成、与主存储器或I/O设备交换数据等。2、在8086 CPU的寄存器中,哪些可作为8位/16位寄存器使用?哪些寄存器不能由程序员操作使用?AX、BX、CX、DX既可以用字(16位)形式访问,也可以将每个寄存器分别分成两个独立的8位寄存器(AH,AL;BH,BL;CH,CL;DH,DL),用字节(8位)形式访问,用来暂存计算过程中所用到的操作数、结果或其它信息。不支持将数据直接送入段寄存器CS以及 IP 和标志寄存器 FLAG3、在8086 CPU的寄存器中,有哪些通用寄存器和专用寄存器?试说明专用寄存器的作用。通用寄存器:AX,BX,CX,DX,SP,BP,SI,DI。专用寄存器:CS,DS,ES,SS,IP和FLAGSIP:用于寻址当前需要取出的指令字节,程序员不能对它直接操作;FLAGS:用于指示微处理器的状态并控制它的操作;CS:代码段寄存器,代码段是一个存储区域,存放的是CPU要使用的代码,CS存放代码段的段基地址;DS:数据段寄存器,数据段是包含程序使用的大部分数据的存储区,DS中存放数据段的段基地址;ES:附加段寄存器,附加段是为某些串操作指令存放目的操作数而附近的一个数据段,ES中存放该数据段的段基地址;SS:堆栈段寄存器,堆栈段是内存中一个特殊的存储区,用于暂时存放程序运行时所需的数据或地址信息。SS中存放该存储区的段基地址。4、什么是堆栈?堆栈指针的作用是什么?堆栈:在存储器中开辟的一个区域,用来存放需要暂时保存的数据。其操作特点是先进后出。堆栈指针用于指向当前栈顶单元。5、8086CPU具有 20 条地址线,可直接寻址 1M 容量的内存空间,在访问I/O端口时,使用地址线 16 ,最多可寻址 64K 个I/O端口。6、在8086CPU中,物理地址和逻辑地址是指什么?二者之间有何联系?有效地址是如何产生的?物理地址:指存储器中存储单元的实际地址编码,是一种绝对地址,是CPU 访问存储器的实际寻址地址,对于8086 系统,地址范围为00000HFFFFFH。逻辑地址:由段基址和偏移地址组成,均为无符号的16 位二进制数,程序设计时采用逻辑地址,可由逻辑地址变换为物理地址,物理地址=段基址16+偏移地址。在8086/8088的各种寻址方式中,寻找存储单元所需的偏移地址可由各种成分组成,称为有效地址,用EA表示。可以通过存储器寻址方式获得有效地址。7、设现行数据段位于B0000H到BFFFFH,DS段寄存器的内容是什么?DS段寄存器的内容是B000H。8、设双字(4个字节)12345678H的起始地址是C000H:0002H,试说明这个双字在存储器中是如何存放的。C000H:0002H78HC000H:0003H56HC000H:0004H34HC000H:0005H12H9、何谓全译码电路?何谓部分译码电路?在系统中,存储器或I/O接口需使用部分地址信号,这些地址信号通常为地址信号中的低位地址信号,全译码电路将其余所有的高位地址信号经译码后作片选信号,片选信号与唯一的存储器或I/O接口的地址对应。部分译码电路将存储器或I/O接口所用的低位地址线外的高位地址线中的部分地址信号作为译码电路的输入信号。采用这种方法的优点是减少了译码电路的输入信号,但译码的输出与地址不是一一对应的关系。由于未参加译码的地址信号可以有不同的编码,因而译码的输出可选中不同的地址。10、一个中断类型号为01CH的中断处理程序存放在0100H:3800H开始的内存中,其中断向量表中的CS、IP分别存储在哪些单元?01CH号中断的中断向量表地址为:01CH4=070H,则向量表中中断入口地址存放情况如下表所示0006FH00070H00HIP00071H38H00072H00HCS00073H01H00074H11、一台微型机,其存储器首址为1000H,末址为5FFFH,存储容量为( D )KB。 A. 8 B12 C16 D2012、微处理器用13条地址线寻址,其最大寻址范围为 ( D ) A. 1KB B2KB C4KB D8KB13、有一存储器芯片,地址线为A0A12,数据线为D0D7,则该芯片的存储容量为( B ) A. 4K8位 B. 8K8位 C16K8位 D 32K8位14、8086CPU对I/O操作时,如何将8位、16位的数据传送?I/O口地址不超过8位时可采用直接寻址方式访问,超过8位时必须用DX寄存器采用间接寻址方式访问,8位数据通过累加器AL、16位数据通过AX传送。15、图3-23是一开关式可选译码电路, 即利用开关式地址可选译码器,写出其地址范围是多少。 图3-23 开关式可选译码电路当DIP开关全部接通时,则当A3-A8=00000B,A9=1,AEN=0时选择器输出低电平,地址范围是:200H-207H;当DIP开关全部断开时,则当A3-A8=111111B,A9=1,AEN=0时选择器输出低电平,地址范围是:3F8H-3FFH。所以由DIP开关任何一种组合给出连续的8个地址,DIP开关的64种不同可覆盖从200H到3FFH的地址范围。其中上面的138给出输入口地址,下面的138给出输出口地址,它们是同一个地址。第四章 思考与习题1. 内存寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段寄存器指出段地址,指令中应如何表示?堆栈操作默认段地址由SS段寄存器给出,不可段超越;串操作指令中,源串默认段地址由DS段寄存器给出,可以段超越,目的串默认段地址由ES段寄存器给出,不可段超越;BP做基址寄存器,默认段地址由SS段寄存器给出,可以段超越;一般数据存取默认段地址由DS段寄存器给出,可以段超越。2. 在8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR的偏移量为0060H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。(1)MOVBX,12(2)MOVBX,12(3)MOVES: SI,AX(4)MOVVAR,12(5)MOVBXSI,AX(6)MOV6BPSI,AL(7)MOV1000H,DX (8)MOV6BX,CX(9)MOVVAR+5,AX(1)寄存器寻址(2)寄存器间接寻址物理地址:10300H(3)寄存器间接寻址物理地址:20200H(4)直接寻址物理地址:10060H(5)基址变址寻址物理地址:10500H(6)相对基址变址寻址物理地址:12306H(7)直接寻址物理地址:11000H(8)寄存器相对寻址物理地址:10306H(9)直接寻址物理地址:10065H3. 下面这些指令中哪些是正确的?哪些是错误的?如果是错误的,请说明原因。(1)XCHGCX, AX(2)MOVBX, 2000(3)XCHGBX, IP(4)PUSHCS(5)POPCS(6)INBX, DX(7)MOVBYTE BX, 5000(8)MOVCS, 3000(9)MOVBX, OFFSET VARSI(1)正确(2)错误,不可以在两个存储器操作数之间进行数据传送(3)错误,8086中没有以IP为寄存器名的指令(4)正确(5)错误,不可以将CS做为各类指令中的目的操作数。(6)错误,输入/输出指令只能通过累加器来传送数据(7)错误,属性操作符应为 BYTE PRT(8)错误,同(5)(9)正确4. 给出下列各条指令执行后AL以及CF,OF,SF和ZF的值。XORAL, ALAL=00H ;CF、OF、SF、ZF=0001MOVAL, 255AL=0FFH;CF、OF、SF、ZF=0001INCALAL=00H ;CF、OF、SF、ZF=0001NOTALAL=0FFH;CF、OF、SF、ZF=0001SHLAL, 1AL=0FEH;CF、OF、SF、ZF=1010CMPAL, 10AL=0FEH;CF、OF、SF、ZF=0010SUBAL, 7FHAL=07FH;CF、OF、SF、ZF=0100SHLAL, 1AL=0FEH;CF、OF、SF、ZF=01105. 试述以下指令的区别。(1)MOVAX, 1000H与MOVAX, 1000H(2)MOVAX, MEM 与MOVAX, OFFSET MEM(3)MOVAX, MEM 与LEAAX, MEM(4)JMPSHORT L1 与JMPNEAR PTR L1(5)CMPDX, CX 与SUBDX, CX(6)MOVBPSI, CL 与MOVDS:BPSI, CL(1)源操作数为立即寻址源操作数为直接寻址(2)取源操作数内容到AX取源操作数有效地址到AX(3)取源操作数内容到AX取源操作数有效地址到AX(4)短转移,8位位移量近转移,16位位移量(5)影响标志位,不保存结果影响标志位,保存结果(6)目的操作数在堆栈段目的操作数在数据段6. 设当前SS=2010H,SP=0FE00H,BX=3456H,计算当前栈顶的物理地址为多少?当执行PUSH BX指令后,栈顶物理地址和栈顶2个字节的内容分别是什么?执行入栈指令前栈顶的物理地址=SS*16+SP=20100H+0FE00H=2FF00H执行入栈指令后栈顶的物理地址=SS*16+SP-2=20100H+0FE00H-2=2FEFEH,(2FEFEH)=56H,(2FEFFH)=34H7. 设AX=1978H,VALUE字变量中存放的内容为2013H,写出下列各条指令执行后AX寄存器和CF、ZF、OF、SF、PF的值。(1)XORAX, VALUE(2)ANDAX, VALUE(3)SUBAX, VALUE(4)CMPAX, VALUE(5)NOTAX(6)TESTAX, VALUE(1)XORAX, VALUEAX=396BH, CF、ZF、OF、SF、PF=00000(2)ANDAX, VALUEAX=0010H, CF、ZF、OF、SF、PF=00000(3)SUBAX, VALUEAX=0F965H,CF、ZF、OF、SF、PF=10011(4)CMPAX, VALUEAX=1978H, CF、ZF、OF、SF、PF=10011(5)NOTAXAX=0E687H,CF、ZF、OF、SF、PF=不受影响(6)TESTAX, VALUEAX=1978H, CF、ZF、OF、SF、PF=000008. 伪指令与指令的本质区别是什么?指令语句 每一条指令语句在源程序汇编时都要产生可供计算机执行的指令代码(即目标代码),所以这种语句又叫可执行语句。每一条指令语句表示计算机具有的一个基本操作,如数据传送,两数相加或相减,移位等,而这种操作是在目标程序(指令代码的有序集合)运行时完成的,是依赖于计算机内的中央处理器(CPU)、存储器、I/O接口等硬件设备来实现的。 伪指令语句 伪指令语句是用于指示汇编程序如何汇编源程序,所以这种语句又叫指示性语句。例如源程序中的伪指令语句告诉汇编程序:该源程序如何分段,有哪些逻辑段在程序段中是当前段,它们分别由哪个段寄存器指向;定义了哪些数据,存储单元是如何分配的等等。伪指令语句除定义的具体数据要生成目标代码外,其他均没有对应的目标代码。伪指令语句的这些命令功能是由汇编程序在汇编源程序时来完成的,而不是在运行目标程序时实现的。9. 画出下列语句中的数据在存储器中的存储情况。DATASEGMENTVARBDB 34, 34H, GOOD, 2DUP(1, 2DUP(0)VARWDW 5678H, CD, $+2, 2DUP(100)VARCEQU 12DATAENDSDATA:000034VARB000134H0002G0003O0004O0005D00061000700008000091000A0000B0000C 78HVARW000D 56H000ED000FC0010 12H0011 64H0012 64H10.按下列要求,写出各数据定义语句。(1)DB1为10H个重复的字节数据序列:1,2,5个3,4。(2)DB2为字符串STUDENTS。(3)DB3为十六进制数序列:12H,0ABCDH。(4)用等值语句给符号COUNT赋以DB1数据区所占字节数,该语句写在最后。(1)DB1 DB 10H DUP(1,2,5 DUP(3),4)(2)DB2 DB STUDENTS。(3)DB3 DW 12H,0ABCDH。(4)COUNT EQU DB2-DB111.若自STRING单元开始存放有一个字符串(以字符“$”结束):(1)编程统计该字符串长度(不包含$字符,并假设长度为两字节)。(2)把字符串长度的统计结果存放在STRING字符串“$”之后的两个储存单元中。DATASEGMENTSTRINGDB 123456789ABCDEF$LENDW ?DATAENDSSTAKSEGMENT STACKDB 100 DUP(?)STAKENDSCODESEGMENTASSUME CS:CODE, DS:DATA, SS:STAKSTART:MOV AX, DATAMOV DS, AXLEA BX, STRINGXOR CX, CXLOP:MOV AL, BXCMP AL,$JZ EXITINC CXINC BXJMP LOPEXIT:MOV LEN, CXMOV AH, 4CHINT 21HCODEENDSEND START12.试编写完整程序,在内存单元中定义一个两位的压缩BCD码,将其转换为两个ASCII码,分别存入内存单元中。DATASEGMENTBCDDB 29HASCDB ?,?DATAENDSSTAKSEGMENT STACKDB 100 DUP(?)STAKENDSCODESEGMENTASSUME CS:CODE, DS:DATA, SS:STAKSTART:MOV AX, DATAMOV DS, AXLEA BX, BCDLEA SI, ASCMOV AL, BXMOV CL, 4SHR AL, CLADD AL, 30HMOV SI, ALINC SIMOV AL, BXAND AL, 0FHADD AL, 30HMOV SI, ALMOV AH, 4CHINT 21HCODEENDSEND START13.设计程序,在内存单元中定义一个32位数,将其分为8组,每组4位(一个字节中的高4位或低4位),将这8组数依次放入首地址为BUF的内存单元中。DATASEGMENTDWORD1DD 12345678HBUFDB 8 DUP(?)DATAENDSSTAKSEGMENT STACKDB 100 DUP(?)STAKENDSCODESEGMENTASSUME CS:CODE, DS:DATA, SS:STAKSTART:MOV AX, DATAMOV DS, AXLEA BX, DWORD1LEA SI, BUFMOV CX, 4LOP:PUSH CXMOV AL, BXMOV CL, 4SHR AL, CLMOV SI, ALINC SIMOV AL, BXAND AL, 0FHMOV SI, ALINC SIINC BXPOP CXLOOP LOPMOV AH, 4CHINT 21HCODEENDSEND START14.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。STAKSEGMENT STACKDB 100 DUP(?)STAKENDSCODESEGMENTASSUME CS:CODE, SS:STAKSTART:MOV AH, 01HINT 21HCMP AL, 1BH;按ESC键结束程序运行JE EXITCMP AL, aJB NEXTCMP AL, zJA NEXTSUB AL, 20HNEXT:MOV DL, ALMOV AH, 02HINT 21HJMP STARTEXIT:MOV AH, 4CHINT 21HCODEENDSEND START15.键盘输入10个学生的成绩,试编制一个程序统计6069分,7079分,8089分,9099分及100分的人数,分别存放到S6,S7,S8,S9及S10单元中。DATASEGMENTS6DB 0S7DB 0S8DB 0S9DB 0S10DB 0DATAENDSSTAKSEGMENT STACKDB 100 DUP(?)STAKENDSCODESEGMENTASSUME CS:CODE, DS:DATA, SS:STAKSTART:MOV AX, DATAMOV DS, AXMOV CX, 10LOP:CALL ASC2HEXMOV BL, 10DIV BLCMP AL, 6JNZ L1INC S6JMP NEXTL1:CMP AL, 7JNZ L2INC S7JMP NEXTL2:CMP AL, 8JNZ L3INC S8JMP NEXTL3:CMP AL,9JNZ L4INC S9JMP NEXTL4:CMP AL,10JNZ NEXTINC S10NEXT: LOOP LOPMOV AH, 4CHINT 21HASC2HEXPROCMOV BL, 0LL:MOV AH, 01HINT 21HCMP AL, 0DHJE EXITSUB AL, 30HXCHG BL, ALMOV BH, 10MUL BHADD BL, ALJMP LLEXIT:MOV DL, 0AHMOV AH, 02HINT 21HMOV AH, 0MOV AL, BLRETASC2HEXENDPCODEENDSEND START17.试编一程序,把地址偏移量为100H单元开始的256个单元分别写入00H,01H,02H,FFH数据。DATAS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论