(何小海版)微机原理与接口技术部分课后习题
微机原理与接口技术课后习题与参考答案

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。
① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。
① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。
1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=100011.11B=43.6Q=23.CH③ 123.875D=1111011.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=111101110.000111B=494.109D ②63.73Q=110011.111011B=51.922D③ 35.6Q=11101.110B=29.75D ④323.45Q=11010011.100101B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补=01111111 ② [-1] 补= 11111111③ [-0] 补=00000000 ④[-128] 补=100000001.6 ① [+355] 补= 0000000101100011 ② [-1] 补= 1111 1111 1111 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。
微机原理与接口技术课后习题答案(详细完全版).

第一章1.1 解:五代,详细见书1.2 解:微型计算机:以大规模、超大规模集成电路为主要部件,以集成了计算机主要部件——控制器和运算器的微处理器为核心,所构造出的计算机系统 。
PC机:PC(Personal Computer)机就是面向个人单独使用的一类微机 。
单片机:用于控制的微处理器芯片,内部除CPU外还集成了计算机的其他一些主要部件,如:ROM、RAM、定时器、并行接口、串行接口,有的芯片还集成了A/D、D/A转换电路等。
数字信号处理器DSP:主要面向大流量数字信号的实时处理,在宿主系统中充当数据处理中心,在网络通信、多媒体应用等领域正得到越来越多的应用1.3 解:微机主要有存储器、I/O设备和I/O接口、CPU、系统总线、操作系统和应用软件组成,各部分功能如下:CPU:统一协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输入输出功能I/O接口:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源1.4 解:系统总线:传递信息的一组公用导线,CPU通过它们与存储器和I/O设备进行信息交换 。
好处:组态灵活、扩展方便三组信号线:数据总线、地址总线和控制总线 。
其使用特点是:在某一时刻,只能由一个总线主控设备来控制系统总线,只能有一个发送者向总线发送信号;但可以有多个设备从总线上同时获得信号。
1.5解:(1)用于数值计算、数据处理及信息管理方向。
采用通用微机,要求有较快的工作速度、较高的运算精度、较大的内存容量和较完备的输入输出设备,为用户提供方便友好的操作界面和简便快捷的维护、扩充手段。
(2)用于过程控制及嵌人应用方向。
采用控制类微机,要求能抵抗各种干扰、适应现场的恶劣环境、确保长时间稳定地工作,要求其实时性要好、强调其体积要小、便携式应用强调其省电。
1.6 解:11.7 解:I/O通道:位于CPU和设备控制器之间,其目的是承担一些原来由CPU处理的I/O任务,从而把CPU从繁杂的I/O任务中解脱出来。
微机原理与接口技术课后习题答案

微机原理与接口技术习题解答第1章微型计算机系统〔习题〕简答题(1)计算机字长(Word)指的是什么(2)总线信号分成哪三组信号(3)PC机主存采用DRAM组成还是SRAM组成(4)Cache是什么意思(5)ROM-BIOS是什么(6)中断是什么(7)32位PC机主板的芯片组是什么(8)教材中MASM是指什么(9)处理器的“取指-译码-执行周期”是指什么(10)本课程的主要内容属于计算机系统层次结构中哪个层次〔解答〕①处理器每个单位时间可以处理的二进制数据位数称计算机字长。
②总线信号分成三组,分别是数据总线、地址总线和控制总线。
③ PC机主存采用DRAM组成。
④高速缓冲存储器Cache是处理器与主存之间速度很快但容量较小的存储器。
⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。
⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍返回被中断的指令继续执行的过程。
⑦主板芯片组是主板的核心部件,它提供主板上的关键逻辑电路。
⑧ MASM是微软开发的宏汇编程序。
⑨指令的处理过程。
处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。
⑩机器语言层,即指令集结构。
(学生很多认为是:汇编语言层。
前4章主要涉及汇编语言,但本书还有很多处理器原理等内容)〔习题〕判断题(1)软件与硬件的等价性原理说明软硬件在功能、性能和成本等方面是等价的。
(2)IA-64结构是IA-32结构的64位扩展,也就是Intel 64结构。
(3)8086的数据总线为16位,也就是说8086的数据总线的个数、或说条数、位数是16。
(4)微机主存只要使用RAM芯片就可以了。
(5)处理器并不直接连接外设,而是通过I/O接口电路与外设连接。
微机原理及接口技术课后习题及参考答案

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。
① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。
① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。
1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=.11B=43.6Q=23.CH③ 123.875D=.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=.B=494.109D ② 63.73Q=.B=51.922D③ 35.6Q=11101.110B=29.75D ④ 323.45Q=.B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补= ② [-1]补=③ [-0]补= ④[-128]补=1.6 ① [+355]补= 00011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。
微机原理与接口技术课后习题答案完整

