湖北工业大学微机原理及应用课程复习提纲
《微机原理及应用》复习

《微机原理及应用》复习《微机原理及应用》是一门涵盖了微机基础知识、计算机系统结构、汇编语言程序设计、微机接口技术等内容的课程。
在学习这门课程时,我们需要掌握计算机的基本原理和内部结构,能够编写简单的汇编语言程序,并且能够应用接口技术进行硬件和软件的连接。
首先,我们需要熟悉计算机的基本原理和内部结构。
计算机是由中央处理器(CPU)、内存、输入输出设备(I/O)和系统总线等组成的。
CPU是计算机的核心部件,负责执行计算机指令并进行数据处理。
内存是计算机存储数据和指令的地方,可以分为主存和辅存。
输入输出设备用于与外部环境进行交互,如键盘、鼠标、显示器等。
系统总线是计算机各个部件之间传送数据和控制信号的通道。
其次,我们需要掌握汇编语言程序设计。
汇编语言是一种低级语言,与机器语言密切相关,能够直接操作计算机硬件。
汇编语言程序主要包括指令、寻址方式和数据传送等内容。
指令是汇编语言程序的基本执行单元,可用于数据操作、控制流程和实现函数等功能。
寻址方式是指程序在内存中访问数据和指令的方式,常见的有直接寻址、间接寻址和相对寻址等。
数据传送用于把数据从一个存储器单元传送到另一个存储器单元,可通过寄存器或内存进行。
然后,我们需要了解微机接口技术。
微机接口技术是用于实现计算机与外部设备之间的数据传输和控制的技术。
常见的接口技术有并行接口、串行接口和通信接口等。
并行接口是指在一个时钟周期内同时传送多个位的接口,通常用于连接打印机、扫描仪等设备。
串行接口是指在一个时钟周期内逐位传送数据的接口,通常用于连接鼠标、摄像头等设备。
通信接口是指连接计算机与网络或其他计算机之间进行数据通信的接口,如以太网接口、无线接口等。
在复习《微机原理及应用》时,我们可以通过以下方法进行:1.复习课本和课堂笔记,重点理解和记忆计算机的基本原理和内部结构,包括CPU、内存、I/O和系统总线等。
2.刷题巩固知识点,做一些与课程相关的习题和试卷,加深对汇编语言程序设计和微机接口技术的理解。
《微机原理及应用》复习大纲

《微机原理及应用》复习大纲《微机原理及应用》复习大纲第一章概述1、数制的互相转换;2、有符号数的原码反码补码的变换及ASCII码;3、冯诺依曼计算机体系的构成即微机的系统组成;4、微机的性能指标。
可供用来复习知识点的课后习题:1.2--1.6、1.8、1.9、1.11和1.13。
第二章微处理器结构1、物理地址的形成原理及规则字;2、8086的内部寄存器:4个数据寄存器、4个段寄存器、4个指针与变址寄存器以及FLAGS,其中FLAGS要熟悉除DF和TF外的7个标志位。
3、8086的存储器及I/O的寻址。
可供用来复习知识点的课后习题:2.2、2.4和2.7。
第三章指令系统和寻址方式1、8086汇编指令中7种数据寻址的方法:立即寻址方式、寄存器寻址方式、存储器寻址方式。
其中存储器寻址方式又有5种:直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式和相对基址变址寻址方式。
2、数据传送指令的使用及注意事项:除PUSHF和POPF外的通用传送指令,累加器专用传送指令及除LDS和LES外的地址传送指令。
3、算术运算指令的使用及注意事项:只要求除NEG之外的加减法指令。
4、逻辑运算指令和移位指令的使用及注意事项;5、理解P82-P83页中条件转移指令的成立条件;6、理解循环控制指令LOOP。
可供用来复习知识点的课后习题:3.2--3.4、3.7--3.11、3.13--3.18。
第四章汇编语言程序设计1、操作数中的常数和表达式:数制常数、字符串常数和符号常数的表达;算术运算符、逻辑运算符、关系运算符、分析运算符及组合运算符中的PTR。
2、定义符号的伪指令和定义数据的伪指令:EQU、=;根据常用定义数据伪指令画内存分配图。
3、能够阅读顺序结构、分支结构及循环结构的短程序。
可供用来复习知识点的课后习题:4.1、4.3--4.7、4.9--4.11。
第五章微处理器总线时序和系统总线1、熟悉8086的常用引脚:CLK、VCC、GND、RESET、NMI、INTR、/RD、/WR、ALE、M//IO、/BHE、MN//MX、READY2、掌握3种周期的关系及TW 和TI;3、内总线的3个组成部分。
《微机原理及应用》复习重点

