1、第五章 汇编语言程序设计概述2022-10-19常数与字符串2022-10-19标号2022-10-19举例2022-10-19汇编语言表达式2022-10-19有效定义表达式:2022-10-19当程序调用中断服务程序或子程序时,需要将当程序调用中断服务程序或子程序时,需要将程序计数器程序计数器PCPC的值和一些重要的寄存器值进行压栈的值和一些重要的寄存器值进行压栈保护,以便程序返回时能从间断处继续执行。保护,以便程序返回时能从间断处继续执行。C54x C54x提供一个用提供一个用1616位堆栈指针位堆栈指针SPSP寻址的软件寻址的软件堆栈。堆栈。当向堆栈中压入数据时,堆栈是从高地址向低当向
2、堆栈中压入数据时,堆栈是从高地址向低地址方向填入,堆栈指针地址方向填入,堆栈指针SPSP先减先减1 1,然后将数据压入,然后将数据压入堆栈。堆栈。当从堆栈中弹出数据时。数据先从堆栈中弹出当从堆栈中弹出数据时。数据先从堆栈中弹出,然后堆栈指针然后堆栈指针SPSP加加1 1。2022-10-192022-10-19C54xC54x具有丰富的程序控制指令,利用这些指具有丰富的程序控制指令,利用这些指令可以执行分支转移、子程序调用、子程序返回,令可以执行分支转移、子程序调用、子程序返回,条件执行以及循环等控制操作。条件执行以及循环等控制操作。2022-10-191.1.分支转移程序分支转移程序2022
3、-10-19无条件分支转移:无条件执行分支转移;无条件分支转移:无条件执行分支转移;条件分支转移:要在满足用户一个或多个条件时条件分支转移:要在满足用户一个或多个条件时才执行分支转移;才执行分支转移;远程分支转移:允许分支转移到扩展存储器。远程分支转移:允许分支转移到扩展存储器。1.1.分支转移程序分支转移程序2022-10-192022-10-192.2.子程序调用程序子程序调用程序2022-10-192022-10-192022-10-193.3.子程序返回程序子程序返回程序2022-10-193.3.子程序返回程序子程序返回程序2022-10-193.3.子程序子程序2022-10-19
4、4.4.条件操作程序条件操作程序2022-10-194.4.条件操作程序条件操作程序2022-10-194.4.条件操作程序条件操作程序2022-10-194.4.条件操作程序条件操作程序2022-10-192022-10-194.4.条件操作程序条件操作程序2022-10-195.5.比较转移程序比较转移程序2022-10-192022-10-192022-10-19101 iixy计算2022-10-192022-10-192022-10-19计算计算y y=xlxl alal+x2x2 a2 a2 2022-10-19计算计算 y=y=41iiia x2022-10-19iiixa412
5、022-10-19iiixa412022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-19RPTRPT重复操作可以和块重复操作重复操作可以和块重复操作RPTBRPTB以及以及循环操循环操作作BANZBANZ进行嵌套,实现多重嵌套。进行嵌套,实现多重嵌套。2022-10-1920
6、22-10-192022-10-19可以用于数据传送的指令有可以用于数据传送的指令有1010条,分别可以实条,分别可以实现数据存储器之间、数据存储器和现数据存储器之间、数据存储器和MMRMMR之间、程序存之间、程序存储器和数据存储器之间、程序存储器和数据存储器储器和数据存储器之间、程序存储器和数据存储器之间的数据块传送等。之间的数据块传送等。2022-10-192022-10-192022-10-192022-10-192022-10-192022-10-1921212121349.0199.11)1(0653.0566.0947.1624.1)1(106.0)(zzzzzzzH2022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-192022-10-19axy计算计算 y=y=41iiia x10/19/2022 41iiixayaxy2022-10-19本章小结2022-10-19