习题11.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。
汇编语言是面向及其的程序设计语言。
在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。
这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。
使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。
2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。
这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。
3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。
答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。
“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。
②在计算机内部采用二进制来表示程序和数据。
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。
④五大部件以运算器为中心进行组织。
4.请说明微型计算机系统的工作过程。
自动从程序存放CPU也就是微型计算机的基本工作过程是执行程序的过程,答:的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。
如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。
5.试说明微处理器字长的意义。
答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。
它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。
(完整word版)微机原理和接口技术课后习题和参考答案解析

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16。
25 ② 35.75 ③ 123。
875 ④ 97/1281.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001。
0011 ③ 111。
01 ④ 1010.11。
3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63。
73 ③ 35.6 ④ 323。
451.4 把下列十六进制数转换成十进制数。
① A7。
8 ② 9AD.BD ③ B7C。
8D ④ 1EC1。
5 求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。
① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。
1。
9 80X86微处理器有几代?各代的名称是什么?1。
10 你知道现在的微型机可以配备哪些外部设备?1。
11 微型机的运算速度与CPU的工作频率有关吗?1。
12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16。
25D=10000。
01B=20.2Q=10.4H② 35.75D=100011。
11B=43.6Q=23.CH③ 123。
875D=1111011。
111B=173.7Q=7B。
EH④ 97/128D=64/123+32/128+1/128=0。
1100001B=0。
604Q=0。
C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25。
1875D③ 111。
01B=7。
25D ④ 1010。
1B=10。
5D1。
3 ① 756.07Q=111101110.000111B=494.109D ② 63。
73Q=110011.111011B=51。
922D③ 35。
6Q=11101.110B=29。
75D ④ 323.45Q=11010011。
微机原理与接口技术课后习题参考答案

