微机原理及应用课后答案
微机原理及应用(陈继红、徐晨)课后习题答案

微机原理及应⽤(陈继红、徐晨)课后习题答案微机原理及应⽤(陈继红、徐晨)课后习题答案第三章8086/8088指令系统和寻址⽅式习题答案(部分)3.1总结计算机中⼗进制、⼆进制、⼋进制及⼗六进制数的书写形式。
123D、0AFH、77Q、1001110B分别表⽰什么计数制的数?答案:123D、0AFH、77Q、1001110B分别表⽰⼗进制、⼗六进制、⼋进制、⼆进制。
3.2字长为8位、16位⼆进制数的原码、补码表⽰的最⼤数和最⼩数分别是什么?答案:8位原码表⽰的最⼤数:(27-1)、8位补码表⽰的最⼤数:(27-1)、8位原码表⽰的最⼩数:-(27-1)、8位补码表⽰的最⼩数-27。
16最⼩数:-215。
3.3答案:7DH。
(2)255(3)7248H。
(4)509013E2H。
3.4答案:240D0F0H。
128D80H。
(3)11111111⼗进制数:255D;⼗六进制数:0FFH。
(4)01010101⼗进制数:85D;⼗六进制数:55H。
3.5把下列⽆符号⼗六进制数分别转换为⼗进制数和⼆进制数。
(1)FF(2)ABCD(3)123(4)FFFF答案:(1)FF⼗进制数:255D;⼆进制数;11111111B。
1010101111001101B。
(3)123⼗进制数:291D;⼆进制数;000100100011B。
(4)FFFF⼗进制数:65535D;⼆进制数;1111111111111111B。
3.6分别⽤8位⼆进制数和16位⼆进制数写出下列⼗进制数的原码和补码。
(1)16(2)-16(3)+0(4)-0(5)127(6)-128(7)121(8)-9 答案:(1)16800010000(2)-16800010000(3)+0800000000(4)-0800000000(5)127801111111(6)-128810000000(7)1218:01111001;16位⼆进制数原码:0000000001111001补码:0000000001111001。
微型计算机原理及应用课后答案侯晓霞版

上述哪些信号应为低电平。若 CPU 为 8088 呢?(略) 9. 什么是指令周期?什么是总线周期?什么是时钟周期?它们之间的关系如何? 解答:指令周期----CPU 执行一条指令所需要的时间称为一个指令周期(Instruction Cycle)。
系统软件
存储器:只读存储器(ROM)、随机存储器(RAM) (功能:用来存储信息) 操作系统(OS)
系统实用程序:汇编、编译、编辑、调试程序等
外围设备:打印机、键盘、CRT、磁盘控制器等
(注:CPU的功能--①可以进行算术和逻辑运算; ②可保存少量数据;
③能对指令进行译码并执行规定的动作; ④能和存储器、外设交换数据;
于十 127 或小于-128 时,字运算大于十 32767 或小于-32768 时,该标志位置位。
4. 8086/8088 系统中存储器的逻辑地址和物理地址之间有什么关系?表示的范围各为多少?
解答:
逻辑地址:段地址:偏移地址
物理地址:也称为绝对地址,由段基址和偏移量两部分构成。物理地址与系统中的存储空间是一一对应的。
期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线
请求。但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列
中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。
逻辑地址与物理地址两者之间的关系为:物理地址=段地址×16+偏移地址
每个逻辑段的地址范围:0000:0000H~FFFFH;0001:0000H~FFFFH;…;FFFF:0000H~FFFFH;共有 232 个地址,但其
微机原理及应用参考答案

名师整理优秀资源参考答案第一章计算机中的数制和码制第二章计算机概述一、填空题1.82.23. 10244. 25.5、11001.1、00100101.0101B5. 1000010B、42H、66H6. 41.625、29.AH7. 10001101B8. 11001001、110010109. -128 ~ +12710. 系统软件、应用软件11. 电子管、超大规模集成电路二、单选题1. A4. C2. C5.A 3.D 6. C三、分析简答题1. 8086 CPU 的总线根据其中信息传送的类型可分为几种?哪几种?答:8086 CPU 的总线根据其中信息传送的类型可分为三种种,分别是:数据总线、地址总线和控制总线2. 写出-25 的原码、反码、补码,并将补码转换成十六进制数 (设机器字长为8 位)。
答:X=-25=-11001BX 原码:10011001BX 反码:11100110BX 补码:11100111B = E7H名师整理 优秀资源 3. 举例说明什么是机器数,什么是真值?答: 将符号数值化了的数称为机器数。
如: -18=-10010B(真值);机器数为: 10010010B第三章 半导体存贮器一、填空题1. ROM 、RAM2. 6 个3. 8、4二、单选题1. A 5. C2 . B3 . D4 . B6 . C7 . B三、分析简答题1. 在对存储器芯片进行片选时,全译码方式、部分译码方式和线选方式各有何特点?答: ①全译码方式: 存储器芯片中的每一个存储单元对应一个唯一的地址。
译码需要的器件多;②部分译码方式:存储器芯片中的一个存储单元有多个地址。
译码简单;③线选:存储器芯片中的一个存储单元有多个地址。
地址有可能不连续。
不需要译码。
四、硬件接口设计题1. 答:(1)A10~08088CPUWEA10~0#CSY4WEA10~01#CS1Y5名师整理优秀资源(2) 存储器类型为RAM 总容量为4K×8地址范围: 0# 2000H-27FFH1# 2800H-2FFFH2. 答:(9 分)(1) 存储器类型:RAM该系统的存储器容量为:6K×8位(或:6K 字节)(2) 1#芯片的地址范围:1000H ~ 17FFH2#芯片的地址范围:0800H ~ 0FFFH3#芯片的地址范围:0000H ~ 07FFH3. 1)1K×42)2K×8或2KB3)地址分配范围第一组: A19~ A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 最小地址最大地址第二组:0 ~0 ~0 ~0 ~111111111111111111110 00000H~1 003FFH0 00400H~1 007FFH第四章微型计算机及微处理器的结构和组成一、填空题1. BIU、EU、指令的译码和指令执行2. 4、16、16、6、20名师整理优秀资源3. 8、164.1、2二、单选题1 . B2 . B三、分析简答题1. 8086/8088 微处理器内部有那些寄存器,它们的主要作用是什么?答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。
《微型计算机原理及应用》课后习题答案

《微型计算机原理及应用》习题解答第一章基础知识1.1 解释题(1)微处理器【解答】由大规模集成电路芯片构成的中央处理器(CPU),叫做微处理器。
(2)微型计算机【解答】以微处理器为基础,配以内存储器、输入输出接口电路、总线以及相应的辅助电路而构成的计算机裸机,叫做微型计算机。
(3)微型计算机系统【解答】微型计算机系统由硬件系统和软件系统组成。
即由微型计算机、配以相应的外部设备(如打印机、显示器、键盘、磁盘机等),再配以足够的软件而构成的系统。
(4)单板机【解答】将微处理器、RAM、ROM以及I/O接口电路,再配上相应的外设(如小键盘、LED显示器等)和固化在ROM中的监控程序等,安装在一块印刷电路板上构成的微型计算机系统称为单板机。
(5)运算器【解答】运算器是直接完成各种算术运算、逻辑运算的部件,主要由ALU(Arithmetic and Logic Unit,算术逻辑部件)、通用寄存器、标志寄存器等组成。
(6)地址总线【解答】地址总线是CPU对内存或外设进行寻址时,传送内存及外设端口地址的一组信号线。
地址总线的条数多少决定了CPU的寻址能力。
(7)数据总线【解答】数据总线是CPU与内存或外设进行信息交换时,所用的一组数据信号线。
它决定了CPU 一次并行传送二进制信息的位数,反映出CPU的“字长”这个重要性能指标。
(8)控制总线【解答】控制总线是在CPU与外部部件之间传送控制信息(如读/写命令、中断请求命令等)的一组信号线。
1-2 单片机应包括哪些基本部件?其主要应用于哪些领域?【解答】一般单片机芯片中包括微处理器、RAM、ROM、I/O接口电路、定时器/计数器,有的还包括A/D、D/A转换器等。
其主要应用于智能化仪器仪表及工业控制领域。
1-3 按图1-11和图1-12,写出取第二条指令操作码和执行第二条指令的过程。
【解答】ADD AL,12H指令的取指过程:1)IP的值(002H)送入地址寄存器AR;2)IP的内容自动加1,变为003H;3)AR将地址码通过地址总线送到存储器的地址译码器,经译码后选中002H单元;4)微处理器给出读命令MEMR;5)所选中的002H单元内容04H送上数据总线DB;6)数据总线DB上的数据04H送到数据寄存器DR;7)因是取指操作,取出的是指令操作码04H,即由DR送入指令寄存器IR;8)IR中的操作码经指令译码器ID译码后,通过PLA发出执行该指令的有关控制命令。
微机原理及应用第三版课后答案晏寄夫著西南交通大学出版社

