zlacker

[parent] [thread] 4 comments
1. varjag+(OP)[view] [source] 2010-07-07 20:29:21
Cool! Now, is there a HOWTO for re-building it to my ARM phone? ;)
replies(1): >>oliveo+c
2. oliveo+c[view] [source] 2010-07-07 20:32:32
>>varjag+(OP)
that's the thing with assembly, you can't port it that easily.
replies(2): >>varjag+13 >>Hoff+z4
◧◩
3. varjag+13[view] [source] [discussion] 2010-07-07 21:16:27
>>oliveo+c
well, exactly
◧◩
4. Hoff+z4[view] [source] [discussion] 2010-07-07 21:44:35
>>oliveo+c
You use a compiler that accepts the assembly code, and produces output for the target architecture.

This was how DEC VMS was ported from VAX to Alpha and later to Itanium, as a substantial part of that operating system is written in VAX Macro32 assembler.

replies(1): >>varjag+36
◧◩◪
5. varjag+36[view] [source] [discussion] 2010-07-07 22:14:29
>>Hoff+z4
That however is very much one-way street. Porting native Itanium assembly (I know, I know..) to VAX would be substantially more challenging task.

Similarly, if you attempt to port this (admittedly neat) system to ARM using such approach there'd be a lot of bumps. Beginning with all those clever SSE2 hacks not being able to expand automatically, through deficiency of caching and optimization assumptions made for original architecture in new circumstances, to conceptual mismatch of certain parts. E.g. what if you want to handle a case when system has to boot up in ARM Thumb mode? You just can't abstract that away with assembly.

[go to top]