习题三答案单片机汇编程序设计基础

合集下载

单片机习题及参考答案

单片机习题及参考答案

(一)填空题1. 除了“单片机”之外,单片机还可以称之为单片微控制器和单片微型计算机。

2. 专用单片机由于已经把能集成的电路都集成到芯片内部了,所以专用单片机可以使系统结构最简化,软硬件资源利用最优化,从而极大地提高了可靠性和降低了成本。

3. 在单片机领域内,ICE的含义是在线仿真器(In Circuit Emulator)。

4. 单片机主要使用汇编语言,而编写汇编语言程序要求设计人员必须精通和指令系统,单片机硬件结构。

5. CHMOS工艺是 CMOS 工艺和 HMOS 工艺的结合,具有低功耗的特点。

6. 与8051比较,80C51的最大特点是所用CHMOS工艺。

7. 微控制技术是对传统控制技术的一次革命,这种控制技术必须使用单片机才能实现。

(二)选择题1.下列简写名称中不是单片机或单片机系统的是(A)MCU (B)SCM (C)ICE (D)CPU2.在家用电器中使用单片机应属于计算机的是(A)数据处理应用(B)控制应用(C)数值计算应用(D)辅助工程应用3.80C51与80C71的区别在于(A)内部程序存储器的类型不同(B)内部数据存储器的类型不同(C)内部程序存储器的容量不同(D)内部数据存储器的容量不同4.8051与80C51的区别在于(A)内部ROM的类型不同(B)半导体工艺的形式不同(C)内部寄存单元的数目不同(D)80C51使用EEPROM,而8051使用EPROM5.在下列单片机芯片中使用掩膜ROM作为内总程序存储器的是(A)8031 (B)80C51 (C)8032 (D)87C516.80C51芯片采用的半导体工艺是(A)CMOS (B)HMOS (C)CHMOS(D)NMOS7.单片机芯片8031属于(A)MCS-48系列(B)MCS-51系列(C)MCS-96系列(D)MCS-31系列8.使用单片机实现在线控制的好处不包括(A)精确度高(B)速度快(C)成本低(D)能与数据处理结合9.以下所列各项中不是单片机发展方向的是(A)适当专用化(B)不断提高其性能(C)继续强化功能(D)努力增加位数第二章课后习题参考答案(一)判断题1.用户构建单片机应用系统,只能使用芯片提供的信号引脚。

新编单片机原理与应用课后答案汇总

新编单片机原理与应用课后答案汇总

习题一参考答案1-1 假设某CPU 含有16根地址线,8根数据线,那么该CPU 的最大寻址能力为多少KB 答:CPU 的最大寻址能力为:K 6422261016=⋅= 1-2 在计算机里,一般具有哪三类总线请说出各自的特征(包括传输的信息类型、单向传输还是双向传输)。

答:1、数据总线,双向,输入输出数据信息;2、地址总线,单向,输出地址信息;3、控制总线,具体到某一根控制线为单向,输入或者输出控制信息;1-3 MCS-51系列单片机时钟周期、机器周期与指令周期这三者关系如何CISC 指令系统CPU 所有指令周期是否均相同答:时钟周期即为振荡周期,由外接晶振频率或外部输入的时钟频率决定,机器周期由12个时钟周期(或6个)构成,指令周期由1~4个机器周期构成;指令周期因具体指令不同而不同;1-4 计算机字长的含义是什么MCS-51单片机的字长是多少答:计算机字长是指CPU 一次能够处理的信息位长度;MCS-51单片机的字长是8位。

1-5 ALU 单元的作用是什么一般能完成哪些运算操作答:ALU 单元的作用是进行算术逻辑运算;算术运算主要是加、减、乘、除,逻辑运算主要是与、或、非、异或等。

1-6 CPU 内部结构包含了哪几部分单片机(MCU)芯片与通用微机CPU 有什么异同 答:CPU 主要包括算术逻辑单元ALU 、控制单元CU 和内部寄存器;单片机(MCU)芯片是在通用CPU 的基础上增加存储器、定时器/计数器、通信接口以及各种接口电路等构成。

1-7 在单片机系统中常使用哪些存储器答:包括程序存储器ROM 和数据存储器RAM 。

1-8 指令由哪几部分组成答:一般由操作码和操作数组成,部分指令只有操作码而无操作数。

1-9、什么是汇编语言指令为什么说汇编语言指令比机器语言指令更容易理解和记忆通过什么方式可将汇编语言程序转化为机器语言程序答:【1】用助记符表示的指令【2】因为在汇编语言指令中每条操作码、操作数都是用特定符号表示;而机器语言中的操作码和操作数均用二进制表示,没有明显特征【3】可通过专门的软件或手工查表方式1-10、汇编语言程序和汇编程序这两个术语的含义是否相同答:两者含义不同;1.汇编语言程序指由汇编语言指令构成的程序;2.汇编程序指将完成汇编语言指令转换为机器语言指令的程序1-11、什么是寻址方式对于双操作数指令来说,为什么不需要指定操作结果存放位置答:【1】确定指令中操作数所在存储单元地址的方式【2】在现代计算机系统中,对于双操作数指令,一般将指令执行后的结果放在第一个操作数(即目标操作数),这样可以减少指令码的长度1-12、指出下列指令中每一操作数的寻址方式答:【1】目标操作数为寄存器寻址,源操作数为立即数寻址【2】目标操作数为直接寻址,源操作数为寄存器寻址【3】目标操作数为直接寻址,源操作数为直接寻址【4】目标操作数为直接寻址,源操作数为寄存器间接寻址【5】寄存器寻址注:在单片机中,问到指令的寻址方式,既要答目标操作数的寻址方式,也要答源操作数的寻址方式,这与微机不同,请切记!1-13、单片机的主要用途是什么新一代8位单片机芯片具有哪些主要技术特征列举目前应用较为广泛的8位、32位单片机品种。

《单片机原理及应用》课后习题答案

《单片机原理及应用》课后习题答案
2.12 ALE信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下ALE信号可用作外部设备的定时信号。
答案:ALE是地址锁存使能信号,是机器周期的二倍。当不使用单字节双周期的指令,如MOVX类指令时,可以作为外部设备的定时信号。
2.13 有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部RAM有何影响?
2.6 8051如何确定和改变当前工作寄存器组?
2.7 MCS-51单片机的程序存储器中0000H、0003H、000BH、0013H、001BH和0023H这几个地址具有什么特殊的功能?
2.8 8051单片机有哪几个特殊功能寄存器?可位寻址的SFR有几个?
2.9 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?
TH1、TL1、TH0、TL0的内容为00H,定时器/计数器的初值为0。
(TMOD)=00H,复位后定时器/计数器T0、T1为定时器方式0,非门控方式。
(TCON)=00H,复位后定时器/计数器T0、T1停止工作,外部中断0、1为电平触发方式。
(T2CON)=00H,复位后定时器/计数器T2停止工作。
可位寻址的SFR有11个。
2.9 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?
答案:PSW—程序状态字。主要起着标志寄存器的作用。常用标志位及其作用如下:
Cy——进(借)位标志,其主要作用是保存算术运算的进或借位并在进行位操作时做累加器。
在执行某些算术和逻辑指令时,可以被硬件或软件置位或清零。在算术运算中它可作为进位标志,在位运算中,它作累加器使用,在位传送、位与和位或等位操作中,都要使用进位标志位。
2.14 MCS-51的时钟振荡周期、机器周期和指令周期之间有何关系?

单片机课后习题答案

单片机课后习题答案

单⽚机课后习题答案单⽚机课后习题答案1.89C51单⽚机内包含哪些主要逻辑功能部件?答:80C51系列单⽚机在⽚内集成了以下主要逻辑功能部件:(l)CPU(中央处理器):8位(2)⽚内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并⾏I/O⼝:8位,4个(6)串⾏接⼝:全双⼯,1个(7)定时器/计数器:16位,2个(8)⽚内时钟电路:1个2.89C51的EA端有何⽤途?答:/EA端接⾼电平时,CPU只访问⽚内flash Rom并执⾏内部程序,存储器。

/EA端接低电平时,CPU只访问外部ROM,并执⾏⽚外程序存储器中的指令。

/EA端保持⾼电平时,CPU执⾏内部存储器中的指令。

3.89C51的存储器分哪⼏个空间?如何区别不同空间的寻址?答:ROM(⽚内ROM和⽚外ROM统⼀编址)(使⽤MOVC)(数据传送指令)(16bits地址)(64KB)⽚外RAM(MOVX)(16bits地址)(64KB)⽚内RAM (MOV)(8bits地址)(256B)4.简述89C51⽚内RAM的空间分配。

