android在armv4t中跑
16lz
2021-01-26
http://benno.id.au/blog/2007/11/21/android-neo1973通过这篇文章。决定使用处理未定义指令这种方式。因为最近学了驱动嘛。这是一个练手的机会。
有下面这些指令:(试试吧)
Opcode | Desription | [PDF] Page Number | C | ASM |
---|---|---|---|---|
BLX(1) | Branch, Link, and Exchange | 166 | N/A (Unused in Android) | N/A (Unused in Android) |
BLX(2) | Branch, Link, and Exchange | 168 | User:Cfriedt20081028 Remove from inline assembly with something like #ifdef HAVE_BLX ... (inline asm) ... #else ... (inline asm with equivalent blx code, as shown to the right) ... #endif | User:Cfriedt20081028 Substitute with a macro reference such as #ifdef HAVE_BLX #define BLX(a) / blx a #else #define BLX(a) / mov pc,lr / bx a #endif |
CLZ | Count Leading Zeros | 175 | User:Cfriedt20081028 Remove from inline assembly with something like #ifdef HAVE_CLZ ... (inline asm) ... #else ... (inline asm with equivalent clz code, as shown to the right) ... #endif | User:Cfriedt20081029 #ifdef HAVE_CLZ #define CLZ(Rd,Rm) / clz Rd,Rm #else #define CLZ(Rd,Rm) / ... #endif ... CLZ(Rd,Rm) |
LDRD | Load Registers Doubleword | 200 | User:Cfriedt20081028 Substitute different inline assembly code with something like #ifdef HAVE_LDRD ... (inline asm) ... #else ... (inline asm with ldrd substituted) ... #endif | User:Cfriedt20081028 Substitute with a macro reference such as #ifdef HAVE_LDRD #define LDRD(a,b) / ldrd a,b #else #define LDRD(a,b) / ... #endif |
PLD | Preload Data | 240 | User:Cfriedt20081028 Remove from inline assembly with something like #ifdef HAVE_PLD ... (inline asm) ... #else ... (inline asm with pld removed) ... #endif | User:Cfriedt20081028 Remove or substitute with a macro reference such as #ifdef HAVE_PLD #define PLD(a,b) / pld a,b #else #define PLD(a,b) #endif ... PLD(r0,#0) |
SMLA<x><y> | Signed Multiply-Accumulate | 291 | ||
SMLAL<x><y> | Signed Multiply Accumulate Long | 298 | ||
SMLAW<y> | Signed Multiply-Accumulate Word | 302 | ||
SMUL<x><y> | Signed Multiply | 316 | ||
SMULW<y> | Signed Multiply Word | 320 | ||
QADD | Saturating Add | 242 | ||
QDADD | Saturating Double and Add | 249 | ||
QDSUB | Saturating Double and Subtract | 251 | ||
QSUB | Saturating Subtract | 253 | ||
STRD | Store Registers Doubleword | 349 | User:Cfriedt20081028 Substitute different inline assembly code with something like #ifdef HAVE_STRD ... (inline asm) ... #else ... (inline asm without strd) ... #endif |
更多相关文章
- android之wifi移植全过程
- 谈谈Android中WIFI 架构和控制流程
- Android应用程序访问硬件驱动(JNI方式)
- Android对Linux内核做的改动汇总
- Android(安卓)input上报*、#键值笔记
- 充电clientandroid电池(五):电池 充电IC(PM2301)驱动分析篇
- android 背光驱动
- Android(安卓)binder机制(native服务篇)
- android 平台USB wifi驱动移植及使用