ImageVerifierCode 换一换
格式:PPTX , 页数:26 ,大小:299.54KB ,
资源ID:4163815      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4163815.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(汇编语言程序设计wy.pptx)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

汇编语言程序设计wy.pptx

1、2024/8/8 周四13.4.1 3.4.1 机器语言、汇编语言和高级语言机器语言、汇编语言和高级语言 程序设计语言一般分为程序设计语言一般分为3 3种:机器语言、汇编语言和种:机器语言、汇编语言和高级语言。高级语言。1 1、机器语言机器语言 是唯一能直接被是唯一能直接被CPUCPU识别和执行的二进制代码语言。识别和执行的二进制代码语言。用机器语言编写的程序,称为目标程序;通常无论用用机器语言编写的程序,称为目标程序;通常无论用何种语言编写的计算机程序,均需通过编译将它翻译何种语言编写的计算机程序,均需通过编译将它翻译成机器语言程序才能被成机器语言程序才能被CPUCPU识别、运行。识别、运行

2、但机器指令的二进制代码很难记忆、辨识,给程但机器指令的二进制代码很难记忆、辨识,给程序的编写、阅读和修改带来很大的困难,因此一般不序的编写、阅读和修改带来很大的困难,因此一般不采用机器语言编写程序。采用机器语言编写程序。2024/8/8 周四22、汇编语言汇编语言 为了容易理解和记忆计算机指令,人们用一些英文单词及为了容易理解和记忆计算机指令,人们用一些英文单词及数字作为助记符来描述每一条指令的功能。用助记符描述的指数字作为助记符来描述每一条指令的功能。用助记符描述的指令系统,被称为机器的汇编语言系统,简称汇编语言。令系统,被称为机器的汇编语言系统,简称汇编语言。用汇编语言的每条指令意义清晰

3、编写、阅读和修改都很用汇编语言的每条指令意义清晰,编写、阅读和修改都很。汇编指令和机器语言指令是一一对应的,即一条可执行的汇。汇编指令和机器语言指令是一一对应的,即一条可执行的汇编指令对应着一条机器语言指令,因此汇编语言可直接利用和编指令对应着一条机器语言指令,因此汇编语言可直接利用和发挥机器硬件系统的许多特性,如:寄存器,标志位及一些特发挥机器硬件系统的许多特性,如:寄存器,标志位及一些特殊指令等,能提高编程的质量和运行速度,且占用内存少。殊指令等,能提高编程的质量和运行速度,且占用内存少。一般如:系统软件、实时控制系统、智能化仪器、仪表软件等一般如:系统软件、实时控制系统、智能化仪器、仪

4、表软件等对时间和存储容量要求较高的程序常用汇编语言书写。对时间和存储容量要求较高的程序常用汇编语言书写。2024/8/8 周四33、高级语言 高级语言是一种面向问题或过程的语言。它是一种接近于自然语言和数学算法的语言,与机器硬件无关,用户不必了解所有计算机的硬件和指令系统。高级语言不但直观、易学且通用性强可移植性好。高级语言编写的程序需要由编译程序或解释程序翻译成对应的目标程序,机器方可接受。但由于高级语言与机器语言不是一一对应的,往往一条高级语言指令对应着多条机器语言指令,因此翻译的时间长、目标程序长、占用空间大、执行速度慢。2024/8/8 周四43.4.2 3.4.2 汇编程序与伪指令汇

5、编程序与伪指令1、汇编程序 汇编源程序必须“翻译”成目标程序,方可被CPU识别、执行,这个翻译的过程称为汇编。汇编工作一般由计算机的系统软件汇编程序来完成的。汇编程序除了可将汇编源程序翻译成目标程序,还可根据程序要求安排目标程序的存放地址、分配存储空间、语法检查,若有错误给出错误信息等。2024/8/8 周四52 2、伪指令、伪指令 在汇编源程序的过程中,有一些指令只是帮助汇编在汇编源程序的过程中,有一些指令只是帮助汇编源程序的,它们是源程序的,它们是控制汇编用的特殊指令,不属于指控制汇编用的特殊指令,不属于指令系统,令系统,不要求计算机做任何操作,不产生对应的机不要求计算机做任何操作,不产生