答:⽚内RAM有256B,低128B是真正的RAM区,⾼128B是SFR(特殊功能寄存器)区。

5.简述布尔处理存储器的空间分配,⽚内RAM中包含哪些可位寻址单元。

答:⽚内RAM区从00H~FFH(256B)其中20H~2FH(字节地址)是位寻址区对应的位地址是00H~7FH6. 如何简捷地判断89C51正在⼯作?答:⽤⽰波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路⼯作是否正常?)ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频⽤⽰波器观察ALE是否有脉冲输出(判断8051芯⽚的好坏?)观察PSEN(判断8051能够到EPROM 或ROM中读取指令码?)因为/PSEN接外部EPROM(ROM)的/OE端⼦OE=Output Enable(输出允许)7. 89C51如何确定和改变当前⼯作寄存器组?答:PSW(程序状态字)(Program Status Word)中的RS1和RS0 可以给出4中组合,⽤来从4组⼯作寄存器组中进⾏选择PSW属于SFR(Special Function Register)(特殊功能寄存器)9.读端⼝锁存器和“读引脚”有何不同?各使⽤哪种指令?答:读锁存器(ANLP0,A)就是相当于从存储器中拿数据,⽽读引脚是从外部拿数据(如MOV A,P1这条指令就是读引脚的,意思就是把端⼝p1输⼊数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常⽤这些指令于外部通信,判断外部键盘等;字节交换XCH、XCHD算术及逻辑运算ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。

《单片机基础》 李广弟 练习题及答案

《单片机基础》 李广弟 练习题及答案

PC, #2222H (×)
DEC DPTR R5
0E0H, @R0 (√) CPL F0H A, @R1 F0, ACC.3 (×) (√) (×)
PUSH DPTR (×) MOV MOV A, 1FH (√) F0, C (√) 30H (√)
MOVX MOV MOV MOV
说明: MOV CPL PUSH
1. 用 8 位二进制补码数所能表示的十进制数范围是(D) (A)-127 ~ +127 (C)-127 ~ +128 (B)-128 ~ +128 (D)-128 ~ +127
2. 下列等式中,正确的是(B) (A)1 KB = 1024×1024 B (C)1 KB = 1024 M B 3. 程序与软件的区别是(C) (A)程序小而软件大 (C)软件包括程序 (B)程序便宜而软件昂贵 (D)程序包括软件 (B)1 MB = 1024×1024 B (D)1 MB = 1024 B
第2章
80C51 单片机的硬件结构
(一)填空题
1. 通过堆栈实现子程序调用,首先要把(PC)的内容入栈,以进行断点保护。 调用返回时再进行出栈操作,把保护的断点送回(PC) 。 2. 80C51 单片机的时钟电路包括两部分内容,即芯片内的(高增益反相放大器 反相器)和芯片外跨接的(石英晶体振荡器晶振)与(两个微调电容) 。若 调高单片机的晶振频率,则单片机的机器周期会变(短) 。 3. 通常单片机有两种复位操作,即(上电复位)和(手动复位) 。复位后,PC 值为(0000H) ,SP 值为(07H) ,通用寄存器的当前寄存器组为(第 0)组,
4. 存储器中,每个存储单元都被赋予惟一的编号,这个编号称为(A) (A)地址 (B)字节 (C)列号 (D)容量

单片机原理与应用练习题3答案

单片机原理与应用练习题3答案

单片机原理与应用练习题3答案(总11页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--练习题3答案1. 简述下列基本概念:指令,指令系统,机器语言,汇编语言。

答:指令是单片机CPU执行某种操作的命令。

指令系统是一台计算机所能执行的指令集合。

机器语言即二进制代码语言,是计算机可以直接识别。

汇编语言是用助记符、字符串和数字等来表示指令的程序语。

2. 简述AT89S51单片机的指令格式答:该单片机的指令由两部分组成,即操作码和操作数。

操作码用来规定指令进行什么操作,而操作数则是指令操作的对象,操作数可能是一个具体的数据,也可能是指出到哪里取得数据的地址或符号。

指令格式一般为:[ 标号:] 操作码 [操作数1][,操作数2][,操作数3] [;注释] 3. 简述AT89S51的寻址方式和所能涉及的寻址空间答:共有7种寻址方式,见表3-2。

分别是:(1)寄存器寻址:寻址范围为通用寄存器组,共4组32个,但只能使置;(2)直接寻址:寻址范围为内部RAM,包括低128位用户RAM区和高128位专用寄存器;(3)寄存器间接寻址:寻址范围为内部RAM低128位,外部RAM 64KB(低256单元可以使用DPTR和R0、R1作为间接寻址寄存器,而其他单元只能用DPTR作为间接寻址寄存器);(4)立即寻址:直接给出立即数,不涉及寻址空间;(5)变址寻址:只对程序寄存器进行寻址;(6)相对寻址:以PC的内容为基值,加上指令机器代码中‘相对地址’形成新的PC值转移;(7)位寻址:寻址空间包括内部RAM位寻址区(20~2FH)和专用寄存器的可寻址位。

4. 要访问片外程序存储器和片外数据存储器,应采用哪些寻址方式答:访问片外程序存储器采用变址寻址方式,片外数据存储器采用寄存器间接寻址方式,且用DPTR可以访问64KB,而用R0或者R1只可访问低256字节。

5. 在AT89S51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。

单片机复习题(参考答案)

单片机复习题(参考答案)

一、填空题1.计算机中最常用的字符信息编码是 ASCII码。

2.计算机中常用的码制有原码,反码和补码。

3. 十进制数29的二进制表示为 11101B。

4. 十进制数-29的8位补码表示为 11100011B 。

5.如果存储单元的数据位为8位,当它存放无符号数时,则该数的范围为 0~255 ;存放有符号数时,以原码表示的范围为 -127~127 ,以补码表示,范围为 -128~127 。

6.设X=87H,Y=E6H,则X与Y按位“或”运算为 E7H,X与Y的按位“异或”运算为 61H 。

(要求结果写成16进制形式)7.按照CPU对数据处理的位数,单片机通常分为 4 位、8 位、 16 位、 32 位等四类。

8.计算机的经典结构由运算器、控制器、存储器、输入设备、输出设备组成。

9.一个完整的计算机系统由硬件系统和软件系统两大部分组成。

10. 如果存储单元的数据位为16位,当它存放无符号数时,则该数的范围为 0~65536 。

11.计算机三大总线分别为地址总线、数据总线和控制总线。

二、单选题1.数据的存储结构是指(C)。

A、存储在外存中的数据B、数据所占的存储空间量C、数据在计算机中的顺序存储方式D、数据的逻辑结构在计算机中的表示2.真值0表示形式唯一的机器数是(C )。

A. 原码B.反码C.补码D.原码和反码3.计算机能直接识别的语言是(C)。

A.汇编语言 B.自然语言 C.机器语言 D.C语言一、填空题1. 复位后寄存器PC= 0 、SP= 7 、P0~P3= FFH 、PSW= 0 。

2.EA引脚的作用是允许访问片外程序存储器输入线。

3. 8051是 8 位的单片机,其内部存储器容量为 128B RAM, 4KB ROM。

4.当80C51引脚ALE信号有效时,表示从P0口稳定地送出了低8位地址。

5. 80C51单片机有两种复位方式,即上电自动复位和按键手动复位。

6.8051单片机片内包含 4KB ROM和 128B RAM(填容量), 2 个定时器。

单片机原理与应用(盛珣华)习题和思考题答案

单片机原理与应用(盛珣华)习题和思考题答案

单⽚机原理与应⽤(盛珣华)习题和思考题答案习题和思考题答案第⼀章单⽚机概述1. 第⼀台电⼦数字计算机发明的年代和名称。

1946年、ENIAC。

2. 根据冯·诺依曼提出的经典结构,计算机由哪⼏部分组成?运算器、控制器、存储器、输⼊设备和输出设备组成。

3. 微型计算机机从20世纪70年代初问世以来,经历了哪四代的变化?经历了4位、8位、16位、32位四代的变化。

4. 微型计算机有哪些应⽤形式?系统机、单板机、单⽚机。

5. 什么叫单⽚机?其主要特点有哪些?单⽚机就是在⼀⽚半导体硅⽚上,集成了中央处理单元(CPU)、存储器(RAM、ROM)、并⾏I/O、串⾏I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的⽤于测控领域的微型计算机,简称单⽚机。

单⽚机技术易于掌握和普及、功能齐全,应⽤⼴泛、发展迅速,前景⼴阔、嵌⼊容易,可靠性⾼。

6. 举例说明单⽚机的应⽤?略7. 当前单⽚机的主要产品有哪些?各⾃有何特点?MCS是Intel公司⽣产的单⽚机的系列符号,MCS-51系列单⽚机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进⼊我国,并在我国应⽤最为⼴泛的单⽚机机型之⼀,也是单⽚机应⽤的主流品种。

其它型号的单⽚机:PIC单⽚机、TI公司单⽚机、A VR系列单⽚机。

8. 简述单⽚机应⽤系统的开发过程。

(1)根据应⽤系统的要求进⾏总体设计总体设计的⽬标是明确任务、需求分析和拟定设计⽅案,确定软硬件各⾃完成的任务等。

总体设计对应⽤系统是否能顺利完成起着重要的作⽤。

(2)硬件设计根据总体设计要求设计并制作硬件电路板(即⽬标系统),制作前可先⽤仿真软件(如Proteus软件)进⾏仿真,仿真通过后再⽤硬件实现并进⾏功能检测。

(3)软件设计软件编程并调试,⽬前⼀般⽤keil软件进⾏设计调试。

调试成功后将程序写⼊⽬标单⽚机芯⽚中。

(4)综合调试进⾏硬软件综合调试,检测应⽤系统是否达到设计的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机汇编程序设计基础习题答案
一、填空题
1、给程序做注释使用;(或半角分)号来标识。

2、注释可以写在一行指令上,也可以写在一个指令之后。

3、在设计汇编语言源程序时,可以使用顺序结构的程序,也可以使用某些指令构成分支结构、循环结构和子程序调用结构的程序。

4、寻址方式是指寻找操作数的方式。

5、机器语言是机器码的集合。

6、MCS-51单片机的指令的一般格式中,包括标号、助记符、目的操作数、源操作数和注释等部分。

7、MCS-51汇编语言源程序的扩展名为.asm 。

二、程序设计题
1、求50H与40H单元内容之和,结果存入20H,进位位存入2lH。

解答:
MOV A。

50 H
ADD A,40H
MOV 20H.A
CLR A
ADDC A.#00H
MOV 21H,A
SJMP $
2、编程实现双字节加法运算(R1)(R0)+(R7)(R6)一(31H)(30H)。

解答:
MOV A.R0
ADD A,R6
MOV 30H.A
MOV A,R1
ADDC A.R7
MOV 31H,A
SJMP $
3、试编写程序,求出内部RAM20H单元中的数据含“1”的数,并将结果存入21H单元。

解答
MOV 21H,#00H
MOV A,20H
CLR C
MOV R7,#08H
LOOP: RLC A
JNC NEXT
INC 21H
NEXT: DJNZ R7,LOOP
SJMP $
4、试编写程序,将内部RAM的20H~2FH共16个连续单元清零。

解答:
MOV R0,#20H
MOV R7,#10H
CLR A
NEXT:MOV @R0,A
INC R0
DJNZ R7,NEXT
SJMP $
5、编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。

解答:
STRAT:MOV R0,#30H
MOV R7,#0FH
MOV DPTR,#3000H
LOOP: MOV A,@R0
MOVX @DPTR,A
INC R0
INC DPTR
DJNZ R7,LOOP
RET
6、片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 ).
解答:
ADDIO:MOV R0,30H
MOV R7,#9
MOV A,@R0
LOOP: INC R0
ADD A,@R0
DJNZ R7,LOOP
MOV 30H,A
RET
7、试编写程序,查找在内部RAM的30H~50H单元中出现FFH的次数,并将查找的结果存入51H单元。

解答:
MOV 51H,#00H
MOV R1,#30H
MOV R7,#21H
LOOP:CJNE @R1,#0FFH,NEXT
INC 51H
NEXT:INC R1
DJNZ R7,LOOP
SJMP $
8、设单片机的fosc=6MHz,编写实现100ms延时的子程序。

解答:
DELAY: MOV R7,#64H
A0: MOV R6,#0FAH
DJNZ R6,$
DJNZ R7,A0
RET
9、从内部RAM的30H单元开始存放一组用补码表示的带符号数,其数目以存放在20H单元。

编写程序统计出其中的正数、0和负数的数目,并奖结果分别存入21H、22H、23H单元。

解答:
MOV R0,#30H
MOV 21H,#00H
MOV 22H,#00H
MOV 23H,#00H
MOV A,@R0
JZ NEXT1
JB ACC.7,NEXT2
INC 23H
SJMP NEXT3
NEXT2: INC 21H
SJMP NEXT3
NEXT1:INC 22H
NEXT3:INC R0
DJNZ 20H,LOOP
SJMP $
10、在程序存储器中从tab开始的16个单元连续存放0-15的平方值,设计程序,任意给一个数x(0≤x≤15),查表求出z的平方值,并把结果存入y单元。

解答:
设x单元为30H,Y单元为31H。

文件名:a.asm ,查表求x的平方值,X的值在0~15之间。

ORG 3000H
MOV DPTR,#tab
MOV A,X
MOVC A,@A+DPTR
MOV y,A
SJMP $
tab:DB 00H,01H,04H,09H,10H,19H,24H,31 H
DB 40H,51H,64H,79H,90H,0A9H,0C4H,0E1H
X DATA 30H
Y DATA 31H
END
11、从XX单元开始,连续存放10个无符号数,设计程序,从中找出最大值送入yy单元。

解答:
设XX单元为40H,YY单元为30H。

ORG 0020H
MOV R0.#xx
MOV B,@R0
MOV R7.#09H
INC R0
LOOP: MOV A,B
CLR C
SUBB A,@R0
JNC NEXT
MOV B,@R0
NEXT:INC R0
DJNZ R7,LOOP
MOV YY,B
SJMP $
XX DATA 40H
YY DAIA 30H
END
12、从x单元开始,连续存放30个无符号数,统计奇数和偶数的个数,并分别存入y和z 单元。

解答:
设x单元为30H,Y单元为50H,z单元为51H。

ORG 2000H
START:MOV R1,#00H
MOV R2,#00H
MOV R7,#1EH
MOV R0,#X
LOOP:MOV A,@R0
JNB ACC.0,NEXT
INC R1
SJMP A1
NEXT:INC R2
Al:INC R0
DJNZ R7,LOOP
MOV y,R1
MOV Z,R2
SJMP $
x DATA 30H
y DATA 50H
z DATA 5lH
END
13、从x单元开始,连续存放30个带符号数,求出各个数的绝对值,将结果存入原单元。

解答:
设 x 单元为30H
START:MOV R7,#1EH
MOV R0,#X
LOOP: MOV A,@R0
JNB ACC.7,NEXT
CPL A
INC A
MOV @R0,A
NEXT: INC R0
DJNZ R7,LOOP
SJMP $
X DATA 30H
END
14 、用查表法编一子程序,将R3中的BCD码转换成ASCII码.
解:
MAIN: MOV A,R3 ;待转换的数送A
MOV DPTR,#TAR ;表首地址送DPTR
MOVC A,@A+DPTR ;查ASCII码表
MOV R3,A ;查表结果送R3
RET
TAR DB 30H,31H,32H,33H,34H
DB 35H,36H,37H,38H,39H
15、片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.解:
START: MOV R0,#40H ;数据块首地址送R0
MOV R7,#09H ;比较次数送R7
MOV A,@R0 ;取数送A
LOOP: INC R0
MOV 30H,@R0 ;取数送30H
CJNE A,30H,NEHT ;(A)与(30H)相比
NEXT: JNC BIE1 ;(A)≥(30H)转BIR1
MOV A,30H ;(A)<(30H),大数送A
BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较
MOV 50H,A ;比较结束,大数送50H
RET
16、利用调子程序的方法,进行两个无符号数相加。

请编主程序及子程序。

解用R0和R1作数据指针,R0指向第一个加数,并兼作“和”的指针,R1指向另一个加数,字节存放到R2中作计数初值。

主程序:
JAFA: MOV R0,#20H ;指向加数最低字节
MOV R1,#29H ;指向另一加数最低字节
MOV R2,#04H ;字节数作计数值
ACALL JASUB ;调用加法子程序
AJMP $
RTE
多字节加法子程序:
JASUB: CLR C
JASUB1: MOV A,@R0 ;取出加数的一个字节(4B无符号数加数)ADDC A,@R1 ;加上另一数的一个字节
MOV @R0,A ;保存和数
INC R0 ;指向加数的高位
INC R1 ;指向另一加数的高位
DJNZ R2,JASUB1 ;全部加完了吗?
RET。

相关文档
最新文档