android在armv4t中跑

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:Cfriedt 20081028 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:Cfriedt 20081028 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:Cfriedt 20081028 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:Cfriedt 20081029

#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:Cfriedt 20081028 Substitute different inline assembly code with something like

#ifdef HAVE_LDRD ... (inline asm) ... #else ... (inline asm with ldrd substituted) ... #endif

User:Cfriedt 20081028 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:Cfriedt 20081028 Remove from inline assembly with something like

#ifdef HAVE_PLD ... (inline asm) ... #else ... (inline asm with pld removed) ... #endif

User:Cfriedt 20081028 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:Cfriedt 20081028 Substitute different inline assembly code with something like

#ifdef HAVE_STRD ... (inline asm) ... #else ... (inline asm without strd) ... #endif

你可能感兴趣的:(android,user,assembly,Exchange,reference,branch)