6、对应的机器码,不影响程序的执行,这种指令被称为伪指令。器码,不影响程序的执行,这种指令被称为伪指令。伪指令主要用来指定程序或数据的起始位置,给出伪指令主要用来指定程序或数据的起始位置,给出一些连续存放数据确定地址,或为中间运算结果保留一些连续存放数据确定地址,或为中间运算结果保留一部分存储空间及表示源程序结束等。一部分存储空间及表示源程序结束等。下面介绍几种常用的基本伪指令:下面介绍几种常用的基本伪指令:2024/8/8 周四6 1 1)ORGORG伪指令伪指令 (Origin)(Origin)通常用于源程序的开始处,用来规定目标程序的通常用于源程序的开始处,用来规定目标程序的 起始地址起始地

7、址 格式:格式:ORG addr16 ;addr16ORG addr16 ;addr16是是1616位绝对地址位绝对地址,可用标号或表达式表示。可用标号或表达式表示。如:如:ORG 1000H ORG 1000H ;将程序的起始地址定为;将程序的起始地址定为1000H1000H 2)ENDEND伪指令伪指令 ENDEND语句放在源程序结束的地方,用来告诉汇编程语句放在源程序结束的地方,用来告诉汇编程序源程序到此结束,对后面的指令都不用汇编。序源程序到此结束,对后面的指令都不用汇编。格式:格式:ENDEND 注:注:ENDEND语句不得有标号语句不得有标号2024/8/8 周四73 3)EQUE

8、QU伪指令伪指令 (EQUEQUate)ate)赋值伪指令,把一个表达式或特殊的汇编符号赋予赋值伪指令,把一个表达式或特殊的汇编符号赋予规定的名称。规定的名称。格式:格式:符号名称符号名称 EQU EQU 表达式表达式/特殊汇编符号特殊汇编符号 例:例:SGSGEQUEQUR0 ;SGR0 ;SG与与R0R0等价等价DEDEEQUEQU40H 40H ;DEDE与与40H40H等值等值MOV AMOV A,SGSG;(R0(R0)AAMOV R7MOV R7,#DE#DE ;#40H R7#40H R7 MOV SG,R7 ;#40H R0MOV SG,R7 ;#40H R0 注:汇编后,注:

9、汇编后,EQUEQU左边的符号名称就等同于其右边的左边的符号名称就等同于其右边的表达式或汇编符号,这样符号名称就可以作为立即数表达式或汇编符号,这样符号名称就可以作为立即数或地址来使用。且在整个程序中不能再改变。或地址来使用。且在整个程序中不能再改变。2024/8/8 周四84)SET伪指令 类似于EQU,也是用一个表达式的值命名一个符号,区别在于以后可用另一个SET伪指令对定义过的符号重新定义。格式:符号名称 SET 表达式 如:VALU SET 1;VALU=1 REG1 SET R1;把R1赋给REG1 VALU SET VALU+1;重新定义VALU 2024/8/8 周四95)BIT

