文章目录
概要
加法指令包含ADC、ADD、ADR,下表为各指令的汇编程序和一条指令所需要的周期数:
序号 | 描述 | 汇编程序 | 所需要的机器周期 |
1 | 3-bit immediate | ADDS Rd,Rn,#<imm> | 1 |
2 | All register Lo | ADDS Rd,Rn,Rm | 1 |
3 | Any to Any | ADD Rd,Rn,Rm | 1 |
4 | Any to PC | ADD PC,PC,Rm | 3 |
5 | 8-bit immediate | ADDS Rd,Rd,#<imm> | 1 |
6 | With carry | ADCS Rd,Rd,Rm | 1 |
7 | Immediate to SP | ADD SP,SP,#<imm> | 1 |
8 | Form address from SP | ADD Rd,SP,#<imm> | 1 |
9 | Form address from PC | ADR Rd,<label> | 1 |
注:1、指令后加后缀S表示指令操作完成后需要更新APSR寄存器中对应的标志
举例说明
1、ADDS Rd,Rn,#<imm> 将Rn寄存器的内容和3bit的立即数#imm相加,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z、C 和V标志
2、ADDS Rd,Rn,Rm 将Rn寄存器的内容和Rm寄存器的内容相加,结果保存在寄存器Rd中,并且更新寄存器APSR中的N、Z、C和V标志
3、ADD Rd,Rn,Rm 将Rn寄存器的内容和Rm寄存器的内容相加,结果保存在寄存器Rd中
4、ADD PC,PC,Rm 将Rm寄存器的内容复制到PC寄存器中去
5、ADDS Rd,Rd,#<imm> 将Rd寄存器的内容和8bit的立即数#imm相加,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z、C 和V标志
6、ADCS Rd,Rd,Rm 将Rm寄存器的内容和Rd寄存器的内容相加,结果保存在寄存器Rd中,并且更新寄存器APSR中的 N、Z、C 和V标志
7、ADD SP,SP,#<imm> 将SP寄存器的内容和8bit的立即数#imm相加,结果保存在寄存器SP中
8、ADD Rd,SP,#<imm> 将SP寄存器的内容和8bit的立即数#imm相加,结果保存在寄存器Rd中
9、ADR Rd,<label> 将PC寄存器的内容与标号所表示的偏移量进行相加,结果保存在寄存器Rd中
未完待续。。。