sjtu嵌入式原理与实验汇编语言习题解答
- 格式:wps
- 大小:24.00 KB
- 文档页数:6
嵌入式系统习题解答完全修订版嵌入式系统习题解答完全修订版Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】第一章1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器嵌入式处理器分为哪几类嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微控制器(MicrocontrollerUnit,MCU)嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP) 嵌入式片上系统(SystemOnChip)4、什么是嵌入式操作系统为何要使用嵌入式操作系统是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。
第二章1.基础知识(1)ARM7TDMI中的T、D、M、I的含义是什么64位乘法指令(带M后缀的)、支持片上调试(带D后缀的)、高密度16位的Thumb指令机扩展(带T后缀的)和EmbededICE观察点硬件(带I后缀的)(2)ARM7TDMI采用几级流水线使用何种存储器编址方式三级流水线(取指译码执行);使用了冯·诺依曼(VonNeumann)结构,指令和数据共用一条32位总线。
(3)ARM处理器模式和ARM处理器状态有何区别处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。
(4)分别列举ARM的处理器模式和状态。
状态:ARM状态32位,这种状态下执行的是字方式的ARM指令Thumb状态16位,这种状态下执行半字方式的Thumb指令模式:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。
嵌入式系统及应用_徐州工程学院中国大学mooc课后章节答案期末考试题库2023年1.S3C2410集成的ADC外设模块模拟量输入信号的范围是0~3.3V答案:正确2.S3C2410集成的10位ADC转换的代码为0x00~0x3ff答案:正确3.在中断服务汇编语言程序中,至少应有一条()答案:中断返回指令4.下列不属于信号量作用范围的是()答案:测试并置位指令5.用户程序一般运行在()答案:用户模式6.ARM工作模式中具有独立的R8-R12寄存器的是()答案:FIQ模式7.ARM中用于保存子程序返回地址的寄存器是()答案:R148.当异常发生时,用于保存CPSR的当前值,从异常退出时用来恢复CPSR的是()答案:SPSR9.在μCOS中,如果统计任务优先级为19,那么空闲任务优先级为()答案:2010.µCOS-II中,中断服务程序退出后一定返回原来被打断的任务。
答案:错误11.ARM指令LDMIA R0,{R1,R2,R3,R4}实现的功能是()答案:R1←[R0],R2←[R0+4],R3←[R0+8],R4←[R0+12]12.arm发生异常后转到地址0x18处运行。
答案:正确13.ARM复位后,进入的工作模式是()答案:管理模式14.ARM公司提供具体的芯片。
答案:错误15.µCOS-II中的统计任务的优先级最低。
答案:错误16.µCOS-II中的空闲任务可以删掉。
答案:错误17.µCOS-II中空闲任务可以抢占用户任务,获得CPU得到运行。
答案:错误18.嵌入式系统采用的一个典型的的四级存储系统,存储级别越高,存取速度越快,而存储容量则越小。
答案:正确19.µCOS-II中任务一旦建立,立刻进入运行态。
答案:错误20.µCOS-II中任务就绪表记录了任务是否处于就绪态。
答案:正确21.嵌入式系统本质上不属于计算机系统。
答案:错误22.在多重循环中,为了提高程序的执行效率,应尽量把循环次数少的循环放在外层。
嵌入式系统习题解答完全修订版The following text is amended on 12 November 2020.第一章1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器嵌入式处理器分为哪几类嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微控制器(MicrocontrollerUnit,MCU)嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)嵌入式片上系统(SystemOnChip)4、什么是嵌入式操作系统为何要使用嵌入式操作系统是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。
第二章1.基础知识(1)ARM7TDMI中的T、D、M、I的含义是什么64位乘法指令(带M后缀的)、支持片上调试(带D后缀的)、高密度16位的Thumb指令机扩展(带T后缀的)和EmbededICE观察点硬件(带I后缀的)(2)ARM7TDMI采用几级流水线使用何种存储器编址方式三级流水线(取指译码执行);使用了冯·诺依曼(VonNeumann)结构,指令和数据共用一条32位总线。
(3)ARM处理器模式和ARM处理器状态有何区别处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。
(4)分别列举ARM的处理器模式和状态。
状态:ARM状态32位,这种状态下执行的是字方式的ARM指令Thumb状态16位,这种状态下执行半字方式的Thumb指令模式:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。
嵌入式系统原理及应用课后答案嵌入式系统是一种特殊的计算机系统,它通常被嵌入到更大的产品中,以执行特定的任务或功能。
嵌入式系统在日常生活中随处可见,例如智能手机、家电产品、汽车控制系统等都包含嵌入式系统。
本文将介绍嵌入式系统的原理及其在各个领域的应用,并提供相关课后答案。
首先,嵌入式系统的原理是基于微处理器或微控制器,它通常集成了处理器、存储器、输入/输出接口和其他必要的硬件模块。
嵌入式系统的设计需要考虑到系统的功耗、性能、成本和体积等因素,因此通常采用定制化的设计方案。
此外,嵌入式系统的软件开发也是其原理的重要组成部分,开发人员需要针对特定的应用场景进行软件定制开发,以实现系统的功能需求。
其次,嵌入式系统在各个领域都有着广泛的应用。
在消费电子产品领域,嵌入式系统被广泛应用于智能手机、智能家居、智能穿戴设备等产品中,为用户提供更加智能、便捷的体验。
在工业控制领域,嵌入式系统被应用于自动化生产线、机器人控制、传感器数据采集等方面,提高了生产效率和产品质量。
在汽车领域,嵌入式系统被应用于车载信息娱乐系统、车辆控制系统、驾驶辅助系统等,提升了驾驶体验和行车安全性。
最后,针对嵌入式系统原理及应用的课后答案,我们可以从以下几个方面进行思考和讨论:1. 嵌入式系统的特点和优势是什么?为什么在特定领域中更适合使用嵌入式系统而不是通用计算机系统?2. 举例说明嵌入式系统在特定应用场景中的应用案例,并分析其对该领域的影响和作用。
3. 分析嵌入式系统的设计和开发过程中可能遇到的挑战和解决方案,如何平衡系统的性能、功耗、成本和体积等因素?4. 探讨未来嵌入式系统在人工智能、物联网、智能制造等新兴领域中的发展趋势和应用前景。
综上所述,嵌入式系统作为一种特殊的计算机系统,在各个领域都有着广泛的应用,并且在未来的发展中将继续发挥重要作用。
对于学习嵌入式系统的同学来说,深入理解其原理及应用是非常重要的,希望以上内容能够对大家有所帮助。
西安交通大学课程考试复习资料单选题1.下列不属于双端口工作方式的是:A.中断方式B.查询方式C.忙逻辑方式D.信号量方式答案: B2.在实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来消息,或建立某个条件后再向前执行,这种制约性合作关系被称为任务的_________。
A.同步B.互斥C.调度D.执行答案: A3.DRAM 和SRAM的比较描述错误的是?_________A.SRAM比DRAM快。
B.工作时,SRAM比DRAM耗电少。
C.DRAM的存储密度大于SRAM,在一个芯片上可以置放更多的DRAM。
D.DRAM需要周期性刷新,需要使用专用的DRAM控制器(嵌入式处理器通常集成了DRAM控制器)。
答案: B4.Windows CE特点描述不正确的是?_________A.紧凑、高效和可扩展的操作系统,适用于各种嵌入系统和产品。
B.拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境。
C.可以面向的硬件系统不受资源限制。
D.采用模块化设计方式。
答案: C5.下列不属于双端口工作方式的是A.中断方式B.查询方式C.忙逻辑方式D.信号量方式答案: B6.功能仿真又叫_________。
仅对逻辑功能进行测试模拟,以了解其实现的功能能否满足原设计的要求,仿真过程没有加入时序信息,不涉及具体器件的硬件特性,如延时特性。
A.模拟B.前仿真C.后仿真D.虚拟化答案: B7.一个任务被唤醒,意味着_________。
A.该任务重新占有了CPUB.它的优先级变为最大C.其任务移至等待队列首D.任务变为就绪状态答案: D8.下列不属于嵌入式操作系统的是_________。
A.Windows CEB.VxWorksC.windowsXPD.UC/OS答案: C9.嵌入式微处理器-DSP的特点描述不正确的是?_________A.计算速度快B.通常进行基本的运算,包括滤波、域变换C.降低了系统的集成度D.快速访问存储器答案: C10.通常所说的32位微处理器是指_________。
嵌入式系统原理与应用课后答案1. 第一章答案:a. 嵌入式系统是嵌入到其他系统中的小型电子系统,一般具有特定的功能和任务。
它以硬件和软件的结合形式存在。
b. 嵌入式系统具有实时性、可靠性和可扩展性的要求,并且一般运行在资源受限的环境中。
c. 嵌入式系统可分为实时嵌入式系统和嵌入式控制系统两种类型。
d. 实时嵌入式系统需要按照严格的时间要求完成任务,可以分为硬实时和软实时系统。
2. 第二章答案:a. 嵌入式系统的硬件平台由微处理器、存储器、总线、输入输出设备等组成。
b. 嵌入式系统的硬件平台性能指标包括:处理器的主频、存储器的容量和带宽、总线的带宽和响应时间、输入输出设备的性能等。
c. 嵌入式系统的软件平台由操作系统、应用软件和驱动程序等组成。
d. 实时操作系统是嵌入式系统的核心软件,它可以提供任务调度、资源管理、中断处理等功能。
3. 第三章答案:a. 嵌入式系统的开发流程包括需求分析、系统设计、硬件设计、软件设计、系统集成和测试等阶段。
b. 嵌入式系统开发中常用的设计工具包括仿真工具、编译工具、调试工具和测试工具等。
c. 嵌入式系统的设计方法可以分为自顶向下设计和自底向上设计两种。
d. 自顶向下设计是先定义系统的整体结构,再逐步详细设计每个组件的功能和接口。
e. 自底向上设计是先设计每个组件的功能和接口,再逐步将它们组合起来形成系统。
4. 第四章答案:a. 嵌入式系统的程序设计语言可以分为汇编语言、高级语言和特定领域语言三种。
b. 汇编语言是一种低级语言,使用机器指令来编写程序,可以直接控制硬件。
c. 高级语言是一种抽象层次较高的语言,使用类似自然语言的语法来编写程序,更易理解和维护。
d. 嵌入式系统常用的高级语言包括C语言和C++语言。
e. 特定领域语言是一种专门为某种特定应用领域设计的语言,具有特定领域的特性和功能。
5. 第五章答案:a. 嵌入式系统的编程模型可以分为裸机编程和操作系统编程两种。
第一章1、举出3个书本中未提到的嵌入式系统的例子。
答:红绿灯控制,数字空调,机顶盒2、什么叫嵌入式系统嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器?嵌入式处理器分为哪几类?嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(Embedded Microprocessor Unit, EMPU)嵌入式微控制器(Microcontroller Unit, MCU)嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP)嵌入式片上系统(System On Chip)4、什么是嵌入式操作系统?为何要使用嵌入式操作系统?是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了 32 位 CPU 的多任务潜力。
第二章1.基础知识(1)ARM7TDMI中的T、D、M、I的含义是什么?64 位乘法指令(带M 后缀的)、支持片上调试(带D 后缀的)、高密度 16 位的Thumb 指令机扩展(带T 后缀的)和EmbededICE 观察点硬件(带I 后缀的)(2)ARM7TDMI采用几级流水线?使用何种存储器编址方式?三级流水线(取指译码执行);使用了冯·诺依曼(Von Neumann )结构,指令和数据共用一条32 位总线。
(3)ARM处理器模式和ARM处理器状态有何区别?处理器模式指的是处理器在执行程序时在不同时刻所处的不同状态,处理器状态指的是处理器当前所执行的指令集。
(4)分别列举ARM的处理器模式和状态。
状态: ARM 状态 32 位,这种状态下执行的是字方式的ARM 指令Thumb 状态 16 位,这种状态下执行半字方式的 Thumb 指令模式:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。
第1章1、什么是嵌入式系统?嵌入式系统的组成?从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。
术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。
嵌入的系统中可以共存多个嵌入式系统。
2、典型的嵌入式处理器有哪些?3、典型的RTOS操作系统有哪些?4、列举身边的嵌入式应用产品?第2章Cortex-M体系结构一题:填空题1、ARM Cortex系统的处理器分为:____A_____、____R_____、_____M_____。
2、ARM Cortex-M3为32位微控制器,请问32位指的是CPU字长。
3、ARM Cortex-M3体系结构采用哈佛总线结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行进行。
4、CM3寄存器分为通用寄存器,包括R0~R15。
和特殊功能寄存器,包括程序状态寄存器、异常屏蔽寄存器、控制寄存器。
5、寄存器R13是堆栈指针寄存器。
6、寄存器R14是程序连接寄存器。
7、寄存器R15是程序PC。
8、CM3的堆栈指针分为__MSP__、__PSP_。
存储器堆栈堆栈分为:向上生长(即向高地址方向生长)的递增堆栈;向下生长(即向低地址方向生长),称为递减堆栈。
堆栈指针指向最后压入堆栈的有效数据项,称为满堆栈;堆栈指针指向下一个数据项放入的空位置,称为空堆栈。
试判断CM3属于递减堆栈堆栈和满堆栈堆栈。
9、在CM3中记录程序状态的寄存器是___xPSR____。
都分别有些什么状态_应用状态、中断状态、可执状态。
10、BASEPRI寄存器的作用是___屏蔽优先级低于某一个数值的异常____。
11、寄存器CONTROL的作用是控制处理器模式及堆栈切换。
MOV R0,#0x01MSR CONTROL,R0在8级优先中,请问上述程序的功能是处理器工作在用户模式主堆栈下。
版权说明本文件中出现的任何文字叙述、文件格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属本人所有。
----WangYiwei由于我正在学习“嵌入式系统原理与应用——基于ARM微处理器和Linux操作系统”这门课程,网络上找不到课后习题答案。
因此本人通过认真地做习题,不懂百度,查阅相关书籍等途径,整理了一份答案,可供各位参考。
注意:答案并不一定完全正确,有异议的答案欢迎提出来大家一起探讨。
1.8 练习题P141.选择题(1)A说明:嵌入式系统的发展趋势表现在以下几方面:1.产品种类不断丰富,应用范围不断普及2.产品性能不断提高3.产品功耗不断降低,体积不断缩小4.网络化、智能化程度不断提高5.软件成为影响价格的主要因素(2)D说明:常见的嵌入式操作系统: VxWorks,Windows CE、uC/OS-II和嵌入式Linux。
(3)A说明:VxWorks是美国WindRiver公司于1983年开发的一种32位嵌入式实时操作系统。
2.填空题(1)嵌入式计算机(2)微处理器外围电路外部设备(3)板级支持包实时操作系统应用编程接口应用程序(4)嵌入式处理器微控制器数字信号处理器3.简答题(1)简述嵌入式系统的定义和特点答:定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
特点:专用性强、实时性好、可裁剪性好、可靠性高和功耗低等。
(2)简述计算机系统的发展历程第一阶段大致在20世纪70年代前后,可以看成是嵌入式系统的萌芽阶段;第二阶段是以嵌入式微处理器为基础,以简单操作系统为核心的嵌入式系统;第三阶段是以嵌入式操作系统为标志的嵌入式系统,也是嵌入式应用开始普及的阶段;第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。
(3)简述MCU和DSP的区别MCU是微控制器,DSP是数字信号处理器。
MCU相当于小型的电脑,内部集成的CPU、ROM、RAM、I/O总线,所以集成度高是它的特点。
第6章8086/8088 汇编语言程序设计习题1.下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图。
V AR1 DB 10,2V AR2 DW 5DUP(?),0V AR3 DB ‘HOW ARE YOU?’,‘$’V AR4 DD -1,1,0解:V AR1 DB 10,2 ; 2 个字节V AR2 DW 5DUP(?),0; 12 个字节V AR3 DB ‘HOW ARE YOU?’,‘$’; 13 个字节V AR4 DD -1,1,0; 12 个字节存储空间的分配图略去2. 已知内存DATA 单元存放一个字数据,统计其含有0 的个数,并送入RESULT 单元。
解:DAT SEGMENT ;数据段DA TA DW 0F7F7HRESULT DB ?DAT ENDSSTACK SEGMENTST DB 100 DUP(?)STACK ENDSCODE SEGMENT ;代码段ASSUME CS: CODE, DS:DA T, SS:STACKMAIN PROC FARSTART: MOV AX, STACK ;送堆栈段段地址MOV SS, AXPUSH DS ;返回DOS 用MOV AX, 0PUSH AXMOV AX, DAT ;送数据段段地址MOV DS, AXMOV CX, 16MOV BL, 0MOV AX, DATAAGAIN: SHL AX, 1JC NEXTINC BLNEXT: LOOP AGAINMOV RESULT, BLRETMAIN ENDPCODE ENDSEND START3.试编程序将内存从40000H 到4BFFFH 的每个单元中均写入55H,并再逐个单元读出比较,看写入的与读出的是否一致。
若全对,则将AL 置7EH;只要有错,则将AL 置81H。
解:DAT SEGMENT A T 4000H ;数据段DA TA DB 49152 DUP(?)DAT ENDSSTACK SEGMENTST DB 100 DUP(?)STACK ENDSCODE SEGMENT ;代码段ASSUME CS: CODE, DS:DA T, SS:STACK, ES:DA TMAIN PROC FARSTART: MOV AX, STACK ;送堆栈段段地址MOV SS, AXPUSH DS ;返回DOS 用MOV AX, 0PUSH AXMOV AX, DAT ;送数据段段地址MOV DS, AXMOV ES, AXMOV DI, 0MOV CX, 49152MOV AL, 55HCLDREP STOSB ;写入MOV CX, 49152MOV SI, 0AGAIN: LODSB ;读出CMP AL, 55HJNZ ERR1LOOP AGAINMOV AL, 7EHJMP EXTERR1: MOV AL, 81HEXT: NOPRETMAIN ENDPCODE ENDSEND START4. 已知从数据段DA TA 单元开始存放字节型的带符号数X 和Y,请设计计算Y=6X+8的程序。
解:DAT SEGMENT ;数据段DA TA DB -2SUM DB ?DAT ENDSSTACK SEGMENTST DB 100 DUP(?)STACK ENDSCODE SEGMENT ;代码段ASSUME CS: CODE, DS:DA T, SS:STACKMAIN PROC FARSTART: MOV AX, STACK ;送堆栈段段地址MOV SS, AXPUSH DS ;返回DOS 用MOV AX, 0PUSH AXMOV AX, DAT ;送数据段段地址MOV DS, AXMOV AL, DATA ;X ALSHL AL, 1 ;计算2X ALMOV BL, AL ;保护2X BLSHL AL, 1 ;计算4X ALADD AL, BL ;计算6XADD AL, 8 ;计算6X+8MOV SUM, ALRETMAIN ENDPCODE ENDSEND START5. 已知从数据段BUF 单元开始存放15 个字节型数据,请设计程序将其中负数和零分别送往MINUS 和ZERO 开始的存储器单元。
解:DAT SEGMENT ;数据段BUF DB 17H, 23H, 0F8H, 0, 4FH, 73H, 4EH, 0FBHDB 0, 0F0H, 9EH, 51H, 82H, 9CH, 0MINUS DB 15 DUP(?)ZERO DB 15 DUP(?)DAT ENDSSTACK SEGMENTST DB 100 DUP(?)STACK ENDSCODE SEGMENT ;代码段ASSUME CS: CODE, DS:DA T, SS:STACKMAIN PROC FARSTART: MOV AX, STACK ;送堆栈段段地址MOV SS, AXPUSH DS ;返回DOS 用MOV AX, 0PUSH AXMOV AX, DAT ;送数据段段地址MOV DS, AXMOV CX, 15MOV DI, OFFSET BUFMOV SI, OFFSET MINUSMOV BX, OFFSET ZERONEXT1: MOV AL, [DI]TEST AL, 80HJNZ MICMP AL, 0JZ ZOJMP NEXT2ZO: MOV [BX], ALINC BXJMP NEXT2MI: MOV [SI], ALINC SINEXT2: INC DILOOP NEXT1RETMAIN ENDPCODE ENDSEND START6.在当前数据段4000H 开始的128 个单元中存放一组数据,试编程序将它们顺序搬移到A000H 开始的顺序128 个单元中,并将两个数据块逐个单元进行此较;若有错将BL 置00H;全对则将BL 置FFH,试编程序。
解:DAT SEGMENT ;数据段ORG 4000HBUF1 DB 128 DUP(5FH)DAT ENDSEXTRA SEGMENT ;附加段ORG 0A000HBUF2 DB 128 DUP(?)EXTRA ENDSSTACK SEGMENTST DB 100 DUP(?)STACK ENDSCODE SEGMENT ;代码段ASSUME CS: CODE, DS:DA T, SS:STACK, ES:EXTRAMAIN PROC FARSTART: MOV AX, STACK ;送堆栈段段地址MOV SS, AXPUSH DS ;返回DOS 用MOV AX, 0PUSH AXMOV AX, DAT ;送数据段段地址MOV DS, AXMOV AX, EXTRA ;送附加段段地址MOV ES, AXMOV CX, 128 ;搬移数据块CLDMOV SI, OFFSET BUF1MOV DI, OFFSET BUF2REP MOVSBMOV CX, 128 ;比较CLDMOV SI, OFFSET BUF1MOV DI, OFFSET BUF2REPE CMPSBJNE ERRORMOV BL, 0FFHJMP EXTERROR: MOV BL, 0EXT: NOPRETMAIN ENDPCODE ENDSEND STARTGIVE AN EXAMPLE!7.试编程序,统计由40000H 开始的16K 个单元中所存放的字符“A“的个数,并将结果存放在DX 中。
解:DAT SEGMENT A T 4000H ;数据段BUF DB 1024 DUP(‘GIVE AN EXAMPLE!’)DAT ENDSSTACK SEGMENTST DB 100 DUP(?)STACK ENDSCODE SEGMENT ;代码段ASSUME CS: CODE, DS:DA T, SS:STACK, ES:DA TMAIN PROC FARSTART: MOV AX, STACK ;送堆栈段段地址MOV SS, AXPUSH DS ;返回DOS 用MOV AX, 0PUSH AXMOV AX, DAT ;送数据段段地址MOV DS, AXMOV ES, AXMOV DX, 0 ;存放A 个数MOV CX, 16384LEA DI, BUFMOV AL, ‘A’CLDNEXT2: SCASBJNZ NEXT1INC DXNEXT1: NOPLOOP NEXT2RETMAIN ENDPCODE ENDSEND START。