正在加载图片...
指令的条件两15种) 条件执行 条件 助记符后银 标志 含义 0000 EO Z置位 相等 ·条件执行可避免使用分支指令 0001 NE Z清零 不相等 ·Example C置位 无符号数大于或等于 0011 CC C清零 无符号数小于 CMP rO,#5 0100 N置位 负数 BEQ BYPASS :ifc0:5){ ADDr1,r1.ro r1:=r1+r0-r2 0101 N清零 正数或零 SUBr1,r1,r2 注意:条件不成立时, 0110 争 V置位 滋出 BYPASS: 该指令被忽略,等于执 0111 V清零 未漫出 行了一条NOP. 1000 C爱位清零 无符号数大于 使用条件执行 if ((a==b)&&(c==d))e+ 1001 LS C清零Z置位 无符号数小于或等于 CMP rO,#5 1010 GE N等于V 带符号数大于或等于 ADDNE r1,r1,ro: CMP rO,r1 1011 LT N不等于V 带符号数小干 SUBNE r1,r1,r2: CMPEQ r2,r3 1100 GT Z清零且(N等于V) 带符号数大于 ADDEQr4,r4,#1 101 E Z置位或(N不等于V) 带符号数小于或等于 obe:add 2-letter condition after the 3-etter opcode 1110 AL 复略 无第件执行 boxustc.cdu.cn lbooustc.edu.cn 指令格式 ARM7TDMI指令集编码 ◆3地址指令格式 >在ARM状态中使用 1001 fbits n bits n bits n bits 00001001 function op 1 addr.op 2 addr.dest.addr. ◆2地址指令格式 >在ARM和THUMB状态下使用 fbits n bits n bits function op 1 addr.dest.addr. xustc.edu.cn 77 .edu.cn 077 ARM存储器访问指令 单寄存器存储 ARM存储器访问指令一单寄存器存储 LDR和STR一字和无符号字节加载/存储指令编码 LDR和STR一丰字和有特号字节如载/存储指令编玛 B为1表示字节诗问 为0美示幸诗司 W表示回写 5为1表示有特号诗问, 为0表示无特号诗问 P表示前/后变址 L用于制加载L为1 P表示前/后支址 日为1表示来字诗问,为 指个执行的景件码 或存陆(L为0 指执守的件码 0表示字节诗问 318272石7为为73疗1动9165 1711 31282726252232224209 1615 1211 875430 cdb1Puwm U表示如/减 为指的寻址方 1为0,偏量为 为指命的寻址方式 12位 1为0时,偏移量为 Rd为源/g标寺存互 偏移量为寺存移 Rd为源/日标奇存三 12位立即教,为1对, Rn为基址寺存器 Rn为基址寺存耳 偏移量为寺存器移 L用于区刮加我L为1) U表示加/减 W表示四写 或存储L为0) 1177 27llxx@ustc.edu.cn 7/77 条件执行 • 条件执行可避免使用分支指令 • Example CMP r0, #5 ; BEQ BYPASS ; if (r0!=5) { ADD r1, r1, r0 ; r1:=r1+r0-r2 SUB r1, r1, r2 ; } BYPASS: ... CMP r0, #5 ; ADDNE r1, r1, r0; SUBNE r1, r1, r2; ... 使用条件执行 Note: add 2 –letter condition after the 3-letter opcode ; if ((a==b) && (c==d)) e++; CMP r0, r1 CMPEQ r2, r3 ADDEQ r4, r4, #1 注意:条件不成立时, 该指令被忽略,等于执 行了一条NOP。 llxx@ustc.edu.cn 8/77 条件码 助记符后缀 标 志 含 义 0000 EQ Z置位 相等 0001 NE Z清零 不相等 0010 CS C置位 无符号数大于或等于 0011 CC C清零 无符号数小于 0100 MI N置位 负数 0101 PL N清零 正数或零 0110 VS V置位 溢出 0111 VC V清零 未溢出 1000 HI C置位Z清零 无符号数大于 1001 LS C清零Z置位 无符号数小于或等于 1010 GE N等于V 带符号数大于或等于 1011 LT N不等于V 带符号数小于 1100 GT Z清零且(N等于V) 带符号数大于 1101 LE Z置位或(N不等于V) 带符号数小于或等于 1110 AL 忽略 无条件执行 指令的条件码(15种) llxx@ustc.edu.cn 9/77 3地址指令格式 在ARM状态中使用 2地址指令格式 在ARM和 THUMB 状态下使用 指令格式 llxx@ustc.edu.cn 10/77 ARM7TDMI指令集编码 llxx@ustc.edu.cn 11/77 ARM存储器访问指令——单寄存器存储 •LDR和STR——字和无符号字节加载/存储指令编码 指令执行的条件码 I为0时 , 偏 移 量 为 12位立即数,为1时, 偏 移 量 为 寄 存 器 移 位 P表示前/后变址 U表示加/减 B为1表示字节访问, 为0表示字访问 W表示回写 为指令的寻址方式 Rd为源/目标寄存器 Rn为基址寄存器 L用于区别加载(L为1) 或存储(L为0) llxx@ustc.edu.cn 12/77 ARM存储器访问指令——单寄存器存储 •LDR和STR——半字和有符号字节加载/存储指令编码 指令执行的条件码 I为0时 , 偏 移 量 为 12位立即数,为1时, 偏 移 量 为 寄 存 器 移 位 P表示前/后变址 U表示加/减 W表示回写 为指令的寻址方式 Rd为源/目标寄存器 Rn为基址寄存器 L用于区别加载(L为1) 或存储(L为0) S为1表示有符号访问, 为0表示无符号访问 H为1表示半字访问,为 0表示字节访问
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有