当前位置:
文档之家› --汇编语言程序设计PPT课件
--汇编语言程序设计PPT课件
65
BC next ,cond 5/3 CC
sub , cond 5/3 RC cond
5/3
1.条件算符
条件分支转移指令或条件调用、条件返回指令都用 条件来限制分支的转移、调用和返回操作。条件算符分 成两组,每组组内还有分类。
第1组:
EQ NEQ OV LEQ GEQ NOV LT GT
第2组
TC C BIO NTC NC NBIO
例6-1:条件分支转移
RC TC CC sub,BNEQ BC new,AGT,AOV
BC new,AGT BC new,AOV
说明:单条指令中的多个条件是“与”的关 系。如果需要两个条件相“或”,只能分两 句写。
2.循环操作BANZ
在程序设计时,经常需要重复执行某段程 序,利用BANZ(当辅助寄存器不为0时转移) 指令执行循环计数和操作是十分方便的。
当一个15 中断14出现时13 ,IFR12中的相11应的中10 断标志9 位置8 1, 直到CP保U识留 别该中DMA断C5 为D止MAC4。 BXINT1 BRINT1 HPINT INT3
7
TINT1
6
DMAC0
5
BXINT0
4
BRINT0
3
TINT0
2
INT2
1
INT1
0
INT0
中断标志寄存器IFR各位的功能。
选用条件算符时应当注意以下3点:
第1组:组内两类条件可以进行与/或运算,但不能 在组内同一类中选择两个条件算符与/或。当选择两个 条件时,累加器必须是同一个。例如,可以同时选择 AGT和AOV,但不能同时选择AGT和BOV。 第2组:可从组内3类算符中各选一个条件算符与/或, 但不能在组内同一类中选两个条件算符与/或。例如, 可以同时测试TC、C和BIO,但不能同时测试NTC和 TC。 组与组之间的条件只能进行或运算。
位 名称
功能
6 DMAC0 DMA通道0中断标志 5 BXINT0 缓冲串口发送中断0标志 4 BRINT0 缓冲串口接收中断0标志 3 TINT0 定时器中断0标志 2 INT2 外部中断2标志 1 INT1 外部中断1标志 0 INT0 外部中断0标志
在’C54x系列芯片中,IFR中5 ~ 0位对应的中 断源完全相同,分别为外部中断和通信中断标志寄 存位,而15~6位中断源根据芯片的不同,定义的中 断源类型不同。
第六章 汇编语言程序设计
内容提要
6.1 程序流程控制 6.2 堆栈的使用方法 6.3 加减法运算和乘法运算 6.4 重复操作 6.5 数据块传送
内容提要
6.6 双操作数乘法 6.7 长字运算和并行运算 6.8 小数运算 6.9 除法运算 6.10 浮点运算
6.1 程序的控制与转移
中断屏蔽寄存器IMR的结构:
15
14
保留
13
DMAC5
பைடு நூலகம்12
DMAC4
11
BXINT1
10
BRINT1
9
HPINT
8
INT3
7
TINT1
6
DMAC0
5
4
BXINT0 BRINT0
3
TINT0
2
INT2
1
INT1
0
INT0
用户可以对IMR寄存器进行读写操作。
3.中断响应过程(如下图所示) (1)接受中断请求。 (2)响应中断。 (3)执行中断服务程序(ISR)。
有三种情况将清除中断标志:
① ’C54x的复位;
② 相应的IFR标志位置1; ③ 使用相应的中断号响应该中断,
2. 中断屏蔽寄存器IMR
中断屏蔽寄存器是一个存储器映像寄存器,主 要用于控制中断源的屏蔽和开放。
当状态寄存器ST1中的INTM位为0时,全局中断 允许。IMR中的某位置1时,开放相应的中断。由于 RS和NMI都不包含在IMR中,因此IMR对这两个中断 不能进行屏蔽。
TMS320C54x具有丰富的程序控制与转移指令,利用这些 指令可以执行分支转移、循环控制及子程序操作。基本的程序控 制指令如表6-1所示。
表6-1 基本的程序控制指令
分支转移指令 执行周期 子程序调用指令 执行周期 子程序返回指令 执行周期
B
next
4 CALL sub
4 RET
BACC src
6 CALA src
位 名称
功能
15~14 13 12 11 10 9 8 7
保留 DMAC5 DMAC4 BXINT1 BRINT1 HPINT INT3 TINT1
保留位,总是0 DMA通道5中断标志 DMA通道4中断标志 缓冲串口发送中断1标志 缓冲串口接收中断1标志
HPI中断标志 外部中断3标志 定时器中断1标志
接受中断请求
否 是可屏蔽中断吗?
是 否
IN T M = 0 ?
是
否
IM R 屏 蔽 位 = 1 ?
中
是
断
响 应 中 断 , 发 出 IA C K 信 号
操
作
是硬件中断或
(1)可屏蔽中断 (2)非屏蔽中断
C5402中断源的中断向量及硬件中断优先权
2.中断标志寄存器(IFR)和中断屏蔽寄存器(IMR)
’C54x中断系统设置两个中断寄存器,分别为 中断标志寄存器IFR和中断屏蔽寄存器IMR。
1. 中断标志寄存器IFR ’中C断54标02志中寄断存标器志I寄FR存是器一I个FR存的储结器构映: 像寄存器,
5
例6-2: y xi i 1
SUM: STM STM
loop: ADD BANZ STL
#x,AR3 #4,AR2 *AR3+,A loop,*AR2A,@y
;程序存储器
3.比较操作CMPR
编程时,经常需要数据与数据进行比较,这时利用比较指令 CMPR是很合适的。CMPR指令测试所规定的AR寄存器 (AR1~AR7)与AR0的比较结果。如果所给定的测试条件成立, 则TC位置1,然后,条件分支转移指令就可根据TC位的状态进行 分支转移了。注意,所有比较的数据都是无符号操作数。
STM #5,AR1 STM #10,AR0 loop: ... *AR1+ ... CMPR LT,AR1 BC loop,TC
返回首页
6.2 TMS320C54x中断系统
1.中断类型
C54x支持软件中断和硬件中断。软件中断由程序 指 令 产 生 ( INTR、TRAP 或 RESET)。 硬 件 中 断 由 设备的一个信号产生,包括两种类型:①外部硬件中 断由外部中断口的信号触发;②内部硬件中断由片内 外设的信号触发。无论是硬件中断还是软件中断,都 属于以下两种类型: