DSP汇编指令学习笔记(2)
令上,只会显示为T或者X路径,不会具体显示某一种T路径。
b) X路径是在跨A/B寄存器使用的,用或不用情况是一定的 c) 现在只有使用了X路径,或者LDW、STW指令会显示具体使用的路径名称。
Register File Cross Paths
1. G1 units can read/write data from/into A registers. And the G2 units can read/write data from/into B registers. So G1 units have cross path to A registers, and G2 units have cross path to B register. 2. At the same time, A registers have cross paths to opposite-B registers, such as Ax is connect to Bx. So function units of A registers can access B register.
6
Normal registers
Reserved by表示谁负责保存这个寄存器中的值,如果是Parent,则是Caller;如果是Child则是called function。
这里的Parent与child是与某此调用动作相关。如果脱离具体的某此调用,基本所有的函数都即是parent又是child。或者说,在某此函数调用时,哪些寄存器是在调用之前就要压栈保存(可能同时赋值的)——parent类的寄存器;哪些寄存器是在调用后如果使用到了才需要压栈保存的——child类寄存器。
寄存器中的值,始终是根据此次调用(即Crash时的调用)的参数状态。即Parent寄存器保
7
存的Crash function的Caller的参数;而child寄存器保存的是crash本函数的参数。所以可以查看A10、B10??查看异常函数的参数;查看A4/B4??查看上层函数的参数。
同一指令周期并行执行的指令,不能同时使用同一寄存器。
SP /B15 & FP/A15 & PC & DP
1. SP /B15:是栈顶指针(B15可以在gPdb查看)。启动时需要手动初始化。
2. FP/A15:是本函数的栈底指针。现在没有使用,FP始终等于SP。A15没有使用。 3. PC:是PFC(program fetch counter),是取指位置,是jump指令操作的寄存器(不能在
gPdb中查看,也没有具体意义,因为异常处理时PC也会变)
4. DP:初始化是.bss(为全局变量和静态变量保留(不包含const类全局变量))段的起始
地址。用于指示全局变量的基址。启动时需要手动初始化。 5.
SP & B15 (stack pointer)
B15就是SP的值,它们是同一个寄存器。表示栈顶指针。
SP指针必须是8字节对齐的。Unaligned SP Can Cause Application Crash。 B15 is the stack pointer (SP), which points to the next unused location on the stack。
FP & A15 (frame pointer)
A15就是SP寄存器。
The frame pointer is used to read arguments from the stack and to handle register spilling instructions.
A4:A5 & A3 (function return value)
A4 (或者A4:A5):是函数返回值(非结构体返回值)存放的寄存器。通常其值的来源是上一函数的返回值。
A3:如果返回的是一个结构,则返回结构的支持存放在这里。
B3 & IRP & NRP (function return address)
B3:普通函数,当前调用的返回地址。之前调用的返回值已经压入栈中了。 IRP:可掩中断调用返回地址。 NRP:不可掩中断调用返回地址。 B3:
836178A0 AaSysComMsgRelay:
8
836178A0 2246 MV.L1 A4,A1//T1 836178A2 0247 || MV.L2 B4,B0 836178A4 01BC94F6 || STW.D2T2 B3,*SP--[4]
836178A8 9014A121 [!A1] BNOP.S1 C$L37 (PC+40 = 0x836178c8),5//T2 836178AC 80040264 || [ A1] LDW.D1T1 *+A1[0],A0
836178B0 D014A120 [!A0] BNOP.S1 C$L37 (PC+40 = 0x836178c8),5//T3
836178B4 1000C813 CALLP.S2 $Tramp$L$PI$$_AaSysComMsgSend (PC+1600 = 0x83617ee0),B3//T4 //跳转到AaSysComMsgSend函数(FP? AaSysComMsgSend),并把T5的代码的地址保存在B3中 836178B8 00002276 || STW.D1T2 B0,*+A0[1]
836178BC E0200003 .fphead n, l, W, BU, nobr, nosat, 0000001 836178C0 01BC92E6 LDW.D2T2 *++SP[4],B3//下一周期T5 836178C4 6C6E NOP 4
PFC & retPC & PCE1
1. PFC is the program fetch counter
2. retPC represents the address of the first instruction of the execute packet in the DC
stage of the pipeline 3. PCE1 (program counter) represents the address of the first instruction in the fetch
packet in the E1 stage of the pipeline..
Control register file
Table 2-6. Control Registers
Acronym Register Name Section
AMR Addressing mode register Section 2.8.3 CSR Control status register Section 2.8.4
GFPGFR Galois field multiply control register Section 2.8.5 ICR Interrupt clear register Section 2.8.6 IER Interrupt enable register Section 2.8.7 IFR Interrupt flag register Section 2.8.8 …… 此处隐藏:657字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




