ORIGINAL C PROGRAM #include main(int argc, char **argv) { int a, b, c; a = b + c; printf("Hello world\n"); } ASSEMBLY VERSION PRODUCED BY CC ON ALPHA .ugen .verstamp 3 11 .extern _iob 448 .extern optarg 8 .extern optind 4 .extern opterr 4 .extern SINFINITY 4 .extern DINFINITY 8 .extern SQNAN 4 .extern DQNAN 8 .extern SSNAN 4 .extern DSNAN 8 .data .align 3 .align 0 $$17: .ascii "Hello world\X0A\X00" .text .align 4 .file 2 "hello.c" .globl main .loc 2 3 # 1 #include # 2 main(int argc, char **argv) # 3 { .ent main 2 main: .option O1 ldgp $gp, 0($27) lda $sp, -96($sp) stq $26, 0($sp) stq $16, 48($sp) stq $17, 56($sp) .mask 0x04000000, -96 .frame $sp, 96, $26, 48 .prologue 1 .loc 2 3 .loc 2 5 # 4 int a, b, c; # 5 a = b + c; ldl $1, 32($sp) ldl $2, 24($sp) addl $1, $2, $3 stl $3, 40($sp) .loc 2 6 # 6 printf("Hello world\n"); lda $16, $$17 .livereg 0x0001C002,0x00000000 jsr $26, printf ldgp $gp, 0($26) .loc 2 7 # 7 } bis $31, $31, $0 .livereg 0xFC7F0002,0x3FC00000 ldq $26, 0($sp) lda $sp, 96($sp) ret $31, ($26), 1 .end main PARTIAL DIS-ASSEMBLY FROM OBJECT FILE PRODUCED BY CC (note: some parts deleted for brevity.) 00000170 00000080 .... PAL* 00000174 00000000 .... PAL* 00000178 00000080 .... PAL* 0000017c 00000000 .... PAL* 00000180 00000010 .... PAL* 00000184 00000000 .... PAL* 00000188 00000228 ...( PAL* 0000018c 00000000 .... PAL* 00000190 00000388 .... PAL* 00000194 00000000 .... PAL* 00000198 00000000 .... PAL* 0000019c 00000000 .... PAL* 000001a0 00000002 .... PAL* 000001a4 04000000 .... Res 000001a8 23deffa0 #... LDA $30, FFA0($30) 000001ac 27bb0001 '... LDAH $29, 0001($27) 000001b0 23bd8070 #..p LDA $29, 8070($29) 000001b4 b75e0000 .^.. STQ $26, 0000($30) 000001b8 b63e0038 .>.8 STQ $17, 0038($30) 000001bc b61e0030 ...0 STQ $16, 0030($30) 000001c0 a03e0020 .>. LDL $01, 0020($30) 000001c4 a05e0018 .^.. LDL $02, 0018($30) 000001c8 a61d8010 .... LDQ $16, 8010($29) 000001cc a77d8018 .}.. LDQ $27, 8018($29) 000001d0 40220003 @".. ADDL $01, $02, $03 000001d4 b07e0028 .~.( STL $03, 0028($30) 000001d8 22108000 "... LDA $16, 8000($16) 000001dc 6b5b4000 k[@. JSR $26, 4000($27) 000001e0 27ba0001 '... LDAH $29, 0001($26) 000001e4 a75e0000 .^.. LDQ $26, 0000($30) 000001e8 23bd8038 #..8 LDA $29, 8038($29) 000001ec 47ff0400 G... BIS $31, $31, $00 000001f0 23de0060 #..` LDA $30, 0060($30) 000001f4 6bfa8001 k... RET $31, 8001($26) 000001f8 00000001 .... PAL* 000001fc 0602000c .... Res 00000200 00000000 .... PAL* 00000204 00000000 .... PAL* 00000208 00000000 .... PAL* 0000020c ffffffec .... BGT 00000210 00000000 .... PAL* 00000214 00000000 .... PAL* 00000218 6c6c6548 lleH /PAL/ 0000021c 6f77206f ow o /PAL/ 00000220 0a646c72 .dlr Res 00000224 00000000 .... PAL* 00000228 00008070 ...p PAL* 0000022c 00000000 .... PAL* 00000230 00000000 .... PAL* 00000234 00000000 .... PAL* 00000238 00000004 .... PAL* 0000023c 00000000 .... PAL* 00000240 00000004 .... PAL* 00000244 00000006 .... PAL* 00000248 00000008 .... PAL* 0000024c 00000000 .... PAL* 00000250 0000000d .... PAL*