汇编语言程序设计知识.pptx
《汇编语言程序设计知识.pptx》由会员分享,可在线阅读,更多相关《汇编语言程序设计知识.pptx(55页珍藏版)》请在咨信网上搜索。
1、第四章 汇编语言程序设计及知识4.1 4.1 编程的步骤编程的步骤4.2 4.2 伪指令伪指令4.3 4.3 编程的方法和技巧编程的方法和技巧4.4 4.4 汇编语言程序的基本结构汇编语言程序的基本结构4.1 编程的步骤1、分析问题、分析问题 对需要解决的问题进行分析,以求对问题有对需要解决的问题进行分析,以求对问题有正确的理解。正确的理解。解决问题的任务是什么?解决问题的任务是什么?工作过程?工作过程?现有的条件,已知数据,对运算的精度和速现有的条件,已知数据,对运算的精度和速 度方面的要求?度方面的要求?设计的硬件结构是否方便编程?设计的硬件结构是否方便编程?4.1 编程的步骤2、确定算法
2、、确定算法 算法是如何将实际问题转化成程序模块来处理。算法是如何将实际问题转化成程序模块来处理。在编程以前,先要对几种不同的算法进行分在编程以前,先要对几种不同的算法进行分 析、比较,找出最适宜的算法。析、比较,找出最适宜的算法。4.1 编程的步骤3、画程序流程图、画程序流程图 程序流程图是使用各种程序流程图是使用各种图形图形、符号符号、有向线段有向线段等来说明程序等来说明程序 设计过程的一种直观的表示。设计过程的一种直观的表示。画流程图是程序结构设计是采用的一种重要手段。画流程图是程序结构设计是采用的一种重要手段。流程图步骤分得越细致,编写程序是也越方便。流程图步骤分得越细致,编写程序是也越
3、方便。一个系统软件有总的流程图(主程序框图)和局部的流程图。一个系统软件有总的流程图(主程序框图)和局部的流程图。流程图常采用的图形和符号。流程图常采用的图形和符号。椭圆框椭圆框或桶形框或桶形框:表示程序的开始或结束。:表示程序的开始或结束。矩形框矩形框:表示要进行的工作。:表示要进行的工作。菱形框菱形框:表示要判断的事情,菱形框内的:表示要判断的事情,菱形框内的 表达式表示要判断的内容。表达式表示要判断的内容。圆圈圆圈:表示连接点:表示连接点指向线指向线:表示程序的流向:表示程序的流向流程图常采用的图形和符号流程图常采用的图形和符号开始开始将学生成绩存入将学生成绩存入累加器累加器A中中比较比
4、较(A)与与#60的大小的大小(A)=#60?增加增加R1的值的值打印学生成绩打印学生成绩(A)#60?增加增加R2的值的值结束结束YESYESNONO4.1 编程的步骤4、编写程序、编写程序n用用89C51汇编语言编写的源程序行(一条语句)包括四个部汇编语言编写的源程序行(一条语句)包括四个部分,也叫四个字段:分,也叫四个字段:标号标号:操作码操作码操作数操作数;注释注释n每个字段之间要用分隔符分隔,而每个字段内部不能使用分每个字段之间要用分隔符分隔,而每个字段内部不能使用分隔符。可以用作分隔符的符号:空格隔符。可以用作分隔符的符号:空格“”、冒号、冒号“:”、逗号逗号“,”、分号、分号“;
5、”等。等。例:例:LOOP:MOV A,#00H ;立即数;立即数00HA4.1 编程的步骤4、编写程序、编写程序标号标号:操作码操作码操作数操作数;注释注释n出现在助记符之前的,是由用户定义的一个字符串。出现在助记符之前的,是由用户定义的一个字符串。n标号可以由赋值伪指令赋值,如果没有赋值,汇编程序把存标号可以由赋值伪指令赋值,如果没有赋值,汇编程序把存放该指令目标码第一字节的存储单元的地址赋给该标号,所放该指令目标码第一字节的存储单元的地址赋给该标号,所以,标号又叫以,标号又叫指令标号指令标号。n一条指令的标号是该条指令的符号名字,标号的值是汇编这一条指令的标号是该条指令的符号名字,标号的
6、值是汇编这条指令时指令的地址,代表条指令时指令的地址,代表16位长的位长的ROM地址编码。地址编码。n并不是每一条语句都需要标号,只有那些欲被引用的语句才并不是每一条语句都需要标号,只有那些欲被引用的语句才需要。需要。(1 1)标号)标号4.1 编程的步骤4、编写程序、编写程序标号标号:操作码操作码操作数操作数;注释注释n对于标号的限定:对于标号的限定:最多可由最多可由31个字符构成,字符可以是个字符构成,字符可以是英文字母英文字母(一般不区一般不区 分大小写分大小写)、阿拉伯数字阿拉伯数字和其他字符和其他字符(“?”和和“_”););第一字符必须是第一字符必须是非数字非数字;后面跟冒号后面跟
7、冒号“:”;一个标号在程序中只能定义一次;一个标号在程序中只能定义一次;标号不能为指令助记符、伪指令、标号不能为指令助记符、伪指令、SFR名称等系统保留字。名称等系统保留字。(1 1)标号)标号4.1 编程的步骤4、编写程序、编写程序标号标号:操作码操作码操作数操作数;注释注释(2 2)操作码)操作码n操作码是必不可少的。操作码是必不可少的。n它用一组字母符号表示指令的操作码。在它用一组字母符号表示指令的操作码。在89C51中,由指中,由指令助记符组成。令助记符组成。n一般留出标号字段的空位,以便与标号相区别。一般留出标号字段的空位,以便与标号相区别。4.1 编程的步骤4、编写程序、编写程序标
8、号标号:操作码操作码操作数操作数;注释注释(3 3)操作数)操作数n汇编语言指令可能要求或不要求操作数,所以这一字段汇编语言指令可能要求或不要求操作数,所以这一字段可能有也可能没有。可能有也可能没有。n若有两个操作数,操作数之间用逗号若有两个操作数,操作数之间用逗号“,”分开。分开。n操作数字段的内容复杂多样,可能包括:操作数字段的内容复杂多样,可能包括:工作寄存器:工作寄存器:工作寄存器:工作寄存器:由由RS0和和RS1规定的当前工作寄存器区中的规定的当前工作寄存器区中的R0R7。特殊功能寄存器:特殊功能寄存器:特殊功能寄存器:特殊功能寄存器:21个特殊功能寄存器个特殊功能寄存器SFR的名字
9、。的名字。标号名:标号名:标号名:标号名:赋值标号赋值标号 由汇编指令由汇编指令EQU等赋值的标号;等赋值的标号;指令标号指令标号 指令标号指示的指令的第一字节地址是该标号的值。指令标号指示的指令的第一字节地址是该标号的值。$:用来表示程序计数器的当前值。用来表示程序计数器的当前值。4.1 编程的步骤(3 3)操作数)操作数 符号符号 可为二进制(可为二进制(B)、八进制()、八进制(O)、十进制()、十进制(D)、十六进制()、十六进制(H)或字符串。或字符串。4.1 编程的步骤(3 3)操作数)操作数 数值数值 汇编时,计算出表达式的值填入目标码。汇编时,计算出表达式的值填入目标码。一般缺
10、省情况下,汇编器默认的数值是十进制数值;一般缺省情况下,汇编器默认的数值是十进制数值;若常数以字符若常数以字符AF开头,必须在其前面加开头,必须在其前面加“0”作为引导,以便作为引导,以便 与标号或符号名相区别。与标号或符号名相区别。表达式表达式4.1 编程的步骤4、编写程序、编写程序标号标号:操作码操作码操作数操作数;注释注释(4 4)注释)注释n注释部分不是汇编语言的功能部分,只是用语增加程序注释部分不是汇编语言的功能部分,只是用语增加程序的可读性。的可读性。n良好的注释是汇编语言程序编写中的重要组成部分。良好的注释是汇编语言程序编写中的重要组成部分。n由由“;”或或“/*/”表示。表示。
11、5、上机调试、上机调试4.2 伪指令 伪指令不是真正的指令,它主要是为汇编程序服务的,在伪指令不是真正的指令,它主要是为汇编程序服务的,在汇编过程中起控制作用的指示性语句。无地址、无对应的机器汇编过程中起控制作用的指示性语句。无地址、无对应的机器码,在汇编时不产生目标程序。码,在汇编时不产生目标程序。ORG 汇编起始地址命令汇编起始地址命令 END 汇编语言程序结束伪指令汇编语言程序结束伪指令 EQU 赋值伪指令赋值伪指令 DB 定义字节伪指令定义字节伪指令 DW 定义字伪指令定义字伪指令 BIT 位地址符号伪指令位地址符号伪指令 DATA 定义标号数值伪指令定义标号数值伪指令1、ORG 汇编
12、起始地址命令汇编起始地址命令 n n格式:格式:格式:格式:ORG 16位地址位地址n n功能:功能:功能:功能:规定该伪指令后面程序的汇编地址,即汇编后生成目规定该伪指令后面程序的汇编地址,即汇编后生成目 标程序存放的起始地址。标程序存放的起始地址。n n例如:例如:例如:例如:ORG 2000H START:MOV A,#64H n规定了规定了START的地址是的地址是2000H,又规定了汇编后的第一条指令,又规定了汇编后的第一条指令码从码从2000H开始存放。开始存放。注意:在一个源程序中,可以多次使用注意:在一个源程序中,可以多次使用ORG指令,来规定不同的程指令,来规定不同的程序段的
13、起始地址。但是,地址必须由小到大排列,不能交叉、重叠。序段的起始地址。但是,地址必须由小到大排列,不能交叉、重叠。4.2 伪指令2、END 汇编结束命令汇编结束命令 n n格式:格式:格式:格式:ENDn n功能:功能:功能:功能:通知汇编程序结束汇编。在通知汇编程序结束汇编。在END之后所有的汇编指令均之后所有的汇编指令均 不予以处理。不予以处理。4.2 伪指令3、EQU 赋值命令赋值命令 n n格式:格式:格式:格式:字符名称字符名称 EQU 项项(数或汇编符号)(数或汇编符号)n n功能:功能:功能:功能:把把“项项”赋给赋给“字符名称字符名称”。n n注意:注意:注意:注意:字符名称不
14、等于标号(其后没有冒号);其中的项,可字符名称不等于标号(其后没有冒号);其中的项,可以是数,也可以是汇编符号。以是数,也可以是汇编符号。EQU赋值过的符号名可以用作数赋值过的符号名可以用作数据、代码地址、位地址或一个立即数。可以是据、代码地址、位地址或一个立即数。可以是8位的,也可以是位的,也可以是16位的。位的。4.2 伪指令为程序的阅读、修改为程序的阅读、修改和调试带来方便和调试带来方便3、EQU 赋值命令赋值命令 n n例如:例如:例如:例如:例例1:A_ASCII EQU A ;A_ASCII分配字符分配字符“A”的的ASCII MOV A,A_ASCII ;值(;值(41H=65)
15、例例2:A10 EQU 10 DELY EQU 07EBH MOV A,A10 ;A10作为片内的一个直接地址作为片内的一个直接地址 LCALL DELY ;DELY作为一个作为一个16位子程序的入口地址位子程序的入口地址4.2 伪指令4、DATA 数据地址赋值命令数据地址赋值命令 n n格式:格式:格式:格式:字符名称字符名称 DATA 表达式表达式n n功能:功能:功能:功能:与与EQU类似,但有以下差别:类似,但有以下差别:EQU定义的字符名必须先定义后使用,而定义的字符名必须先定义后使用,而DATA定义的字定义的字 符名可以符名可以后定义先使用后定义先使用。用用EQU指令可以把一个汇编
16、符号赋给一个名字,而指令可以把一个汇编符号赋给一个名字,而DATA 只能把只能把数据数据赋给字符名。赋给字符名。DATA伪指令在程序中用来定义数据地址。伪指令在程序中用来定义数据地址。4.2 伪指令5、DB 定义字节命令定义字节命令 n n格式:格式:格式:格式:DB 项或项表项或项表n n功能:功能:功能:功能:通知汇编程序从当前通知汇编程序从当前ROM地址开始,保留一个字或字节地址开始,保留一个字或字节 串的存储单元,并存入串的存储单元,并存入DB后的数据。后的数据。n n注意:注意:注意:注意:项或项表可以是一个字节,用逗号隔开的字节串或括在项或项表可以是一个字节,用逗号隔开的字节串或括
17、在 单引号中的单引号中的ASCII字符串。字符串。4.2 伪指令 ORG 2000H DB 0A3HLIST:DB 26H,03HSTR:DB ABC 经汇编后经汇编后:(2000H)=A3H,(2001H)=26H,(2002H)=03H,(2003H)=41H,(2004H)=42H,(2005H)=43H,(41H,42H,43H分别为分别为A,B,C的的ASCII码)码)5、DB 定义字节命令定义字节命令 n n 例如:例如:例如:例如:4.2 伪指令2000H2000H2001H2001H2002H2002H2003H2003H2004H2004H2005H2005HA3H26H03
18、H41H42H43H查表程序查表程序查表程序查表程序片外程序存储器从片外程序存储器从0050H单元开始存放有单元开始存放有10位学生的成绩,位学生的成绩,根据累加器根据累加器A中的学号,查出该学生的成绩。中的学号,查出该学生的成绩。ORG 0000H LJMP MAIN ORG 0030HMAIN:MOV A,#05H MOV DPTR,#CJTAB MOVC A,A+DPTR SJMP$ORG 0050HCJTAB:DB98H,74H,83H,85H,77H DB65H,92H,68H,84H,70H END0050H84H68H92H65H77H85H83H74H98H0051H0052H
19、0053H0054H0055H0056H0057H0058H70H0059H6、DW 定义字命令定义字命令 n n格式:格式:格式:格式:DW 16位数据项或项表位数据项或项表n n功能:功能:功能:功能:把把DW后的后的16位数据项或项表从当前地址连续存放。位数据项或项表从当前地址连续存放。每项数值为每项数值为16位二进制数,高位二进制数,高8位先放,低位先放,低8位后存位后存 放。放。DW用于定义一个地址表。用于定义一个地址表。ORG 1500HTABLE:DW 7234H,8AH,10H,H (1500H)=72H,(1501H)=34H,(1502H)=00H,(1503H)=8AH,
20、(,(1504H)=00H,(1505H)=10H。(1506H)=00H,(,(1507H)=48H(H的的ASCII值值)经汇编后:经汇编后:4.2 伪指令例如:例如:例如:例如:双字节双字节7、DS 定义存储空间命令定义存储空间命令 ORG 1000HDS 08HDB 30H,8AHn n 格式:格式:格式:格式:DS 表达式表达式n n 功能:功能:功能:功能:在汇编时,从指定地址开始保留在汇编时,从指定地址开始保留DS之后表达式的值所之后表达式的值所 规定的存储单元以备后用。规定的存储单元以备后用。n n 例如:例如:例如:例如:汇编后,从汇编后,从1000H保留保留8个单元,然后从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 知识
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。