指令系统和汇编语言程序的设计实验

合集下载

8086指令系统及汇编语言程序设计

8086指令系统及汇编语言程序设计

8086指令系统及汇编语言程序设计8086指令系统是指Intel 8086微处理器所支持的一套机器指令。

8086微处理器是Intel于1978年推出的一款16位微处理器,其指令系统设计清晰简洁,具有良好的可编程性和灵活性。

汇编语言程序设计则是使用汇编语言编写程序,通过汇编器将汇编语言转化为可执行文件的过程。

8086指令系统共有十六个16位的通用寄存器,包括AX、BX、CX和DX四个通用寄存器,在实模式下这些寄存器也可以拆分为两个8位的寄存器AH、AL、BH、BL、CH、CL、DH和DL。

另外,还有SP、BP、SI和DI四个指针寄存器,以及CS、DS、ES和SS四个段寄存器等。

这些寄存器提供了程序在内存中存储和访问数据的能力。

8086指令系统中的指令可以分为数据传输指令、算术指令、逻辑指令和控制指令等几个类别。

数据传输指令可以将数据从寄存器传输到寄存器、从存储器传输到寄存器,或者从寄存器传输到存储器等。

算术指令包括加法、减法、乘法、除法等运算指令。

逻辑指令可以执行与、或、非、异或等逻辑运算。

控制指令可以控制程序的执行流程,例如条件跳转、循环等。

汇编语言程序设计是通过使用汇编语言编写程序来实现特定功能。

汇编语言程序由一系列指令组成,每条指令由操作码和操作数组成。

操作码表示需要执行的操作,操作数则是参与操作的数据。

编写汇编语言程序需要熟悉8086指令系统的指令格式和功能,以及寄存器的使用方法。

汇编语言程序设计的开发流程包括分析问题、编写算法、编写程序、汇编和调试等步骤。

在开始编写程序之前,需要先分析问题,并根据问题需求设计算法。

然后根据算法编写汇编语言程序,并通过汇编器将其转化为机器码。

最后,通过调试工具进行程序的调试和测试,确保程序的正确性和可靠性。

总之,8086指令系统及汇编语言程序设计是一门用于编写底层程序的技术。

通过学习和掌握8086指令系统和汇编语言程序设计,可以编写高效、优化的程序,并深入了解计算机系统的底层运行原理。

实验二用机器指令和汇编指令编程实验总结

实验二用机器指令和汇编指令编程实验总结

实验二用机器指令和汇编指令编程实验总结下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!实验二用机器指令和汇编指令编程实验总结1. 引言在本实验中,我们学习了使用机器指令和汇编指令编程的基本概念和技能。

第5章 指令与指令系统和汇编语言程序设计(2)

第5章 指令与指令系统和汇编语言程序设计(2)

运行过程中,可以直接看到屏幕上显示的内容,运行过后,再用D 20F0命令看内存的20F0区域中保存的运行结果,6个大写的英文字母 已经被修改为小写字母: 0061 0062 0063 0064 0065 0066
汇编语言程序设计
1 将寄存器R2和R3的内容相加,结果存入R0。 2 将寄存器R2和R3的内容相加,如果有进位,寄存器R0的内 容置1,否则置0 3 若R1的内容是负数则置R0为-1,否则置0(提示:用TEST) 4 检测R3的是奇数,R0的内容置为1,否则置为0。(提示: 用移位检测C的方法来测量一位) 5 将内存中1000H起始的10个单元的内容取出加2送入原地址。 6 已知内存中1000H起始的10个单元中的数是ASC码,将其取 出送显示。 7 将键盘录入的数存到内存1000H单元中。 8 将键盘录入的10个数存到内存1000H-1009H。
有寄存器寻址,寄存器间接寻址等7种。
从表5.1中可以看出, (A组) INC DR 单操作数(DR的内容加1) (B组) LDRR DR,[SR] 双操作数 (DR [SR])
(4)从指令的功能区分
有运算、读写内存类指令,输入输出指令,转移 指令,子程序调用指令,置进位标志指令等。
从表5.1中可以看出, (A组) ADD DR ,SR 加运算 (B组) LDRR DR,[SR] 读写内存
41 42 43 44 45 46
A 2080
MVRD R3, 0006 ;指定被读数据的个数
MVRD R2, 20F0 ;指定被读、写数据内存区首地址
(2084) LDRR R0, [R2]
;读内存中的一个字符到R0寄存器
CALA 2100 ;调用子程序(入口地址为2100),完成显示、