《微机原理与接口技术》复习题第1章1.简述名词的概念:微处理器、微型计算机、微型计算机系统。
答:(1)微处理器:微处理器(Microprocessor)简称µP或MP,或CPU。
CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU (Control Unit)和寄存器组R(Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。
(2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。
(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。
其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。
软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。
一般把软件划分为系统软件和应用软件。
其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。
而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。
答:(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。
当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。
(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。
微机原理与接口技术课后习题参考答案

微机原理与接口技术》李华贵主编课后习题参考答案第1章(1.6 习题)1.简述名词的概念:微处理器、微型计算机、微型计算机系统。
答:(1)微处理器:微处理器(Microprocessor)简称或MP,或CPU。
CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU (Arithmetic Logic Unit )、控制部件CU (Co ntrol Un it )和寄存器组R (Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。
(2)微型计算机:微型计算机(Microcomputer )是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。
(3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。
其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。
软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。
一般把软件划分为系统软件和应用软件。
其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。
而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。
2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。
答:(1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。
当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。
(2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(何小海版)微机原理与接口技术部分课后习题-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII串操作指令特点:1.可用前缀使其重复操作;2.每操作一次自动修改SI和DI内容,当DF=0时为增量,DF=1为减量;3.所有源操作数地址放在SI中,在DS段,串长≤ 64K;所有目标操作数地址放在DI中,在ES段,串长≤ 64K;4.用重复前缀时,如果条件满足且CX ≠ 0 时重复,每重复一次CX ← CX–1,否则结束重复;5.重复操作时IP不变,中断返回后继续操作。
使用串操作指令时注意:1.SI ←源串首(末)址DI ←目标串首(末)址;2.CX ←串长度;3.设DF 值;4.选重复前缀;5.使用条件重复前缀时,判断结束条件(即是CX=0 还是ZF=0/1结束)指令执行时间:计算机中的计时单位:(1). 指令周期:执行一条指令所花的时间;(2). 总线周期:CPU 每访问一次内存或I/O端口所花的时间;(3). 时钟周期(T周期):计算机主频的倒数,用T表示,即 T=1 / F1、试分别说明下列指令中源操作数和目的操作数采用的寻址方式:答案:目的操作数源操作数(1)MOV AX,0FFFFH 寄存器立即(2)MOV ES,AX 寄存器寄存器(3)XOR CL,[100H] 寄存器直接(4)ADD [SI],DX 寄存器间寄存器(5)MOV ES:[2000H],CL 直接寄存器(6)SUB [BX+SI],1 基+变立即(7)ADC AX,[BX+SI+10H] 寄存器相对基+变(8)PUSH DS 隐含寄存器(9)CLD 隐含(10)CMP [BP+DI],CL 基+变寄存器2、若(BX)=1123H,(SI)=1968H,位移量=0313H,(DS)=1971H,试确定由这些寄存器和下列寻址方式产生的有效地址和物理地址:答案:EA 物址(1)直接寻址;0313H 19A23H(2)用BX的寄存器间接寻址;1123H 1A833H(3)用BX的寄存器相对寻址;1436H 1AB46H(4)用BX和SI的基址变址寻址;2A8BH 1C19BH(5)用BX和SI的相对基址加变址寻址。
2D9EH 1C4AEH3、连续执行以下指令,并在空格中填写执行指令的结果。
答案:MOV AX,2060H AL=60H AH=20H CF=MOV DS,AX DS=2060H AH=20H CF=ADD AL,AH AL=80H AH=20H CF=0INC AX AL=81H AH=20H CF=0MOV DX,512 DL=00H DH=02H CF=0SUB AX,DX AL=81H AH=1EH CF=0第3章:汇编语言程序设计 1. 本章学习要求(1). 应熟悉的内容:汇编语言的格式、语句行的构成。
(2). 应掌握的内容: 指示性语句、指令性语句及相互区别、作用。
(3). 应熟悉掌握的内容:各种结构的汇编语言程序设计的方法,特别是分支结构和循环结构程序的特点和设计。
2. 本章重点难点分析:伪指令、程序设计、子程序中参数通过堆栈传递较难。
通过看例题、做作业和上机实习解决。
如:汇编程序是将由助记符号所编写的汇编语言源程序转换为计算机能直接执行的目标程序的软件,即:.ASMMASM .OBJ LINK .EXE上图可看出汇编语言源程序(扩展名为 .ASM)经过“汇编程序”汇编后生成二进制编码的目标程序(.OBJ),再经过“连接程序”生成可执行文件(.EXE)便可以上机执行或使用DEBUG 程序进行调试。
而指示性语句(伪指令)是告诉汇编程序如何将汇编语言源程序转换为目标程序的语句,在可执行的目标程序生成后的软件中,伪指令是看不见的。
如:SEGMENT 是表示一个段的开始,ENDS 表示段结束;而ASSUME告诉汇编程序,将某一个段寄存器设置为存放某一个逻辑段的段址,即明确指出源程序中的逻辑段与物理段之间的关系。
当汇编程序汇编一个逻辑段时,即可利用相应的段寄存器寻址该逻辑段中的指令或数据。
也就是说ASSUME是建立一个段寄存器与段名的对照表,汇编时使汇编程序能找到本段属于哪个段寄存器,在此对照表中所出现的存储器操作数,寻址时只需给出偏移地址,否则还应给出段地址。
关键字NOTHING表示取消前面用ASSUME 伪操作对这个段寄存器的设置。
使用ASSUME语句,仅仅告诉汇编程序关于段寄存器与定义段之间的对应关系。
但它并不意味着汇编后这些段地址已装入了相应的段寄存器中,这些段地址的真正装入,仍需要用程序来完成,且这 4个段寄存器的装入略有不同。
3.本章典型例题分析:【例1】若从0200H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数都取补后送回。
DA TA SEGMENTORG 0200HSTRING DB 4 DUP (-55,5 DUP(6,-10,-8,9),2 DUP(-4,0))DA TA ENDSSTACK SEGMENT PARA STACK 'STACK'DB 100 DUP ()STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,ES:DA TA,SS:STACKSTART PROC FARBEGIN: PUSH DSMOV AX, 0PUSH AXMOV AX, DATAMOV DS, AXMOV ES, AXMOV CX, 100LEA SI, STRINGAGAIN: MOV AL, [SI]AND AL, AL JNS OVER ;AL >0,跳至OVER NEG AL ;AL <0,对AL 求补 OVER: MOV [SI], AL INC SILOOP AGAIN INT 3 RETSTART ENDP CODE ENDS END BEG【例2】数据块间的搬移程序。
程序要求把内存中一数据块(称为源数据块)传送到另一存储区(称为目的数据块)。
图4-11给出源数据块和目的数据块在存储器中可能的3种情况:两块分离和有部分重叠。
对于两个数据块分离的情况,如图4-11(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。
但对于有部分重叠的情况,则要加以分析,否则重叠部分部分会因“搬移”而遭破坏,从图4-11(b)和(c)可以得出以下结论:当源数据块首址<目的块首址时,从数据块末地址开始传送数据。
当源数据块首址>目的块首址时,从数据块首地址开始传送数据。
流程图如图4-12所示,源数据块 目的 数据块 图4-11 数据块之间的三种情况图 4-12程序如下:STACK SEGMENT STACKDW64DUP()STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:MOV CX,0010H ;取搬家字节数(16个字节) MOV SI,3100H ;取源块首址MOV DI,3200H ;取目的块首址CMP SI,DI ;从首址开始?JA A2 ;是,转移ADD SI,CX ;否,以末地址开始搬家ADD DI,CXDEC SIDEC DIA1:MOV AL,[SI] ;从末址开始搬家MOV[DI],ALDEC SIDEC DIDEC CXJNE A1JMP A3A2:MOV AL,[SI] ;从首址开始搬家MOV[DI],ALINC SIINC DIDEC CXJNE A2A3:MOV AH,4CHINT21HCODE ENDSEND START4.本章作业(带答案):2、若在自2000H单元开始有一个1000个字节的数据块,要把它传送到自2200H开始的存储区中去,用以下三中方法,分别编制程序:(1)不用串操作指令。
(2)用单个传送的串操作数据传送指令。
(3)用带重复前缀的串操作数据传送指令。
程序如下:DATA SEGMENTORG 2000HN1 DB n1,n2,…n1000N2 EQU 2000H+1000–1CON EQU 1000DATA ENDSSTACK SEGMENT STACK ‘STACK’DW 100DUP()STACK ENDSCODE SEGMENTORG 1000HASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKMAIN PROCSTART: MOV AX,DATAMOV DS,AXMOV ES,AXLEA SI,N1+1000–1 ; (2) ; (3)MOV DI,N2MOV CX,CON ;STD L1: MOV AL,[SI];MOVSB ;REP MOVSBMOV [DI],ALDEC SIDEC DILOOP L1;LOOP L1MOV AH,4CHINT 21HMAIN ENDPCODE ENDSEND START3、若在存储器中有数a、b、c、d(它们连续存放),编写一个程序实现:((a * 10 + b)*10+c)*10+d (假设和小于65535)程序如下:DATA SEGMENTBCM DW a,b,c,dDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABCD1 PROC FARSTART:MOV AX,DATAMOV DS,AXLEA SI,BCMMOV C X,3MOV AX,[SI]L1:INC SISHL AX,1 ;(AX)←(AX)×2MOV BX,AX ;(BX)←(AX)×2SHL AX,1 ;(AX)←(AX)×4SHL AX,1 ;(AX)←(AX)×8ADD AX,BX ;(AX)←(AX)×10ADD AX,[SI]LOOP L1INC SIMOV [SI],AXMOV AH,4CHINT 21HBCD1 ENDPCODE ENDSEND START4、已知数组A包含10个互不相等的整数,数组B包含15个互不相等的整数。
试编写一程序,将既在A中出现又在B中出现的偶数存放在数组C中。
程序如下:DATA SEGMENTORG 0500HDATAA DW A1,A2,…A10DATAB DW B1,B2,…B15COUNTA EQU 10COUNTB EQU 15DATAC DW 10 DUP()DATA ENDSSTACK SEGMENT STACK 'STACK'DB 100 DUP()STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART PROC FARBEGIN: PUSH DSMOV AX,0PUSH AXMOV AX,DATAMOV ES,AXMOV DS,AXLEA BX,DATAC ;(BX)=数组C首址CLDLEA SI,DATAA ;(SI)= 数组A首址MOV DX,COUNTA ;(DX)= 数组A元素个数 LP1: LODSW ;取数组A元素到AXLEA DI,DATAB ;(DI)= 数组B首址MOV CX,COUNTB ;(CX)= 数组B元素个数 REPNE SCASW ;(AX)= 数组B元素?不同重复JNZ NEXT ;B中无此A元素转NEXT TEST AX,01HJNZ NEXTMOV [BX],AX ;有A元素且是偶数存入C中INC BXINC BXNEXT: DEC DXJNZ LP1INT 3START ENDPCODE ENDSEND BEGIN5、若自STRING开始有一个字符串(以‘$’号作为字符串的结束标志),请编程查找此字符串中有无字符‘#’,有多少个‘#’,并将个数存放在NUMBER字单元中,且把每一个‘#’字符所存放的偏移地址放到自POINTER开始的连续存储字单元中。