10、伪指令 把一个位地址赋予规定的符号名称,定义后不得重新定义。格式:符号地址 BIT 位地址 如:FLAG BIT F0 AI BIT P1.06)DATA伪指令 把片内的数据地址赋予所规定的符号。片内的数据地址指的是内存00H7FH或位于80HFFH的特殊功能寄存器,定义好的符号不得重新定义。格式:符号地址 DATA 数据地址 如:RES DATA 30H;定义符号RES为内存地址30H PORT0 DATA 80H;定义符号PORT0为SFR中P02024/8/8 周四107 7)DBDB伪指令(伪指令(Define ByteDefine Byte)从指定单元开始定义(存储)若干个字节的数据

11、从指定单元开始定义(存储)若干个字节的数据或或ASCIIASCII码字符,常用于定义数据常数表。码字符,常用于定义数据常数表。格式:格式:【标号:标号:】DB DB 表达式列表表达式列表 如如:PRE:DBPRE:DB34H34H,0DEH0DEH,A A,B B RES:DB RES:DBpress any key to continuepress any key to continue 注:注:ROMROM中,表达式列表中的每个字节依次存放在中,表达式列表中的每个字节依次存放在从标号地址开始的各个单元中。列表中的各项是一列从标号地址开始的各个单元中。列表中的各项是一列由逗号分开的一个或多个

12、字节值或串。由逗号分开的一个或多个字节值或串。2024/8/8 周四118 8)DWDW伪指令(伪指令(Define WordDefine Word)从指定单元开始定义(存储)若干个字的数据或从指定单元开始定义(存储)若干个字的数据或ASCIIASCII码字符。码字符。格式:格式:【标号:标号:】DW DW 字常数或字常数或ASCIIASCII字符字符 如:如:DWDW1234H1234H,B BDWDW 0AH 0AH,20209 9)DSDS伪指令伪指令 以字节为单位保留空间。以字节为单位保留空间。DSDS语句从当前地址开始保语句从当前地址开始保留空间,空间的大小由表达式的值来确定。留空间

13、空间的大小由表达式的值来确定。格式:格式:【标号:标号:】DS DS 表达式表达式 如:如:SUM:DS 20 SUM:DS 20;从标号;从标号SUMSUM代表的地址开始,代表的地址开始,保留连续的保留连续的2020个字节单元。个字节单元。2024/8/8 周四123.5 3.5 基本程序设计方法基本程序设计方法 3.5.1 3.5.1 程序的基本结构程序的基本结构1 1、分析问题(包括硬件、软件系统分析),抽象出、分析问题(包括硬件、软件系统分析),抽象出 描述的数学模型;描述的数学模型;2 2、确定解决问题的算法和工作步骤;、确定解决问题的算法和工作步骤;3 3、根据算法绘制程序流程图

14、根据算法绘制程序流程图;4 4、分配存储空间,确定程序与数据区存放地址;、分配存储空间,确定程序与数据区存放地址;5 5、编写源程序;、编写源程序;6 6、静态检查;、静态检查;7 7、上机调试、修改,最终确定程序。、上机调试、修改,最终确定程序。2024/8/8 周四13n 有关流程图中符号表示:开始、结束圆角矩形工作任务矩形判断分支菱形程序流向箭头程序连接开始结束n 程序的基本算法结构有3种:顺序结构 分支结构(选择)循环结构2024/8/8 周四14 3.5.2 顺序结构程序设计 顺序结构是最简单的一种基本结构。若一个待解决的问题可分解成若干个简单的操作步骤,并可由这些操作按照一定的

15、顺序构成解决问题的算法,则可用简单的顺序结构来进行程序设计。顺序结构图ab A B2024/8/8 周四15开始将待转换的数据送入A A除以100将A中得到的百位数取出另存结束A中十位及B中个位取出另存余数除10Org 0000hLjmp Main org 0100hMain:mov A,R1 mov B,#100 div AB mov 30H,A mov A,B mov B,#10 div AB mov 31H,A mov 32H,B sjmp$例3.27:编制单字节BCD码转换程序2024/8/8 周四16 3.5.3 3.5.3 分支(选择)结构程序设计 在实际程序设计时,有很多情况需要

16、程序按照给定条件进行分支。分支程序可根据要求判断某一变量当前所处之状态,根据判断结果来改变程序执行流向。编写分支程序主要在于正确使用转移指令。分支程序有:单分支结构、双分支结构、多分支结构(散转)。在编写分支程序时,51指令系统提供了丰富的控制转移指令,如:JZ(JNZ)、CJNE、JC(JNC)及JB(JNB)等。2024/8/8 周四17K=?程序段nn0程序段1多分支结构程序段01条件成立?程序段BYN程序段A双分支结构条件成立?下条指令程序段A单分支结构YN2024/8/8 周四18例3.28:假设NUM单元中存放的是经过处理的数据,若数值在099之间,则下图中P1.1口所接的LED灯