第三章MCS51单片机的指令系统和汇编语言程序示例(第5范文

第三章MCS51单片机的指令系统和汇编语言程序示例(第5范文

第三章MCS51单片机的指令系统和汇编语言程序示例(第5、6、7节)1.试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?(1)MOV A,#19HADD A,#66H(2)MOV A,#5AHADD A,#6BH2.已知:A=85H,R0=30H,(30H)=11H, (31H)=0FFH,C=1,试计算单片机执行下列指令后累加器A和C中的值各是多少?(1)ADDC A,R0, (2)ADDC A,31H(3) ADDC A,@R0, (4) ADDC A,#85H3.已知M1和M2中分别存放两个16位无符号数的低8位,M1+1和M2+1中分别存放两个16位无符号数的高8位,计算两数之和(低8位存放在M1,高8位存放在M1+1,设两数之和不超过16位)。

4.试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?CLR CMOV A,#52HSUBB A,#0B4H5.已知:A=0DFH,R1=40H,R7=19H,(30H)=00H,(40H)=0FFH,试分析单片机执行下列指令后累加器A和PSW中各标志位的变化状况?(1) DEC A (2) DEC R7 (3) DEC 30H (4) DEC @R16.试写出能完成85+59的BCD加法程序,并对工作过程进行分析。

7.已知:两个8位无符号乘数分别放在30H和31H单元中,编程实现他们乘积的低8位存放在32H,高8位存放在33H。

8.已知:R0=30H,(30H)=0AAH,试分析执行下列指令后累加器A和30H单元的内容是什么?(1)MOV A, #0FFH ANL A, R0(2)MOV A, #0FH ANL A, 30H(3)MOV A, #0F0H ANL A, @R0(4)MOV A, #80H ANL 30H, A9.设:A=0AAH和P1=0FFH,试编程把累加器A的低四位送入P1口的低四位,P1口的高四位保持不变。

微机原理的实验报告

微机原理的实验报告

一、实验目的1. 理解微机的基本组成和各部件的功能;2. 掌握微机的工作原理和指令系统;3. 熟悉汇编语言程序设计的基本方法;4. 提高动手能力和实际操作技能。

二、实验内容1. 微机系统组成实验(1)实验目的:了解微机的基本组成和各部件的功能。

(2)实验内容:观察并记录微机系统的各个部件,如CPU、内存、硬盘、主板等,并了解它们的功能。

(3)实验步骤:①观察微机系统各个部件的连接情况;②了解各个部件的功能和作用;③分析微机系统的整体结构。

2. 微机工作原理实验(1)实验目的:掌握微机的工作原理。

(2)实验内容:观察并记录微机工作过程中的各个阶段,如指令的取指、译码、执行等。

(3)实验步骤:①观察微机工作过程中的各个阶段;②了解各个阶段的功能和作用;③分析微机工作原理。

3. 指令系统实验(1)实验目的:熟悉汇编语言指令系统。

(2)实验内容:学习汇编语言的基本指令,如数据传送指令、算术运算指令、逻辑运算指令等。

(3)实验步骤:①学习汇编语言的基本指令;②编写简单的汇编语言程序,实现数据传送、算术运算、逻辑运算等功能;③调试程序,观察程序运行结果。

4. 汇编语言程序设计实验(1)实验目的:提高汇编语言程序设计能力。

(2)实验内容:编写一个汇编语言程序,实现以下功能:①计算两个数的和;②判断一个数是否为偶数;③输出程序运行结果。

(3)实验步骤:①编写汇编语言程序,实现上述功能;②调试程序,观察程序运行结果;③分析程序运行过程,确保程序正确性。

三、实验结果与分析1. 微机系统组成实验:通过观察和记录微机系统的各个部件,了解了微机的基本组成和各部件的功能。

2. 微机工作原理实验:通过观察微机工作过程中的各个阶段,掌握了微机的工作原理。

3. 指令系统实验:通过学习汇编语言的基本指令,熟悉了汇编语言指令系统。

4. 汇编语言程序设计实验:通过编写汇编语言程序,提高了汇编语言程序设计能力。

四、实验心得通过本次微机原理实验,我对微机的基本组成、工作原理和指令系统有了更深入的了解。

大学课件MCS51单片机指令系统与汇编语言程序设计

大学课件MCS51单片机指令系统与汇编语言程序设计

ANL C, P ; (C)← (C)∧(P)
其中:P是PSW的第0位,C是PSW的第7位。
(4)字节符号地址(字节名称)加位序号的形式。对于部分特 殊功能寄存器(如状态标志寄存器PSW),还可以用其字节名 称加位序号形式来访问某一位。AC 如:
定义:操作数存放在MCS-51内部的某个工作寄存器Rn (R0~R7)或部分专用寄存器中,这种寻址方式称为 寄存器寻址。
特点:由指令指出某一个寄存器的内容作为操作数。 存放操作数的寄存器在指令代码中不占据单独的一个 字节,而是嵌入(隐含)到操作码字节中。
寻址范围:四组通用寄存器Rn(R0~R7)、部分专用 寄存器( A, B, DPTR, Cy )。
伪指令只出现在汇编前的源程序中,仅提供汇编用的某些控制 信息,不产生可执行的目标代码,是CPU不能执行的指令。
(1)定位伪指令ORG
格式:ORG n
其中:n通常为绝对地址,可以是十六进制数、标号或表达式。
功能:规定编译后的机器代码存放的起始位置。在一个汇编 语言源程序中允许存在多条定位伪指令,但每一个n值都应和前
2.2.2 直接寻址
定义:将操作数的地址直接存放在指令中,这种寻址方式称为 直接寻址。 特点:指令中含有操作数的地址。该地址指出了参与操作的数 据所在的字节单元地址或位地址。计算机执行它们时便可根据 直接地址找到所需要的操作数。
寻址范围:ROM、片内RAM区、SFR和位地址空间。P42
2.2.3 寄存器寻址
定义:指令中给出的操作数是一个可单独寻址的位地址,这种寻址 方式称为位寻址方式。
特点:位寻址是直接寻址方式的一种,其特点是对8位二进制数中 的某一位的地址进行操作。
寻址范围:片内RAM低128B中位寻址区、部分SFR(其中有83位 可以位寻址)。

汇编语言程序设计实验指导

汇编语言程序设计实验指导

汇编语言程序设计实验指导【实验提要】以下列举的10个实验,都是以Intel的8086及后续系列微处理器的指令系统为核心,采用宏汇编工具MASM6. X以及调试工具DEBUG或DEBUG32,针对本教材所述内容进行相关的上机实践。

旨在帮助学生加深认识和理解理论教学知识,通过大量的上机实验熟悉8086 CPU的指令功能、用途和使用技巧,进而提高汇编语言程序设计的能力。

(带*号的为选作内容)实验一调试工具DEBUG的应用实验目的通过实验掌握下列知识:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG的功能;2、DEBUG命令: A,D,E,F,H,R,T,U的使用;3、BCD码、ASCII码及用十六进制数表示二进制码的方法;4、寄存器: AX,BX,CX,DX,FLAGS,IP。

内容及步骤注:本次实验可以参照教材上关于DEBUG的叙述内容进行。

一、DEBUG 命令使用1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DEBUG, 进入调试环境,显示提示符 '- '。

2、用命令 F 200 220 'AB' 将'AB'的两个ASCII码循环填入内存。

注:第一个参数200是当前段的起始偏移地址,第二个参数220是终了偏移地址,第三个参数‘AB’是被填入的数值,若不给出第二个参数则填入128(8行)个字节。

3、用命令 D200 观察内存中的十六进制码及屏幕右边的ASCII字符。

4、用命令 F230 23F 12 重复上二项实验,观察结果并比较。

5、用命令 E200 41 42 43 44 45将A-E的ASCII码写入地址为200开始的内存单元中,再用D命令观察结果,看键入的十六进制数和ASCII码的对应关系。

6、用H命令检查下列各组十六进制数的和与差(补码表示):(1)56H,34H (2)23H,45H (3)AB,3045H注:输入 H 12 34 则在下一行显示0046 FFDE,即二者的补码和与差。

第3章 8086指令系统及汇编语言程序设计

第3章 8086指令系统及汇编语言程序设计

图3-7 立即数寻址
第3章 8086指令系统及汇编语言程序设计
注意: (2)寄存器寻址方式 ● 寄存器寻址方式的指令操作在CPU 定义:操作数放在寄存器内,由指令直接给出某个 内部执行,不需要执行总线周期,执行速 寄存器的名字,以寄存器的内容作为操作数。寄存器可以 度快。 是16位的 AX、BX、CX、DX、SI、DI、SP、BP寄存器, ● 寄存器寻址方式既适用于指令的源 也可以是8位的 AH、AL、BH、BL、CH、CL、DH、DL 寄存器。 操作数,也适用于目的操作数,并且可同 时用于源操作数和目的操作数。 【例3-2】 MOV AX,CX ;(AX)←(CX) INC AL ;(AL)←(AL)+1 指令执行结果如图3-8 所示
图3-8 寄存器寻址
第3章 8086指令系统及汇编语言程序设计
(3)直接寻址方式 定义:操作数在存储器中,指令中直接给出操作数所在存 注意: 储单元的有效地址。有效地址( EA)也称为偏移地址,它代表 ●直接寻址方式的操作数所在存储单元的段地址一 操作数所在存储单元距离段首址的字节数。有效地址是一个无 般在数据段寄存器DS中。 符号的16位二进制数。 ●如果操作数在其他段,则需要在指令中用段超越 【例3-3】 前缀指出相应的段寄存器名。 ● VALUE是一种符号表示法,此内容将在伪指令中 MOV AH, [1234H ] ;将DS段中1234H单元的内容送给AH 给予讲解。 MOV AH ,VALUE ;将DS段中VALUE单元的内容送给AH ●在实地址方式下,物理地址=16*段地址(DS) MOV AX, [2100H] ;将DS段中2100H单元的内容送给AL, +偏移地址(EA) 2101H单元的内容送给AH MOV BX,ES:【2000H】 ;段超越,操作数在附加段。即 物理地址=(ES)*16+2000H
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章指令系统和汇编语言程序设计实验本章实验主要包括指令系统和汇编语言程序设计两部分。

采用软件模拟调试的方法, 目的在于通过这些实验可以使学生巩固所学知识, 加深对 MCS-51单片机部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。

第一节指令系统实验实验一熟悉键盘操作及数传指令编程设计一、实验目的1.熟悉软件模拟调试的环境及键盘操作。

2.掌握汇编语言程序设计的方法,加深对指令的理解。

3.学会软件模拟调试和察看修改观察项的方法。

二、实验容印证数据传送指令的功能、寻址方式以及 PC 指针、 SP 指针、 DPTR 指针、Ri 指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。

三、实验步骤1.进入调试软件环境,输入源程序;2.汇编源程序;3.用单步方式运行程序;4.检查并记录各寄存器和存储单元容的变化。

四、程序清单1. 部 RAM 数据传送需要查看的数据有 30H,31H,A,R0等。

ORG 0000HMOV R0,#30HMOV 30H,#45HMOV 31H,#46HMOV R2,30HMOV 02H,31HMOV A,#87HMOV 0E0H,30HMOV 30H,AMOV 31H,R0SJMP $END2. 外部数据传送需要查看的数据有外部数据存储器单元 2000H ,外部程序存储器单元2001H 。

ORG 0000HMOV A,#89HMOV DPTR,#2000HMOVX DPTR,AINC DPTRCLR AMOVC A,A+DPTRSJMP $ORG 2000HDB 44HDB 78HDB 67HEND3. 堆栈操作需要查看的数据有 50H 、 51H 、 A 及 SP 指针和堆栈区中数据随 PUSH 和POP 指令执行后的变化情况和数据的存放次序等。

1 可用于保护现场和恢复现场的程序ORG 0000HMOV SP,#5FHMOV 50H,#3BHMOV 51H,#2FHMOV A,#12HPUSH 50HPUSH 51HPUSH ACCPOP 0E0HPOP 51HPOP 50HSJMP $END2可用于数据交换的程序ORG 0100HMOV SP,#6FHMOV 50H,#3BHMOV 51H,#2FHPUSH 50HPUSH 51HPOP 50HPOP 51HSJMP $END4. 数据交换记录每条指令运行后的结果,从而加深对各种不同的交换指令的理解。

ORG 0000HMOV A,#58HSWAP AMOV 40H,AMOV A,#30HMOV R0,#30HMOV R0,#09HXCHD A,R0MOV 50H,#1MOV A,#89HXCH A,50HMOV R7,#3XCH A,R7XCH A,R0SJMP $END五、思考题1.寄存器寻址与寄存器间接寻址有什么区别?2. PC 指针与 SP 指针有什么区别?3. DPTR 指针与 Ri (R0, R1指针有什么区别?4.立即寻址与直接寻址有什么区别?4. 同一个特殊功能寄存器不同表达形式。

实验二数传指令和算数运算指令编程设计一、实验目的1.掌握数据块的传送操作和算术运算指令的应用。

2.进一步掌握汇编语言设计和调试方法。

3.掌握观察窗口的使用方法。

4.学会给存储单元赋初值的方法。

二、实验容1. 数据区传送(1把部 RAM 40H~4FH 置初值 0A0H ~0AFH ;(2而后把 40H ~4FH 容传送到外部 RAM 9800H~980FH 中; (3再把 9800~980FH 容传送到 50H~5FH 中。

2.多字节十进制加法加数放在 30H 开始的单元中(最低位放在 30H ,按从小到大的顺序存放 ,被加数和结果存放在 20H 开始的单元(最低位在 20H 中 ,字节数放在 2FH 中,最高进位位放在 7FH 中的最低位。

三、实验步骤1.分别用单步和连续运行方式,调试上述两个程序;2.在执行第二个程序之前,给被加数和加数单元赋初值;3.在观察窗口中观察结果。

四、实验程序清单1. 数据块传送程序:ORG 0000HMAIN: MOV R0, #40HMOV R2, #10HMOV A, #0A0HA1: MOV R0, AINC R0INC ADJNZ R2, A1MOV R0, #40HMOV DPTR, #9800HMOV R2, #10HA2: MOV A, R0MOVX DPTR, AINC R0INC DPTRDJNZ R2, A2MOV R0, #50HMOV DPTR, #9800H MOV R2, #10HA3: MOVX A, DPTR MOV R0, AINC DPTRINC R0DJNZ R2, A3SJMP $END2. 多字节十进制加法: ORG 0000HMAIN: MOV R0, #30HMOV R1, #20HMOV 2FH,#04HCLR CDA1: MOV A,R0ADDC A, R1DA AMOV R1, AINC R0INC R1DJNZ 2FH, DA1MOV 7FH, CSJMP $END五、思考题1.若两个数据块都在外部数据存储器中,如何实现数据块的传送?2.在调试第一个程序时,若不用程序给 40H ~4FH 赋初值,而用键盘在 CPU DATA 区给 40H ~4FH 单元预赋初值,如何做?3.若把第二个程序改为无符号数的减法,怎样修改程序?4.在第二个程序中,若两数的和存放到从 40H 开始的单元,如何修改程序?实验三逻辑运算及位操作指令编程设计一、实验目的(1熟悉字节逻辑运算指令功能。

(2熟悉位操作指令运算功能。

(3从而更深入的掌握汇编语言程序设计。

(4学会观察 CPU 窗口中 BIT 区的变化。

二、实验容1. 字节逻辑运算程序在片 RAM 的 FIRST 和 SECOND 单元中各有一符号数 X 和 Y, 要求按下列条件算出 Z , 存入 RESULT 单元中 (设运算结果仍为 8位数。

FIRST EQU 30HSECOND EQU 31HRESULT EQU 32HORG 0000HSTART:MOV R0, FIRSTMOV A, R0ACC.7, NEGMOV B, #2DIV ABMOV A, BJZ TEMP1MOV A,R0ADD A, SECOND SJMP RESTEMP1: MOV A, R0 ANL A, SECOND SJMP RESNEG: CPL ACC.7 MOV B, #2DIV ABMOV A, BJZ TEMP2MOV A, R0ORL A, SECOND SJMP RESTEMP2: MOV A, R0 XRL A, SECONDRES: MOV RESULT, A SJMP $ENDZ=2.位操作程序布尔电路图如下:X BIT 00HY BIT 01HZ BIT 02HF BIT 03HORG 0000H START: MOV C, ZANL C, /YMOV F, CMOV C, YANL C, /ZORL C, FMOV F, CMOV C, XANL C, YORL C, /FMOV F, CSJMP $END3.拆字程序把外部数据存储器 2000H 单元的容拆开, 其高四位送 2001H 低四位, 低四位送 2002H 低四位, 2001H 、 2002H 高四位清零。

需要检查 2000H 、 2001H 和2002H 单元的容。

程序清单ORG 0000HMOV DPTR,#2000HMOVX A,DPTR MOV B,A SWAP AANL A,#0FH INC DPTR MOVX DPTR,A INC DPTR MOV A,B ANL A,#0FH MOVX DPTR,A SJMP $END程序框图4.拼字程序把外部数据存储器 2000H 、 2001H 单元的低四位分别送 2002H 高低四位。

需要察看 2000H 、 2001H 和 2002H程序清单ORG 0000HMOV DPTR,#2000HMOVX A,DPTRANL A,#0FHSWAP AMOV B,AINC DPTRMOVX A,DPTRANL A,#0FHORL A,BINC DPTRMOVX DPTR,ASJMP $END5.自选程序设计三、思考题1.字节与位逻辑运算指令在编程上什么区别?应注意什么?2.若把两位十六进制数转换成对应的 ASCII 码,应如何编写程序?3.采用其它方法设计第一个程序。

4.如何用断点方式调试本程序?实验四代码转换一、实验目的1.掌握各种代码转换的算法,加深对各种数据编码的理解。

2.学会软件模拟调试和察看修改观察项的方法来观察转换结果。

三、实验容1.分析清楚个程序的功能。

2.调试各种代码转换的程序。

三、实验步骤1.进入调试软件环境,输入源程序;2.汇编源程序;3.用单步或全速方式运行程序;4.查看最终结果。

四、程序清单1码将十六进制数据 08H , 0CH 转换成 ASCII 码, 转换结果存入 30H , 31H 两个单元中,再将 30H , 31H 两个单元中的数据分别增 1,然后转换成十六进制数存入40H , 41H 两个单元中。

ORG 0000HMOV SP,#2FHMOV A,#08HADD A,#30HPUSH ACCMOV A,#0CHADD A,#37HPUSH ACCMOV A,30HINC ACLR CSUBB A,#30HMOV 40H,APOP ACCINC ASUBB A,#37HMOV 41H,APOP ACCSJMP $END2码将二进制数 10011011B 转换成 BCD 码数,存入 30H 和 31H 单元中;再将 30H 单元中的数据加 16H 后,转换成二进制数据 , 存入 40H 单元中。

ORG 0000HMOV A,#10011011BMOV B,#100DIV ABMOV 30H,AMOV A,BMOV B,#10DIV ABSWAP AORL A,BMOV 31H,AMOV A,30HADD A,#16HDA A PUSH ACC ANL A,#00001111B MOV 40H,A POP ACC ANL A,#11110000B SWAP A MOV B,#10 MUL AB ADD A,40H MOV 40H,A SJMP $ END 3.BCD 码 ASCII 码将 20H 单元中压缩的 BCD 码数 78H 转换成 ASCII 码,转换结果存入 30H,31H 两个单元中,再将 30H,31H 两个单元中的数据分别增 1,然后转换成压缩BCD 码数存入 21H 单元中。

相关文档
最新文档