《微机原理》复习大纲1.考试方法和考试时间微机原理考试为笔试,总分100,考试时间为2小时。
2.各个章节的要求第1、2、3章重点掌握(BCD码),掌握二、十转换,二、十六进制转换。
理解计算机数制中二进制、十六进制、十进制的制式。
掌握二进制编码,理解ASCII码、数字、大写字母A~Z和小写字母a~z的ASCII码表述,熟悉二进制编码与数制之间的相互转换。
理解组合式、未组合式数的表达方法。
理解二进制的原码、反码和补码,及其在8位和16位字长下的范围,掌握二进制运算。
理解位(Bit)、字(Word)、字节(Byte)、中央处理单元(CPU)等名词术语的含义。
掌握基本组成电路的各自特点和用途,主要包括:ALU、累加器、ROM、RAM;以及三态、地址等相关的概念。
通过对简化模型机的学习,理解微机的整个工作过程及各部件的主要功能。
了解现代技术在微机中的应用。
熟悉一般微型计算机的组成。
理解PC机的基本配置及各部件的主要功能。
第4章8086的指令系统掌握Intel 8086的功能结构及执行特点,寄存器结构及分类,物理地址的形成。
中断操作及相关的概念,包括中断向量的形成等。
掌握各引脚之间的配合是实现读、写操作以及中断操作的必要条件。
熟悉总线操作的指令周期、总线周期和T状态的含义及基本总线周期的组成。
熟悉系统总线按物理特性和功能特性的主要分类,掌握总线的三种数据传输方式。
第5章8086的指令系统理解指令的构成,熟悉指令操作数有效地址(EA)的形成。
熟悉立即寻址,直接寻址,寄存器寻址,寄存器间接寻址,变址寻址,基址加变址寻址方式中操作数寻址过程。
掌握间接寻址和基址加变址寻址方式中寄存器的约定,段基数及操作数地址的确定,理解段超越的概念及其使用。
熟悉8086标志寄存器中6位标志位的含义及相应位置。
理解3位控制位的作用。
熟悉8086指令系统中数据传送,算术运算,逻辑运算,串操作和控制传送指令的含义及操作过程,熟悉算术运算和逻辑运算对标志位的影响。
湖北工业大学微机原理及应用课程复习提纲