17、亮;若数值在100180之间,则无动作(灯灭);若在181255之间,则P1.0口所接之灯亮。P1.0P1.1P1.2VCC2024/8/8 周四19NUM100NUM100?y=x+50y=20Hy=x0开始存y 即y 30h结束例3.28流程图2024/8/8 周四20 ORG 1000HSTART:MOV A,30H JZ NEXT ;x=0,转移 ANL A,#80H ;保留符号位 JZ ED ;x0,转移 MOV A,#05H ;x0,不转移 ADD A,30H MOV 30H,A SJMP ED NEXT:MOV 30H,#20H ED:SJMP$2024/8/8 周四21 3.5

18、4 循环结构程序设计 编写程序时,当需要将同一组操作重复多次时,应采用循环结构,以简化程序,缩短长度和存储空间。循环程序一般由3部分构成:置循环初值;循环体:重复执行部分;循环控制部分:参数修改和依据结束条件判定循环 是否结束。循环程序的结构一般有两种:until直到型:先执行循环体一次,再判断条件,条 件不成立则跳出循环;while当型:先判断条件,条件成立再执行循环体;2024/8/8 周四22设置循环初值循环处理循环修改循环结束?NY(a)直到型循环设置循环初值循环处理循环修改循环结束?YN(b)当型循环2024/8/8 周四23例3-29:50ms延时子程序。设晶振频率为12MHz,

19、则机器周期为1us。DEL:MOV R7,#200 ;1MCDEL1:MOV R6,#123 ;1MC NOP ;1MC DJNZ R6,$;2MC DJNZ R7,DEL1 ;2MC RET ;2MC延时时间:t=1+200(1+1+2*123)+2+2 50000us=50ms2024/8/8 周四24 3.5.5 3.5.5 子程序结构设计子程序结构设计 将反复出现的程序段编成一个独立的程序段存放在内存中,它能够完成某一特定任务,可被重复调用称为子程序。恰当的使用子程序可使整个程序结构清楚、可读性强,且减少源程序和目标程序的长度,提高了编程效率。高级语言调用子程序,传递参数很方便;但汇编

20、程序在调用子程序时传参是个问题。因为其调用指令并不附带任何参数,那么参数的传递是需要靠编程者自己设计:如何安排数据的存放及工作单元的选择。汇编语言中参数的传递方法有3种:寄存器传参、指针传参以及堆栈传参。2024/8/8 周四25 1)用累加器或工作寄存器来传参;在调用子程序之前把数据送入寄存器R0R7或累加器。调用返回后运算结果仍由它们送回。2)用指针寄存器传递参数 因一般数据都存放于存储器中,所以可用指针来指示数据位置。若数据存在内存RAM中,则通常用R0或R1做指针寄存器;若参数放在外部RAM或程序存储器中,则可用DPTR做指针。3)用堆栈传参 调用子程序之前,可先将参数压入堆栈中保存,

21、进入子程序后,再将压入堆栈的参数弹出给指定的工作寄存器或其他内存单元。但该种方式使用时要清楚堆栈的操作。2024/8/8 周四261.给子程序赋一个名字。实际为入口地址代号。给子程序赋一个名字。实际为入口地址代号。2.要能正确传递参数:要能正确传递参数:入口条件:子程序中要处理的数据如何给予。入口条件:子程序中要处理的数据如何给予。出口条件:子程序处理结果如何存放。出口条件:子程序处理结果如何存放。(寄存器、存储器、堆栈方式)(寄存器、存储器、堆栈方式)3.保护与恢复现场:保护与恢复现场:保护现场:压栈指令保护现场:压栈指令PUSH 恢复现场:弹出指令恢复现场:弹出指令POP4.子程序可以嵌套子程序可以嵌套

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服