# GNU C 2.7.2.1 # -O2 -fdefer-pop -fomit-frame-pointer -fcse-follow-jumps -fcse-skip-blocks # -fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole # -fforce-mem -ffunction-cse -finline -fcaller-saves -fpcc-struct-return # -frerun-cse-after-loop -fschedule-insns -fschedule-insns2 -fcommon # -fgnu-linker -mpowerpc -mnew-mnemonics .file "TaskASemaphore.c" gcc2_compiled.: .section .rodata .align 2 .LC0: .string "TaskSemaphore" .align 2 .LC1: .string "Can`t obtain semaphore from task B or create my own\n" .align 2 .LC2: .string "con:0/0/640/200/TaskA/CLOSE" .align 2 .LC3: .string "%ld:Task A is active\n" .align 2 .LC4: .string "Couldn`t open CLI Window\n" .section ".text" .align 2 .globl main .type main,@function .long 0x404c main: stwu 1,-112(1) mflr 0 stw 28,96(1) stw 29,100(1) stw 30,104(1) stw 31,108(1) stw 0,116(1) addis 29,0,.LC0@ha addi 3,29,.LC0@l bl PPCObtainSemaphoreByName mr. 30,3 li 28,0 li 31,1 bc 4,2,.L2 lis 0,0x8002 ori 0,0,20480 stw 0,8(1) addi 29,29,.LC0@l stw 29,12(1) stw 30,16(1) addi 3,1,8 bl PPCCreateSemaphore mr. 30,3 bc 4,2,.L3 mr 3,29 bl PPCObtainSemaphoreByName mr. 30,3 bc 4,2,.L2 addis 3,0,.LC1@ha addi 3,3,.LC1@l crxor 6,6,6 bl PPCprintf li 3,20 b .L18 .L3: li 28,1 li 31,0 .L2: addis 3,0,.LC2@ha addi 3,3,.LC2@l li 4,1006 bl PPCOpen mr. 29,3 bc 12,2,.L6 addis 28,0,.LC3@ha .L7: cmpwi 1,31,0 bc 4,6,.L10 mr 3,30 bl PPCObtainSemaphore .L10: li 31,0 .L14: mr 3,29 addi 4,28,.LC3@l mr 5,31 crxor 6,6,6 bl PPCfprintf addi 31,31,1 cmpwi 1,31,9 bc 4,5,.L14 mr 3,30 bl PPCReleaseSemaphore li 31,0 b .L7 .L6: addis 3,0,.LC4@ha addi 3,3,.LC4@l crxor 6,6,6 bl PPCprintf cmpwi 1,28,0 bc 12,6,.L17 mr 3,30 bl PPCDeleteSemaphore .L17: li 3,0 .L18: lwz 0,116(1) mtlr 0 lwz 28,96(1) lwz 29,100(1) lwz 30,104(1) lwz 31,108(1) addi 1,1,112 blr .Lfe1: .size main,.Lfe1-main .ident "GCC: (GNU) 2.7.2.1"