+) [60]补→ 00111100B 10111101B
Cs=0,Cp=0
V=Cs⊕Cp 位带符号数补码,按下列给定的 a,b 之值进行 a+b 和 a-b 的 运 算 ,
并用双高位法判断是否产生溢出:
(1) a=37, b=57; (2)a=0B7H, b=0D7H; (3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H
[解] (1)a+b=0011 0010B + 0100 1010B=01111100B
(2) a+c=0011 0010B + 1110 1001B=00011011B
(3) c+b=1110 1001B + 0100 1010B=00110011B
(4) c+d=1110 1001B + 1011 1010B=10100011B
无溢出
无溢出
(2)a=0B7H, b=0D7H
a+b
a-b
10110111B
10110111B
+) 11010111B
+) 00101001B
1┇10001110B
11100000B
Cs=1,Cp=1
Cs=0,Cp=0
V=Cs⊕Cp=0
V=Cs⊕Cp=0
无溢出
无溢出
(3)a=0F7H, b=0D7H
[解] (1) a=37, b=57
a+b
a-b
[37]补→ 00100101B +) [57]补→ 00111001B
[37]补→ 00100101B +) [-57]补→ 11000111B
01011110B
11101011B
微机原理及应用课后答案

X = C3H = 1101 0011 B
Y =5AH = 0101 1010 B
{(X异或Y)与(X或Y)}= 1001 1001B = 99H
二、填空题:
1、512×4位的存储器分别需要9地址线和4数据线?8K×8位的存储器又分别需要13地址线和8数据线?
4.存储器或IO设备经缓冲后通过总线与CPU连接,且任一时刻只能有1个部件通过总线与CPU进行数据通讯,这是由器件中的三态门电路实现的。
5.8086从数据线上读取数据的时候,其引脚DT/R为低电平,将数据写入存储器或IO设备的时候,其引脚DT/R为高电平。
6.已知某微机控制系统中的RAM容量为4K×16位.首地址为4800H.其最后一个单元的地址为57FFH(=4800H+0FFFH),其所用数据线和地址线分别为16和12根。
答:所谓寻址方式,是指如何通过寻找内存操作数的地址寻找内存操作数。
Intel系列有七种寻址方式:
(一)立即寻址
(二)寄存器寻址
(三)直接寻址
(四)寄存器间接寻址
(五)寄存器相对寻址
(六)基址加变址寻址
(七)相对基址加变址寻址
18.计算325D的十六进制、二进制和BCD码的值。
325D=145H=101000101B=0011 0010 0101BCD
4.CPU内部16位地址寄存器如何寻址和访问CPU外部20根地址形成的1M地址空间?
答:用16位的段寄存器与16位的偏移量来解决这一问题,即各个段寄存器分别用来存放各段的初始地址。当由IP提供或EU按寻址方式计算出寻址单元的16位偏移地址(又称为逻辑地址)后,将与左移4位后的段寄存器的内容同时送到地址加法器进行相加,形成一个20位的实际地址(又称为物理地址),以对存储单元寻址。
《微型计算机系统原理及应用》课后答案_(第3版)清华大学出版社__杨素行

