Changes between Version 1 and Version 2 of ArmPortingNotes


Ignore:
Timestamp:
04/03/08 08:39:09 (6 years ago)
Author:
gb
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ArmPortingNotes

    v1 v2  
    1010 
    1111ARM instructions are generally 32 bits wide; many ARM variants offer an alternate 16-bit instruction set ("THUMB") that offers improved code density, generally at the cost of dropping some ARM features (conditional execution, pre-shifted operands) and making it a bit awkward to access all 16 GPRs. 
    12 (There's also something in newer ARMs which allows a mixture of 32/16 bit THUMB instructions.)  We might be able to use THUMB-encoding in some very specialized cases, but it's not clear how attractive this is.) 
     12(There's also something in newer ARMs which allows a mixture of 32/16 bit THUMB instructions.)  We might be able to use THUMB-encoding in some very specialized cases, but it's not clear how attractive this is. 
    1313 
    1414== Alignment == 
     
    7070@back 
    7171    (sub fn pc whatever) ; FN = pc - offset of this instruction 
    72 }}] 
     72}}} 
    7373 
    7474=== Call without "fn" register example === 
     
    114114  (add pc nil disp) ; assuming that "disp" is an appropriate ARM constant. 
    115115@back 
    116 }} 
     116}}} 
    117117 
    118118or 
     
    147147Exception handling seems to work (at least under Linux.)  The iPhone SDK headers show that the Apple ARM-based systems are Mach-based, and I assume that that means that exception handling needs to be done at the Mach level on those systems. 
    148148 
    149  
    150 I