OK, put that in English. What is the -S option? My guess that since M is
written in C, that it is what happens to M when it is compiled before it
becomes machine language ??
On Monday 18 July 2005 12:04 am, Gregory Woodhouse wrote:
> If you really want to see (no pun intended) what I compiler does with
> your C code, try the "-S" option. No doubt, what an M to C translator
> would do to most M code is similar. (Actually, the question of
> whether or not it is possible to automatically generate well
> structured code is an interesting, and difficult, problem):
>
>
> #include <stdio.h>
>
> int main()
> {
> int i,j;
> for (i = 1; i <= 100000; i++)
> j = i;
> printf("Hello!\n");
> }
> ~:$ cat test.s
> .section __TEXT,__text,regular,pure_instructions
> .section
> __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
> .machine ppc
> .cstring
> .align 2
> LC0:
> .ascii "Hello!\12\0"
> .text
> .align 2
> .globl _main
> _main:
> mflr r0
> stmw r30,-8(r1)
> stw r0,8(r1)
> stwu r1,-96(r1)
> mr r30,r1
> bcl 20,31,"L00000000001$pb"
> "L00000000001$pb":
> mflr r31
> li r0,1
> stw r0,60(r30)
> b L2
> L3:
> lwz r0,60(r30)
> stw r0,56(r30)
> lwz r2,60(r30)
> addi r0,r2,1
> stw r0,60(r30)
> L2:
> lwz r0,60(r30)
> lis r2,0x1
> ori r2,r2,34464
> cmpw cr7,r0,r2
> ble cr7,L3
> addis r2,r31,ha16(LC0-"L00000000001$pb")
> la r3,lo16(LC0-"L00000000001$pb")(r2)
> bl L_printf$LDBLStub$stub
> lwz r1,0(r1)
> lwz r0,8(r1)
> mtlr r0
> lmw r30,-8(r1)
> blr
> .section
> __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
> .align 5
> L_printf$LDBLStub$stub:
> .indirect_symbol _printf$LDBLStub
> mflr r0
> bcl 20,31,"L00000000001$spb"
> "L00000000001$spb":
> mflr r11
> addis r11,r11,ha16(L_printf$LDBLStub$lazy_ptr-"L00000000001
> $spb")
> mtlr r0
> lwzu r12,lo16(L_printf$LDBLStub$lazy_ptr-"L00000000001$spb")
> (r11)
> mtctr r12
> bctr
> .lazy_symbol_pointer
> L_printf$LDBLStub$lazy_ptr:
> .indirect_symbol _printf$LDBLStub
> .long dyld_stub_binding_helper
> .subsections_via_symbols
> ~:$
>
> ===
> Gregory Woodhouse
> [EMAIL PROTECTED]
>
> "The policy of being too cautious is
> the greatest risk of all."
> --Jawaharlal Nehru
>
> On Jul 17, 2005, at 7:21 PM, Chris Richardson wrote:
> > Why bother going from MUMPS to C? MUMPS is faster than most other
> > database
> > access methods. The major problem with code translators is that
> > the code
> > they usually generate is not very supportable and nearly impossible to
> > modify. It would be far better to embark on a modernization
> > program for the
> > existing code that was written to the old architecture constraints
> > that are
> > no longer issues. This will buy us better modularity,
> > interoperability,
> > and better code reuse as well as increased execution speed and smaller
> > symbol tables. Big job? Yes, but it also will have big payoffs.
>
> -------------------------------------------------------
> SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
> from IBM. Find simple to follow Roadmaps, straightforward articles,
> informative Webcasts and more! Get everything you need to get up to
> speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
> _______________________________________________
> Hardhats-members mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/hardhats-members
--
Nancy Anthracite
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Hardhats-members mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hardhats-members