汇编语言程序设计4

汇编语言程序设计4

ID:39301381

大小:885.31 KB

页数:37页

时间:2019-06-29

汇编语言程序设计4_第1页
汇编语言程序设计4_第2页
汇编语言程序设计4_第3页
汇编语言程序设计4_第4页
汇编语言程序设计4_第5页
资源描述:

《汇编语言程序设计4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.80C51汇编程序设计中常用的伪指令(1)ORG汇编起始指令规定目标程序的起始地址,格式如下:标号操作码操作数ORG表达式(exp)必须为16位地址(2)EQU赋值指令把操作数段中的地址或数据赋值给标号,格式如下:标号操作码操作数字符名称EQU数或汇编符号例1AAEQUR1;R1与AA等值则MOVA,AA指令与MOVA,R1指令结果相同。(3)DB从指定单元开始定义(存储)若干个字节的数据或ASCII码字符,常用于定义8位数据常数表。格式:操作码操作数DB字节常数或ASCII字符例:ORG1000HDB34H,73,’A’,’B’

2、DB0AH,0BH,20则(1000H)=34H(1001H)=49H(1002H)=41H(1003H)=42H(1004H)=0AH(1005H)=0BH(1006H)=14H(4)DW定义字指令定义程序存储器中存放的若干个字的数据或ASCII码字符16位常数表 格式DW<16位数据表>。例3ORG2200HDW1246H,7BH,10则(2200H)=12H(2201H)=46H(2202H)=00(2203H)=7BH(2204H)=00(2205H)=0AH(5)BIT定义位地址指令格式<字符名称>BIT<位地址>例4ABC

3、BITP1.0Q4BITP2.2则汇编后,位地址P1.0,P1.2分别赋给变量ABC和Q4。(6)END汇编结束指令(7)DATA定义标号数值为指令格式:标号操作码操作数符号名称DATA表达式如MNDATA3000H;MN相当于3000HDATA与EQU的区别在于前者可以先使用后定义而后者不行,必须先定义才能使用。(8)DS定义存储空间指令功能:从指定地址开始保留DS之后表达式的值所规定的存储单元。格式:标号操作数DS表达式例:P105例75.2.2循环程序包含多次重复执行的程序段,循环结构使程序紧凑。循环控制?循环工作循环结束循环

4、初始化YN各个环节任务:一.初始化部分(循环初态)循环准备工作。如:清结果单元、设指针、设循环控制变量初值等。二.循环体循环工作部分:需多次重复处理的工作。循环控制部分:1.修改指针和循环控制变量。2.检测循环条件:满足循环条件,继续循环,否则退出循环。三.结束部分处理和保存循环结果。允许0次循环的循环结构:在循环工作之前检测循环条件。简单循环结构:循环体中不套循环。定时例2:试计算下列程序段执行时间。程序指令执行周期MOVR7,#64H1TLOOP:NOP1TNOP1TDJNZR7,LOOP2T解:上述程序显然属于循环程序,其算法结

5、构如图所示。循环次数100次,根据每条指令的执行周期可得每次循环消耗1+1+2=4(机器周期),加上第一条指令,整个程序段共计消耗时间为(4×100+1)T=401T,当晶振频率为6MHZ时,T=2μs,故上述程序实际消耗802μs。多重循环循环体中套循环结构。以双重循环使用较多。软件延时程序。 用循环程序将指令重复多次执行,实现软件延时。试计算延时程序的执行时间。源程序指令周期(M)指令执行次数DELAY:MOVR6,#64H1I1:MOVR7,#0FFH1I2:DJNZR7,I22DJNZR6,I12RET2延时时间计算:(设时钟

6、f=12MHz,M=1μs)t=(1×1+1×100+2×100×255+2×100+2×1)×M=51.3ms1100100×2551001习题:试计算延时程序的执行时间。源程序指令周期(M)指令执行次数DELAY:MOVR6,#1001D1:MOVR7,#101D2:NOP1DJNZR7,D22DJNZR6,D12RET2计算延时程序的执行时间(设时钟f=6MHz)。5.3分支程序设计5.3.1分支程序设计综述分支程序应用要点是正确使用转移指令,通常有如下3种指令。1.无条件转移:与以执行程序的结果无关,只要给出正确的转移目标地址

7、或偏移量即可2.条件转移:根据已执行程序对特殊或特定存储器的影响结果来决定程序的走向。3.散转:根据某种已输入的或运算的结果,是程序转到各个处理程序中例3设5AH单元中有一变量X,请编写计算下述函数式的程序,结果存入5BH单元Y=3X,X<10Y=2X+10,10=155.3.2无条件/条件转移程序ORG200HMOVA,5AHADDA,5AH;2X→AMOVR1,AMOVA,5AH;重新把X装入ACJNEA,#10,L1L1:JCL2;X<10转L2MOVR0,#40;先假设X>15CJNEA,#10H,L

8、3;与16比L3:JNCL4;X>15转L4MOVA,R1ADDA,#10;10≤X≤15,Y=2X+10MOVR0,ASJMPL4L2:MOVA,R1ADDA,5AH;X<10,Y=3XMOVR0,AL4:MOV5BH

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。