第一章 微型计算机基础题1-1 计算机发展至今,经历了哪几代?答:电子管计算机、晶体管计算机、集成电路计算机、超大规模集成电路计算机、非冯诺伊曼计算机和神经计算机。
题1-2 微机系统由哪几部分组成?微处理器、微机、微机系统的关系是什么? 答:1、微机系统分硬件和软件,硬件包括CPU、存储器、输入输出设备和输入输出接口,软件包括系统软件和应用软件。
2、微处理器是指微机的核心芯片CPU;微处理器、存储器和输入输出设备组成微机;微机、外部设备和计算机软件组成微机系统。
题1-3 微机的分类方法包括哪几种?各用在什么应用领域中?答:按微处理器的位数,可分为1位、4位、8位、32位和64位机等。
按功能和机构可分为单片机和多片机。
按组装方式可分为单板机和多板机。
单片机在工业过程控制、智能化仪器仪表和家用电器中得到了广泛的应用。
单板机可用于过程控制、各种仪器仪表、机器的单机控制、数据处理等。
题1-4 微处理器有哪几部分组成?各部分的功能是什么?答:微处理器包括运算器、控制器和寄存器三个主要部分。
运算器的功能是完成数据的算术和逻辑运算;控制器的功能是根据指令的要求,对微型计算机各部分发出相应的控制信息,使它们协调工作,从而完成对整个系统的控制;寄存器用来存放经常使用的数据。
题1-5 微处理器的发展经历了哪几代?Pentium系列微处理器采用了哪些先进的技术?答:第一代4位或低档8位微处理器、第二代中高档8位微处理器、第三代16位微处理器、第四代32位微处理器、第五代64位微处理器、第六代64位高档微处理器。
Pentium系列微处理器采用了多项先进的技术,如:RISC技术、超级流水线技术、超标量结构技术、MMX技术、动态分支预测技术、超顺序执行技术、双独立总线DIB技术、一级高速缓冲存储器采用双cache结构、二级高速缓冲存储器达256KB或512KB、支持多微处理器等。
题1-6 何为微处理器的系统总线?有几种?功能是什么?答: 系统总线是传送信息的公共导线,微型计算机各部分之间是用系统总线连接的。
[工学]微型计算机原理及应用课后答案
![[工学]微型计算机原理及应用课后答案](https://img.taocdn.com/s3/m/d1bd76cdd05abe23482fb4daa58da0116c171f03.png)
第一部分习题解答(一)习题一解答【习题一】1、解释下列术语:(1)微处理器、微型计算机和微型计算机系统;(2)溢出;(3)I/O接口。
2、对于下列二进制数,如果为无符号数,值为多少?如果为带符号数,值又为多少?(1)01011010 (2)10110110 (3)10001101 (4)111110013、求下列机器数的原码、反码和补码。
(1)01000000 (2)01111101 (3)10000010 (4)111111114、对于下列十进制数,采用8位补码计算,判断下列运算是否溢出。
(1)(-76)+65 (2)(-76)-65 (3)76-(-65)(4)76+(-65)5、完成下列无符号数的运算,并转换为十进制数进行核对。
(1)10011010+00101101 (2)11001000-00001101(3)1101×1010 (4)11000011÷01016、写出下列字符串的ASCII码值;This is an English book.答案【习题一】1、(1)微处理器:是微型计算机的核心,其基本功能是进行数据的算术运算和逻辑运算,暂存数据并控制和指挥其他部件协调一致的工作。
由算术逻辑单元、控制器、寄存器陈列等组成;微型计算机:由微处理器、内存储器、I/O接口电路及系统产品线组成;微计算机系统包括硬件系统(中央处理器(CPU)、存储器、输入输出接口和输入输出设备等部件)和软件系统(软件系统包括系统软件和应用软件两部分)两部分。
(2)溢出:指计算机中用有限位的二进制来表示数据,在运算过程中,可能使用运算结果超出有限位的表示的范围,即为溢出。
(3)I/O接口:I/O接口电路是介于计算机和外部设备之间的电路。
I/O接口电路基本功能:1)缓存数据,使各种速度的外部设备与计算机速度相匹配;2)信号变换,使各种电气特性不同的外部设备与计算机相连接;3)联络作用,使外部设备的输入输出与计算机操作同步。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章1-1.微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器(CPU),由运算器和控制器组成。
运算器完成算术运算和逻辑运算,控制器分析命令并指挥协调各部件统一行动完成命令规定的各种动作或操作。
微型计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。
微型计算机系统包括微型计算机硬件和软件。
1-4.说明位、字节、字长的概念及它们之间的关系。
【解】(1) 位(bit)。
位是计算机所能表示的最基本最小的数据单位。
它只能有两种状态“0”和“1”,即二进制位。
(2) 字(Word)。
计算机中作为一个整体参与运算、处理和传送的一串二进制数,是计算机中信息的基本单位。
(3) 字长(Word Length)。
计算机中每个字所包含的二进制位数称为字长。
它们之间的关系:字由位构成,字长指每个字所包含的位的个数。
1-5.32位机和准32位机区别32位机指该机的数据总线宽度为32位,准32位机为芯片内部数据总线宽度是32位,片外则为16位的cpu第二章2-1 微型计算机由哪几部分组成,各部分的功能是什么?【解】微型计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。
运算器完成算术运算和逻辑运算;控制器分析命令并指挥协调各部件统一行动完成命令规定的各种动作或操作;存储器存放原始数据、中间结果和最终结果以及程序;输入设备、输出设备与外界交换信息。
2-2.CPU在内部结构上由哪几部分组成,CPU应具备什么功能?【解】微处理器(CPU)由运算器和控制器组成。
CPU应具备的功能:对数据进行处理并对处理过程进行控制。
2-3 4,6,8,1,9,7,2,5,10,32-7:第16字为70A0:DE05 末物理地址为70A00+DE05=7E8052-8.①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
BX可用作间接寻址的地址寄存器和基地址寄存器,BH、BL 可用作8位通用数据寄存器。
CX(CH、CL)计数寄存器。
CX在循环和串操作中充当计数器,指令执行后CX内容自动修改,因此称为计数寄存器。
DX(DH、DL)数据寄存器。
除用作通用寄存器外,在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器。
BP、SP称为指针寄存器,用来指示相对于段起始地址的偏移量。
BP和SP一般用于堆栈段。
SI、DI称为变址寄存器,可用作间接寻址、变址寻址和基址变址寻址的寄存器。
SI一般用于数据段,DI一般用于数据段或附加段。
2-10状态标志根据算术逻辑运算结果由硬件自动设定,它们反映运算结果的某些特征或状态,可作为后继操作(如条件转移)的判断依据。
控制标志由用户通过指令来设定,它们可控制机器或程序的某些运行过程。
标志寄存器的内容如下:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0OF DF IF TF SF ZF -- AF -- PF -- CF CF(Carry Flag)进位标志,反映在运算结果的最高位有无进位或借位。
如果运算结果的最高位产生了进位(加法)或借位(减法)则CF=1,否则CF=0。
PF(Parity Flag)奇偶标志,反映运算结果中“1”的个数的奇偶性,主要用于判断数据传送过程中是否出错。
若结果的低8位中有偶数个“1”则PF=1,否则PF=0。
AF(Auxiliary Carry Flag)辅助进位标志,又称半进位标志。
加减运算时,若D3向D4产生了进位或借位则AF=1,否则AF=0。
在BCD码运算时,该标志用于十进制调整。
ZF(Zero Flag)零标志,反映运算结果是否为0。
若结果为零则ZF=1,否则ZF=0。
SF(Sign Flag)符号标志,反映运算结果最高位即符号位的状态。
如果运算结果的最高位为1则SF=1(对带符号数即为负数),否则SF=0(对带符号数即为正数)。
OF(Overflow Flag)溢出标志,反映运算结果是否超出了带符号数的表数范围。
若超出了机器的表数的范围,即为产生溢出,则OF=1,否则OF=0。
控制标志:DF(Direction Flag)方向标志,用于串处理指令中控制串处理的方向。
当DF=1时,每次操作后变址寄存器SI、DI自动减量,因此处理方向是由高地址向低地址方向进行。
当DF=0,则SI、DI自动增量,处理方向由低地址向高地址方向进行。
该标志由方向控制指令STD或CLD设置或清除。
IF(Interrupt Flag)中断允许标志,用于控制CPU是否允许响应可屏蔽中断请求。
IF=1为允许响应可屏蔽中断请求,IF=0则禁止响应可屏蔽中断请求。
该标志可由中断控制指令STI或CLI设置或清除。
TF(Trap Flag)陷阱标志,用于单步操作。
TF=1时,每执行一条用户程序指令后自动产生陷阱,进入系统的单步中断处理程序。
TF=0时,用户程序会连续不断地执行,不会产生单步中断。
2-11.最小工作模式(MN/ =1):把8086CPU的33引脚接+5V时,系统处于最小工作模式。
最小模式系统适用于单微处理器组成的小系统,系统中通常只有一个微处理器,所有的总线控制信号都直接由8086CPU产生,系统中的总线控制逻辑电路被减到最少。
2.最大工作模式(MN/ =0):当把8086的33引脚接地时,系统处于最大工作模式。
此时,系统中存在两个或两个以上的微处理器,其中有一个主处理器8086,其他处理器称为协处理器。
2-18:复位信号是输入信号,高电平有效,8086要求复位信号至少维持四个时钟周期的高电平才有效,复位信号到来后,cpu结束当前操作,并对处理器的标志寄存器、ip、ds、ss、es及指令队列清零,而将cs置为FFFFH。
当复位信号变为低电平时,cpu从FFFF0H(起始工作地址)出开始执行程序,通常在该单元开始存放一条JMP指令,以转移到系统程序的实际开始处(如何自动进入系统程序),复位时地址总线浮空,直到cpu脱离复位状态,其他控制信号先变高一段时间,然后浮空,ALE,HLDA信号变为无效。
第三章3-1 8086的寻址方式有哪些啊?1、立即寻址2、寄存器寻址3、直接寻址4、寄存器间接寻址5、基址寻址和变址寻址6、基址变址寻址7、I/O端口寻址8、串操作寻址3-3带位移量的基址变址寻址方式的有效地址如何计算有效地址由基址寄存器的值+变址寄存器的值+位移量例子:若DS=3000H,BP=2000H,SI=1000H,[32000H]=00H,[32001H]=40H,SS=3000H,[31000H]=20H,[31001H]=60H,[33000H]=50H,[33001H]=60H,说明下列各条指令执行后,AX中的内容是什么?并说明各条指令中源操作数的寻址方式。
(1) MOV AX,DS (2) MOV AX,[2000H](3) MOV AX,[SI] (4) MOV AX,[BP](5) MOV AX,[BP+SI]【解】(1)AX=3000H 寄存器寻址(2)AX=4000H 直接寻址(3)AX=6020H 寄存器间接寻址(4)AX=4000H 寄存器间接寻址(5)AX=6020H 基址加变址寻址2. 指出下列指令中的非法指令。
(1) MOV BX,AL (2) MOV CS,2000H(3) PUSH 4567H (4) XCHG VAR1,VAR2(5) ADD AL,148H (6) MOV DS,2000H(7) MOV BH,SI (8) SUB 38H,AL【解】非法指令:(1) MOV BX,AL BX和AL的长度不一致(2) MOV CS,2000H CS段寄存器不能作目的操作数(3) PUSH 4567H 只能将寄存器或存储单元的内容压入堆栈,不能是立即数(4) XCHG VAR1,VAR2 两个存储单元之间不能直接交换数据(5) ADD AL,148H 运算溢出(6) MOV DS,2000H 立即数不能直接传送给DS段寄存器(7) MOV BH,SI BH和SI的长度不一致(8) SUB 38H,AL 目的操作数不能是立即数3-29:data segmentnum db 40 dup(80)total dw ?average db ?data endscode segmentassume ds:data,cs:codestart: mov ax,datamov ds,axmov cx,40mov si,0mov bx,offset numxor ax,axnext1: add al,[bx+si]inc siadc ah,0loop next1mov total,axmov bl,40div blmov average,alcode endsend start3-30要求编写程序比较两个最大长度为100个字符的字符串ALFA1和ALFA2是否相等,若相等则输出显示“All Right!”,否则输出显示“Error!”。
【解】完成输出显示功能时,调用9号系统功能,功能是将指定的内存缓冲区中的字符串在屏幕上显示出来,缓冲区的字符串以“$”为结束标志。
LEN指定的内存中存储两字符串中长串的长度,否则,即使两串相等,由于字符串后面的随机字符,将影响判断结果。
程序代码如下:DATA SEGMENT ;数据段开始str1 DB 100 DUP(?)Str2 DB 100 DUP(?)RESULT1 DB ‘All Right!$’RESULT2 DB ‘Error!$’LEN DB 100 ;字符串长度DATA ENDS ;数据段结束CODE SEGMENT ;代码段开始ASSUME CS:CODE,DS:DATA,ES:DATASTART:MOV AX,DATAMOV DS,AX ;装填数据段MOV ES,AX ;装填附加段LEA BX,str1 ;传送源串的地址MOV SI,BXLEA BX,str2 ;传送目的串的地址MOV DI,BXCLD ;清方向标志,使正向传送XOR CX,CXMOV CL,LENREPNZ CMPSBJZ EQQ ;若ZF=1,说明两串相等,转EQQLEA DX,RESULT2 ;输出显示“Error!”JMP OUT1EQQ:LEA DX,RESULT1 ;输出显示“All Right!”OUT1:MOV AH,9INT 21HSTOP:MOV AH,4CHINT 21H ;返回DOSCODE ENDS ;代码段结束END START ;源程序结束第四章4-1:见课本p126EQU不能对一个符号名进行重复定义,而=则可做到这一点。