湖北工业大学微机原理及应用课程复习提纲(04机自_机电、04机自职适用)基本概念部分1 掌握二进制、十进制、十六进制转换的方法,了解BCD码、ASCII码2 微机的基本组成部分;CPU的基本组成;振荡周期、时钟周期、机器周期、指令周期的关系;3 51单片机的存储器结构;尤其是片内RAM的各功能块;了解片外数据存储器及程序程序存储器的访问方法以及在访问片外数据或程序存储器时单片机控制信号的实现;4 51单片机的端口配置,P0、P1、P2、P3的各自功能与区别;5 MCS-51单片机的中断系统,包括中断源、中断优先级、中断入口地址及中断的控制方法6 51单片机的串口控制方法;7 键盘的接口方式;8 DAC0832及ADC0809的功能;9 常用的存储器型号及其含义,存储器容量与其地址线根数的关系,B 与b的区别;10 寻址方式的理解;常用的寻址方式;程序设计部分1 掌握三种基本结构的程序设计;2 掌握定时器及中断的使用方法;3 掌握8155的控制方法及对其I/O口的操作方法3 掌握DAC832及ADC809的简单操作方法题型(不排除最终试题的题量及分值会有调整):一填空题(14小师,25分)二简答题(3小题24分)三程序阅读题(2小题,13分)四程序设计题(1小题,8分)五电路设计及地址计算题(1小题,10分)六综合题(2题,20分,主要是程序设计)51单片机汇编语言实用子程序(1)标号:BCDA功能:多字节BCD码加法入口条件:字节数在R7中,被加数在[R0]中,加数在[R1]中。
出口信息:和在[R0]中,最高位进位在CY中。
影响资源:PSW、A、R2 堆栈需求:2字节BCDA: MOV A,R7 ;取字节数至R2中MOV R2,AADD A,R0 ;初始化数据指针MOV R0,AMOV A,R2ADD A,R1MOV R1,ACLR CBCD1: DEC R0 ;调整数据指针DEC R1MOV A,@R0ADDC A,@R1 ;按字节相加DA A ;十进制调整MOV @R0,A ;和存回[R0]中DJNZ R2,BCD1 ;处理完所有字节RET(2)标号:BCDB功能:多字节BCD码减法入口条件:字节数在R7中,被减数在[R0]中,减数在[R1]中。
微机原理复习提纲

微机原理复习纲要1.微机基础一、计算机中数的表示方法进位计数制及各计数制间的转换二进制数的运算带符号数的表示方法—原码、反码、补码BCD码和ASCII码二、微型计算机概述单片机及其发展概况单片机的结构及特点三、微型计算机系统组成及工作过程微型计算机功能部件微型计算机结构特点微型计算机软件微型计算机工作原理2.单片机硬件系统一、概述(一)单片机及单片机应用系统单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。
(二)MCS-51单片机系列二、MCS-51单片机结构和原理(一)单片机的内部组成及信号引脚组成:CPU、内部RAM、内部ROM、定时/计数器、并行I/O口、串行口、中断系统、时钟电路等。
(二)内部数据存储器1.寄存器区2.位寻址区3.用户RAM区4.特殊功能寄存器区(三)内部程序存储器三、并行输入/输出口电路结构组成结构:P0口、P1口、P2口、P3口四、时钟电路与复位电路常用晶体振荡器时钟电路(最大12MHz)、复位电路(RST引脚高电平产生复位)。
3.MCS-51单片机指令系统(重点)一、寻址方式包括:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。
二、指令系统共111条指令。
数据传送指令(29条)算术运算指令(24条)逻辑运算指令(24条)控制转移指令(17条)位操作指令(17条)三、常用伪指令包括:定位伪指令、定义字节伪指令、定义空间伪指令、定义符号伪指令、数据赋值伪指令、数据地址赋值伪指令、汇编结束伪指令。
4.MCS-51单片机汇编语言程序设计一、简单程序设计顺序控制程序。
编程前,要分配内存工作区及有关端口地址。
二、分支程序设计分支程序就是按照分支条件,判断程序流向,并执行。
1.两分支程序设计(单入口、两出口)2.三分支程序设计3.多分支程序设计(散转程序)三、循环程序设计1.单重循环程序设计2.双重循环程序设计(延时程序设计)3.数据传送程序4.循环程序结构(初始化、循环体、循环控制)四、查表程序(主要用于数码管显示子程序)表格是预先定义在程序的数据区中,然后和程序一起固化在ROM中的一串常数。
最新微型计算机原理及应用复习资料共20页

第一章1) [X]补= 0 0101110B正数真值为:+0101110B所以:X=+46D2) [X]补= 1 1010010B负数X = [[X]补]补= [11010010]补= - 0101110B所以:X = - 46D第四章中断分类:硬件中断和软件中断硬件中断分两类:一类叫非屏蔽中断,另一类叫可屏蔽中断。
.SS=3450H SP=1234h DI=0012H SI=1100H DS=3460H问堆栈栈顶物理地址和(DS:DI)物理地址?堆栈栈顶:SS+SP=3450X16H+1234h=34500H+1234h=35734H(DS:DI)物理地址:DS+SI=3460HX16H+1100H=34600H+1100H=35700H 书后P1081.8086系统中的物理地址是如何得到的?假如CS=2000H,IP=2100H其物理地址应该是多少?答:8086系统的物理地址是将段地址寄存器的内容左移四位(或乘16)加上偏移地址,即可得到20位的物理地址。
2000H左移4位为20000H,加上2100H为22100H,则物理地址为22100H。
2.什么是可屏蔽中断?什么是非屏蔽中断?答:可屏蔽中断是通过CPU的INTR引脚引入,当中断语序标志IF为1时,允许中断,当IF=0时,中断受到禁止。
不可屏蔽中断,不受IF标志的控制是由NMI引脚引入,如电源掉电。
3.什么是中断向量?中断向量表指的是什么?中断向量表放在什么地方?答:中断向量:是终端处理子程序的入口地址每个终端类型对应一个中断向量。
中断向量表:是指中断类型编码与中断向量的关系。
中断向量表位于存储器的最低部位地址为000H~3FFH共1K字节单元。
4.假如中断类型为8,它的中断服务入口地址是什么?段地址=8X4+2=34=0022H偏移地址=8X4=32=0020H中断类型8的中断服务程序的入口地址为0022H:0020H,物理地址为00240H。
“微机原理及应用”课程考试大纲(3)

“微机原理及应用”考试大纲适用于网络教育、成人教育学生一、考试目的掌握基本概念;进一步理解微机系统组成、结构及工作原理;理解指令并灵活运用指令编制程序;加深接口电路功能及接口设计方法的理解;具备编写汇编语言程序和设计接口电路的能力。
二、考试范围和考试重点第一章微机系统组成及工作原理1.1 计算机中的数值与编码系统1.1.1 计算机中数值的编码,要求掌握。
1.1.2 计算机中信息的编码表示,要求理解。
1.1.3 基本数据类型,要求掌握。
1.1.4 计算机的基本结构,要求掌握。
1.2 微型计算机基本工作原理1.2.1 指令与程序概述,要求了解。
1.2.2 指令类别,要求理解。
1.2.3 指令与程序的执行,要求掌握。
1.2.4 指令执行过程举例,要求掌握。
1.3 微型计算机的基本功能与先进技术1.3.1 顺序执行技术,要求理解。
1.3.2 微程序控制技术,要求了解。
1.3.3 流水线技术,要求理解。
1.3.4 高速缓冲存储器技术,要求理解。
1.3.5 虚拟存储器技术,要求理解。
1.3.6 乱序执行技术,要求了解。
1.3.7 CISC与RISC结构,要求了解。
1.4 现代微型计算机系统组成结构举例1.4.1 现代微型计算机系统组成结构,要求理解。
1.4.2 微型计算机的硬件系统,要求了解。
1.4.3 微型计算机的操作系统----Windows操作系统,要求了解。
第二章微处理器与系统结构2.1 微处理器的基本结构2.1.1 算术逻辑单元ALU,要求理解。
2.1.2 控制与定时部件——控制器,要求理解。
2.1.3 总线与总线缓冲器,要求理解。
2.1.4 寄存器阵列,要求掌握。
2.2 8086/8088微处理器2.2.1 8086/8088 CPU的功能结构,要求掌握。
2.2.2 8086/8088 CPU的寄存器结构,要求掌握。
2.2.3 8086/8088 CPU的引脚信号及功能,要求理解。
2.3 8086系统的组成,要求掌握。
《微机原理及其应用》复习重点

