版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章汇编语言与简单程序设计1汇编语言程序设计中的数计算机只能识别二进制数——机器指令,它原本是不认识常用的十六进制数和十进制数的。机器指令/目标代码:由0/1代码组成的操作码与操作数。十六进制数:便于读写记忆的二进制数的简写形式。(0~9,A~F后缀:H/h)BCD码:用二进制数表达的十进制数。(0~9表示为:0000~1001B后缀:B/b,H/h)二进制数:由0/1组成、“逢2进1”的数制。如:01011110B(0~1后缀:B/b)2汇编语言编程基本规则汇编语言:用助记符描述的指令的集合。√指令中以A—F开头的十六进制数前必须添一个“0”。√二进制数必须带后缀“B”或“b”;十六进制数必须带后缀“H”或“h”;十进制数的后缀是“D”或“d”或无.[标号:]操作码[目的操作数][,源操作数][;注释]汇编程序:汇编语言编写的程序借助编译工具编译成为目标代码,计算机才能识别。这个编译工具称为汇编程序。3汇编程序的常用伪指令ORGaddr16——ASM51程序中一定要写!规定编译后的机器代码存放的起始位置。END——ASM51程序中一定要写!表示翻译到此结束,其后的任何内容不予理睬。符号名称EQU表达式将表达式的值赋予符号名称。程序中凡出现该符号名称就等同于该表达式。$——“当前PC值”也叫位置计数器代表正在执行的指令所在位置。5符号名称BIT位地址将位地址的值赋予符号名称。程序中凡出现该符号名称就代表该位地址。DW双字节数据[或双字节数据组]将双字节数据[或双字节数据组]顺序存放在此后的存储单元中。占据相应存储空间。DB8位数据[或8位数据组]将8位数据[或8位数据组]顺序存放在此后的存储单元中。占相应数量的存储空间。6程序的顺序/分支/循环三种基本结构ORG2000HBCD2B:MOVA,R2;取入口数据ANLA,#0F0H;取出十位SWAPA;高4位低4位MOVB,#0AHMULAB;十位乘10MOVR3,A;积暂存进R3MOVA,R2;再取入口数据ANLA,#0FH;取出个位ADDA,R3MOVR2,A;结果R2RET;若不是子程序可用END
例:将R2中BCD码数转为二进制数存进R2(此子程序在下一例中还要用到)7例:将R5R4中的两字节BCD码数转为二进制数存于R5R4中X100千百十个二进制+Cy+(R5)(R4)(R5)(R4)(R6)(A)(R5)(A)二进制二进制二进制二进制二进制调BCD2B调BCD2B9ORG2000HVAREQU30H;定义缓存单元FUNCEQU31HBR1:MOVA,VAR;取出变量“X”JZCOMP;若=0,就赋0
JNBACC.7,POS1;判断=正?MOVA,#0FFH;(-1=+1取反加1)SJMPCOMP;输出-1POS1:MOVA,#01H;输出+1COMP:MOVFUNC,A;赋给函数“Y”HERE:AJMPHEREEND例3:1(X>0)0(X=0)–1(X<0)Y=10任务一:控制一盏灯点亮任务二:红灯周期性亮/灭任务三:红外防盗报警0RG0000HAJMPMAINORG0003HRLAACALLDELAYRETIMAIN:MOVA,#80HSETBEX0SETBEAWAIT:JBACC.0,JOB1JBACC.1,JOB2JBACC.2,JOB3AJMPWAITJOB1: CLRP1.0;亮红灯HERE:AJMPHEREJOB2:CPLP1.0;亮/灭ACALLDELAY;延时1秒AJMPJOB2;重复JOB3:CLRP1.1;亮绿灯REDO:SETBP1.3CHECK:JNBP1.3,CHECKLOOP:…………;报警! AJMPREDO;再检测11ORG1000HDL1S:MOVR7,#10DL1:MOVR6,#200DL2:MOVR5,#250DL3:DJNZR5,DL3DJNZR6,DL2DJNZR7,DL1RET例:软件循环延时1S(晶振12MHz)☆1Tm=1uS1S=1000000uS☆MOVRn#data是单机器周期指令☆DJNZRn,rel是双机器周期指令1+250x21+[(1+250x2)+2)]x2001+[(1+250x2+2)x200+2]x1013ORG2000HH2ASC:MOVA,R2;取待转换的数据(入口)ADDA,#0F6H;判此数是否≥10?
若≥10,则C=1;<10,则C=0MOVA,R2;重取待转换的数据JNCAD30H;小于10就跳去加30HADDA,#07H;≥10就先加7再去加30H
AD30H:ADDA,#30HMOVR2,A;存结果(出口)RET例:16进制数(00H—0FH)转ASCII码子程序算法:凡≥10的十六进制数加37H;凡<10的十六进制数加30H。(ASCII码表0~9→30H~39H,A~F→41H~46H
14TABL:DW050FH,0E89H,0A695H,1EAAH,0D9BH,7F93HDW0373H,26D7H,2710H,9E3FH,1A66H,22E3HDW1174H,16EFH,33E4H,6CA0H例:根据16个双字节数的序号查表找出对应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江宁波市鄞州区区属国企招聘财务会计人员10人备考题库及完整答案详解一套
- 2026建设社区卫生服务中心(嘉峪关市老年病医院)招聘7人备考题库(甘肃)附参考答案详解(巩固)
- 2026国宝人寿保险股份有限公司招聘6人备考题库带答案详解(a卷)
- 2026湖北工业大学院士助理招聘2人备考题库含答案详解(满分必刷)
- 2026广东广州市爱莎文华高中招聘备考题库含答案详解(考试直接用)
- 版新教材高中地理第四章自然地理实践的基本方法41自然地理野外实习方法课件中图版必修第一册
- 服装厂生产流程优化细则
- 某家具厂涂装工艺操作规程
- 2.3+汉族民歌+课件高中音乐人音版必修+音乐鉴赏
- 2026广东韶关市新丰县医共体招聘专业技术人员公30人告及参考答案详解(达标题)
- 2026贵州高速公路集团秋招面笔试题及答案
- 2026云南楚雄州南华县国有资本管理有限公司招聘13人备考题库及答案详解(新)
- 2026年及未来5年市场数据中国危废专业焚烧市场运行态势及行业发展前景预测报告
- 2026河南新乡南太行旅游有限公司招聘16岗49人笔试参考题库及答案解析
- 存货管理制度
- (16)普通高中体育与健康课程标准日常修订版(2017年版2025年修订)
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 化疗后神经毒性评估的调查问卷
- 危险化学品分类信息表(全)2828项
- 结肠镜单人操作
- 高考英语高频688词汇(核心版本)
评论
0/150
提交评论