第六章汇编语言程序设计
更新时间:2023-03-18 20:47:01 阅读量: 人文社科 文档下载
第六章汇编语言程序设计 汇编语言的基本知识
常用汇编程序设计方法
汇编语言的基本知识
汇编语言的基本知识
汇编语言的格式
–LABLE:OPCODE ,
汇编语言的构成
–指令性语句
–指示性语句:伪指令
程序设计流程OPRAND ;OMMENT
伪指令
ORG : ORG 2000H
END
EQU:AAA EQU 20H
–MOV A,20H (MOV A,AAA)
DATA (可前可后)
DB 、DW
BIT :A1 BIT 00H(MOV C,A1)
程序设计流程
明确要求和要达到的目的确定解决问题的计算方法和步骤画出流程图分配内存地址按流程图编写程序上机汇编、调试、修改及最后确定源程序
$2 简单程序(顺序结构) 大量使用数据传送类指令
注意正确选择指令以提高效率
编程将20单元内的两个BCD熟变换成ACSII码放在20H, 21H单元内(EX2.ASM)
将20H单元内两个BCD码变换成相应
的ASCII码放在21H:22H中
Org 0hLjmp 2000hORG 2000HMOV R0,#22HMOV @R0,#00MOV A,20HXCHD A,@R0ORL 22H,#30HSWAP AORL A,#30HMOV 21H,ASJMP $END MOV A,20HMOV B,#10HDIV ABORL B,#30HMOV 22H,BORL A,#30HMOV 21H,ASJMP $END ;15BYTE 14T
求16位二进制补码的绝对值MOV A,20H
CPL A
ADD A,#01H ;INC A
MOV 20H,A
MOV A,21H
CPL A
ADDC A,#0
ANL A,#7FH
MOV 21H,A
SJMP $
$6.3 分支程序
根据程序要求无条件或有条件改变程序执行执行的顺序,选择程序的流向. 特点:程序中含有转移类指令 关键:正确选用转移指令
正确运用转移指令
无条件分支程序
–程序设计者事先设计好的
–LJMP、AJMP 、SJMP
有条件分支程序
–根据已经执行的程序对标志位、ACC或内部RAM的某些位的影响结果决定程序的流向–JZ/JNZ、CJNE、DJNZ、位控制转移类指令
注意
使用条件转移指令形成分支前一定安排可供条件转移指令进行判别的条件。–JC LOOP
正确选定所用的转移条件及转移目标地址
$循环程序
循环初始化
–循环次数计数器,工作寄存器设初值等 循环体
–尽量简练;注意地址指针的修改 循环控制
–检查结束条件,及时退出循环
注意循环嵌套
允许外重循环嵌套内重循环
循环体不能交叉
不能从循环程序外部跳入循环程序内部
例
例:200名学生参加考试,成绩放在8031的外部RAM的一个连续存储单元,95~100分颁发A级证书,90~94分颁发B级证书,编一程序,统计获A、B级证书的人数。将结果存入内部RAM的两个单元。
注意地址指针的分配
ORG 0030H
EG XDATA 1000H
GA DATA20H
GBDATA 21H
MOV GA,#00
MOV GB,#00
MOV DPTR,#EG
MOV R2,#200
LOOP:MOVX A
@DPTR
CJNE A,#95, LOOP1 LOOP1: JNC NEXT1 CJNE A,#90,LOOP2LOOP2: JC NEXTINC GBSJMP NEXTNEXT1: INC GANEXT: INC DPTR DJNZ R2,LOOP SJMP $END ,
数据排序
常用气泡法(两两比较法)它先使E100和E99进行比较,若E100>E99,则两数交换,否则不动,然后E99和E98进行比较,按同样的原则,决定是否交换,一直比较下去,最后完成E2和E1的比较及交换。经过N-1次比较后,E1位置必然得到数组中的最大值。犹如一个气泡冒到水顶。如此下去,经过N-1次便完成N个数据的排序。
例:100个数据,从小到大进行排
序
MOV R2,#100
BUB:MOV R0,#20H
CLR F0
DEC R2
BL:CJNE R2,#0,BB
MOV 7F,R2
MOV 20H,@R0
MOV A,@R0
INC R0
MOV 21H,@R0 CJNE A,21H,LOPLOP: JC BMOV @R0,20HDEC R0 MOV @R0,21HINC R0SETB F0B:DJNZ 7FH,BLJB F0,BUBBB:SJMP $
$查表程序的设计
主要用于:复杂代码转换显示数据补偿:传感器补偿复杂函数计算: Y=SIN(X)
查表指令
在51中有两条查表指令:MOVC A,@A+DPTR
使用 MOVC A,@A+PC须注意:
1. 使用传送指令将数据表格项数送入ACC
2. ADD A,#DATA指令对A进行修改:PC+DATA=表格首地址
3. MOVC A,@A+PC 完成查表.
例1 ADD A,#01H
MOVC A,@A+PC
RET
DB
00,01,04,09,10H,19H,24H,31H,30H,51H…
例2 设一巡回报警系统,对16路输入进行控制,现根据测量路数,找出每
路的最大允许值.若大于允许值就报警.
TB3:
TAB3:DW 1520,3721,4256 ; MOV A,R2ADD A,R2MOV R3,AADD A,#6MOVC A,@A+PCXCH A,R3ADD A,#3MOVC A,@A+PCMOV R4,ARET256 表格最大长度
正在阅读:
第六章汇编语言程序设计03-18
海门卷06-05
A Solution to Symmetric Teleparallel Gravity07-22
RCS-985附录AB整定计算03-30
公益活动策划方案5篇04-20
网络工程师教程第九章05-23
友联PXUT-350+操作手册01-11
- 粮油储藏基础知识
- 论文范文(包括统一封面和内容的格式)
- 经典解题方法
- 综合部后勤办公用品管理办法+领用表
- 学生宿舍突发事件应急预案
- 16秋浙大《生理学及病理生理学》在线作业
- 四分比丘尼戒本(诵戒专用)
- 浙江财经大学高财题库第一章习题
- 九大员岗位职责(项目经理、技术负责人、施工员、安全员、质检员、资料员、材料员、造价员、机管员)
- 旅游财务管理习题(学生版)
- 德阳外国语高二秋期入学考试题
- 投资学 精要版 第九版 第11章 期权市场
- 控制性详细规划城市设计认识
- bl03海运提单3国际贸易答案
- 2010-2011学年湖北省武汉市武珞路中学七年级(上)期中数学试卷
- VB程序填空改错设计题库全
- 教师心理健康案例分析 - 年轻班主任的心理困惑
- 民间借贷司法解释溯及力是否适用?
- 三联书店推荐的100本好书
- 《化工原理》(第三版)复习思考题及解答
- 汇编语言
- 程序设计
- 致客户产品调价通知函1
- 运动会比赛时间表
- 高二畜禽营养与饲料期终试卷
- 怎样约出女孩子_泡妞宝典
- 2014年中考政治真题,按知识点分类汇编,全面建设小康社会,(选择题)
- (2013歧山小学教学管理经验交流材料
- 人教版数学六年级下册第三单元:《圆柱的认识》教学设计及反思
- 穴位与健康
- 应急物资管理制度
- TUV 灯具安规知识
- 最新焊接材料标准目录
- 家族企业的优缺点和发展策略01
- 广州电信大厦中央空调系统冷水机组运行负荷率分析
- 我的“法宝”
- 紧固件知识的交流学习
- 5 生殖系统
- 7.5 用力法计算超静定结构在支座移动和温度变化时的内力
- 2015-2020年中国聚光灯泡市场调研及投资决策研究报告
- 物业管理人员的定岗定编标准
- 1.0-YH_风电机组结构有限元分析概述__风电_ANSYS_FEA