《微机原理及其应用》复习重点1.计算机基本原理:包括计算机的定义、基本组成部分、工作原理、运算方式等方面的内容。
了解计算机的基本原理是理解微机原理及其应用的基础。
2.微处理器结构与工作原理:重点学习微处理器的结构和工作原理,包括控制器、运算器、寄存器、数据通路等方面的内容。
掌握微处理器的结构和工作原理对于理解微机的运行机制非常重要。
3. 存储器:包括RAM、ROM、Cache等存储器的结构、工作原理和应用。
了解存储器的结构和工作原理,以及存储器的应用场景,对于理解计算机的存储机制非常重要。
4.输入输出设备:包括键盘、鼠标、显示器、打印机等输入输出设备的原理和应用。
了解输入输出设备的原理和工作方式,以及它们在计算机系统中的作用,对于理解计算机的输入输出过程非常重要。
5.总线结构与中断机制:了解总线的结构和工作原理,以及中断机制的原理和应用。
掌握总线结构和中断机制对于理解计算机的数据传输和处理过程非常重要。
6.操作系统:了解操作系统的基本原理和功能,包括进程管理、内存管理、文件系统等方面的内容。
掌握操作系统的基本原理和功能对于理解计算机系统的运行和管理非常重要。
7.程序设计:掌握汇编语言和高级语言的基本语法和编程技巧,能够进行简单的程序设计和调试。
熟练掌握编程技巧对于应用微机原理进行程序开发和调试非常重要。
8.微机应用:了解微机在各个领域的应用,包括科学计算、数据处理、嵌入式系统等方面的内容。
了解微机的应用场景和应用方法,对于实际应用微机原理非常重要。
在复习《微机原理及其应用》时,可以通过阅读教材、参考书籍、查阅资料等多种途径进行学习。
可以结合实际操作,通过搭建实验环境、进行实验操作,加深对微机原理和应用的理解和掌握。
除了对重点内容进行深入理解和掌握外,还应该进行习题练习和实践操作。
通过解答习题和进行实践操作,加深对微机原理及其应用的理解和应用能力。
最后,要进行系统性的复习和总结。
可以制定复习计划,按照计划进行复习,对每个重点内容进行总结和归纳,形成自己的复习笔记和思维导图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北工业大学微机原理及应用课程复习提纲(04机自_机电、04机自职适用)基本概念部分1 掌握二进制、十进制、十六进制转换的方法,了解BCD码、ASCII码2 微机的基本组成部分;CPU的基本组成;振荡周期、时钟周期、机器周期、指令周期的关系;3 51单片机的存储器结构;尤其是片内RAM的各功能块;了解片外数据存储器及程序程序存储器的访问方法以及在访问片外数据或程序存储器时单片机控制信号的实现;4 51单片机的端口配置,P0、P1、P2、P3的各自功能与区别;5 MCS-51单片机的中断系统,包括中断源、中断优先级、中断入口地址及中断的控制方法6 51单片机的串口控制方法;7 键盘的接口方式;8 DAC0832及ADC0809的功能;9 常用的存储器型号及其含义,存储器容量与其地址线根数的关系,B 与b的区别;10 寻址方式的理解;常用的寻址方式;程序设计部分1 掌握三种基本结构的程序设计;2 掌握定时器及中断的使用方法;3 掌握8155的控制方法及对其I/O口的操作方法3 掌握DAC832及ADC809的简单操作方法题型(不排除最终试题的题量及分值会有调整):一填空题(14小师,25分)二简答题(3小题24分)三程序阅读题(2小题,13分)四程序设计题(1小题,8分)五电路设计及地址计算题(1小题,10分)六综合题(2题,20分,主要是程序设计)51单片机汇编语言实用子程序(1)标号:BCDA功能:多字节BCD码加法入口条件:字节数在R7中,被加数在[R0]中,加数在[R1]中。
出口信息:和在[R0]中,最高位进位在CY中。
影响资源:PSW、A、R2 堆栈需求:2字节BCDA: MOV A,R7 ;取字节数至R2中MOV R2,AADD A,R0 ;初始化数据指针MOV R0,AMOV A,R2ADD A,R1MOV R1,ACLR CBCD1: DEC R0 ;调整数据指针DEC R1MOV A,@R0ADDC A,@R1 ;按字节相加DA A ;十进制调整MOV @R0,A ;和存回[R0]中DJNZ R2,BCD1 ;处理完所有字节RET(2)标号:BCDB功能:多字节BCD码减法入口条件:字节数在R7中,被减数在[R0]中,减数在[R1]中。
出口信息:差在[R0]中,最高位借位在CY中。
影响资源:PSW、A、R2、R3 堆栈需求:6字节BCDB: LCALL NEG1 ;减数[R1]十进制取补LCALL BCDA ;按多字节BCD码加法处理CPL C ;将补码加法的进位标志转换成借位标志MOV F0,C ;保护借位标志LCALL NEG1 ;恢复减数[R1]的原始值MOV C,F0 ;恢复借位标志RETNEG1: MOV A,R0 ;[R1]十进制取补子程序入口XCH A,R1 ;交换指针XCH A,R0LCALL NEG ;通过[R0]实现[R1]取补MOV A,R0XCH A,R1 ;换回指针XCH A,R0RET(3)标号:NEG功能:多字节BCD码取补入口条件:字节数在R7中,操作数在[R0]中。
出口信息:结果仍在[R0]中。
影响资源:PSW、A、R2、R3 堆栈需求:2字节NEG: MOV A,R7 ;取(字节数减一)至R2中DEC AMOV R2,AMOV A,R0 ;保护指针MOV R3,ANEG0: CLR CMOV A,#99HSUBB A,@R0 ;按字节十进制取补MOV @R0,A ;存回[R0]中INC R0 ;调整数据指针DJNZ R2,NEG0 ;处理完(R2)字节MOV A,#9AH ;最低字节单独取补SUBB A,@R0MOV @R0,AMOV A,R3 ;恢复指针MOV R0,ARET(4)标号:BRLN功能:多字节BCD码左移十进制一位(乘十)入口条件:字节数在R7中,操作数在[R0]中。
出口信息:结果仍在[R0]中,移出的十进制最高位在R3中。
影响资源:PSW、A、R2、R3 堆栈需求:2字节BRLN: MOV A,R7 ;取字节数至R2中MOV R2,AADD A,R0 ;初始化数据指针MOV R0,AMOV R3,#0 ;工作单元初始化BRL1: DEC R0 ;调整数据指针MOV A,@R0 ;取一字节SWAP A ;交换十进制高低位MOV @R0,A ;存回MOV A,R3 ;取低字节移出的十进制高位XCHD A,@R0 ;换出本字节的十进制高位MOV R3,A ;保存本字节的十进制高位DJNZ R2,BRL1 ;处理完所有字节RET(5)标号:MULD功能:双字节二进制无符号数乘法入口条件:被乘数在R2、R3中,乘数在R6、R7中。
出口信息:乘积在R2、R3、R4、R5中。
影响资源:PSW、A、B、R2~R7 堆栈需求:2字节MULD: MOV A,R3 ;计算R3乘R7MOV B,R7MUL ABMOV R4,B ;暂存部分积MOV R5,AMOV A,R3 ;计算R3乘R6MOV B,R6MUL ABADD A,R4 ;累加部分积MOV R4,ACLR AADDC A,BMOV R3,AMOV A,R2 ;计算R2乘R7MOV B,R7MUL ABADD A,R4 ;累加部分积MOV R4,AMOV A,R3ADDC A,BMOV R3,ACLR ARLC AXCH A,R2 ;计算R2乘R6MOV B,R6MUL ABADD A,R3 ;累加部分积MOV R3,AMOV A,R2ADDC A,BMOV R2,ARET(6)标号:MUL2功能:双字节二进制无符号数平方入口条件:待平方数在R2、R3中。
出口信息:结果在R2、R3、R4、R5中。
影响资源:PSW、A、B、R2~R5 堆栈需求:2字节MUL2: MOV A,R3 ;计算R3平方MOV B,AMUL ABMOV R4,B ;暂存部分积MOV R5,AMOV A,R2 ;计算R2平方MOV B,AMUL ABXCH A,R3 ;暂存部分积,并换出R2和R3XCH A,BXCH A,R2MUL AB ;计算2×R2×R3CLR CRLC AXCH A,BRLC AJNC MU20INC R2 ;累加溢出量MU20: XCH A,B ;累加部分积ADD A,R4MOV R4,AMOV A,R3ADDC A,BMOV R3,ACLR AADDC A,R2MOV R2,ARET(7)标号:DIVD功能:双字节二进制无符号数除法入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。
出口信息:OV=0 时,双字节商在R2、R3中,OV=1 时溢出。
影响资源:PSW、A、B、R1~R7 堆栈需求:2字节DIVD: CLR C ;比较被除数和除数MOV A,R3SUBB A,R7MOV A,R2SUBB A,R6JC DVD1SETB OV ;溢出RETDVD1: MOV B,#10H ;计算双字节商DVD2: CLR C ;部分商和余数同时左移一位MOV A,R5RLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AXCH A,R2RLC AXCH A,R2MOV F0,C ;保存溢出位CLR CSUBB A,R7 ;计算(R2R3-R6R7)MOV R1,AMOV A,R2SUBB A,R6ANL C,/F0 ;结果判断JC DVD3MOV R2,A ;够减,存放新的余数MOV A,R1MOV R3,AINC R5 ;商的低位置一DVD3: DJNZ B,DVD2 ;计算完十六位商(R4R5)MOV A,R4 ;将商移到R2R3中MOV R2,AMOV A,R5MOV R3,ACLR OV ;设立成功标志RET(8)标号:D457功能:双字节二进制无符号数除以单字节二进制数入口条件:被除数在R4、R5中,除数在R7中。
出口信息:OV=0 时,单字节商在R3中,OV=1 时溢出。
影响资源:PSW、A、R3~R7 堆栈需求:2字节D457: CLR CMOV A,R4SUBB A,R7JC DV50SETB OV ;商溢出RETDV50: MOV R6,#8 ;求平均值(R4R5/R7-→R3)DV51: MOV A,R5RLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV F0,CCLR CSUBB A,R7ANL C,/F0JC DV52MOV R4,ADV52: CPL CMOV A,R3RLC AMOV R3,ADJNZ R6,DV51MOV A,R4 ;四舍五入ADD A,R4JC DV53SUBB A,R7JC DV54DV53: INC R3DV54: CLR OVRET(9)标号:DV31功能:三字节二进制无符号数除以单字节二进制数入口条件:被除数在R3、R4、R5中,除数在R7中。
出口信息:OV=0 时,双字节商在R4、R5中,OV=1 时溢出。
影响资源:PSW、A、B、R2~R7 堆栈需求:2字节DV31: CLR CMOV A,R3SUBB A,R7JC DV30SETB OV ;商溢出RETDV30: MOV R2,#10H ;求R3R4R5/R7-→R4R5DM23: CLR CMOV A,R5RLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV F0,CCLR CSUBB A,R7ANL C,/F0JC DM24MOV R3,AINC R5DM24: DJNZ R2,DM23 MOV A,R3 ;四舍五入ADD A,R3JC DM25SUBB A,R7JC DM26DM25: INC R5MOV A,R5JNZ DM26INC R4DM26: CLR OVRET ;商在R4R5中(10)标号:MULS功能:双字节二进制有符号数乘法(补码)入口条件:被乘数在R2、R3中,乘数在R6、R7中。
出口信息:乘积在R2、R3、R4、R5中。
影响资源:PSW、A、B、R2~R7 堆栈需求:4字节MULS: MOV R4,#0 ;清零R4R5MOV R5,#0LCALL MDS ;计算结果的符号和两个操作数的绝对值LCALL MULD ;计算两个绝对值的乘积SJMP MDSE ;用补码表示结果。