@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @ @ Assembly file for "getchannel" @ @ @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Author: Yu-Fang Wu @ Date: 20th October, 2003 @---------------------------------------------------------------------- @ Assembly language preamble for the main module .text @ Executable code follows .global getABC @ Declare function getABC .global getSeven @ Declare function getSeven .global getNine @ Declare function getNine .global getTen @ Declare function getTen .global getSBS @ Declare function getSBS @---------------------------------------------------------------------- .equ channel_ABC, 0x00030000 .equ channel_Seven, 0x00030001 .equ channel_Nine, 0x00030002 .equ channel_Ten, 0x00030003 .equ channel_SBS, 0x00030004 getABC: mov ip, sp @ Save the callers Stack pointer into ip stmfd sp!, {fp, ip, lr, pc, r0} @ Store things that need to be preserved sub fp, ip, #4 @ Set up frame pointer ldr r0, =channel_ABC ldrb r0, [r0] getABC_done: ldmea fp, {fp, sp, pc} @---------------------------------------------------------------------- getSeven: mov ip, sp @ Save the callers Stack pointer into ip stmfd sp!, {fp, ip, lr, pc, r0} @ Store things that need to be preserved sub fp, ip, #4 @ Set up frame pointer ldr r0, =channel_ABC ldrb r0, [r0] getSeven_done: ldmea fp, {fp, sp, pc} @---------------------------------------------------------------------- getNine: mov ip, sp @ Save the callers Stack pointer into ip stmfd sp!, {fp, ip, lr, pc, r0} @ Store things that need to be preserved sub fp, ip, #4 @ Set up frame pointer ldr r0, =channel_ABC ldrb r0, [r0] getNine_done: ldmea fp, {fp, sp, pc} @---------------------------------------------------------------------- getTen: mov ip, sp @ Save the callers Stack pointer into ip stmfd sp!, {fp, ip, lr, pc, r0} @ Store things that need to be preserved sub fp, ip, #4 @ Set up frame pointer ldr r0, =channel_ABC ldrb r0, [r0] getTen_done: ldmea fp, {fp, sp, pc} @---------------------------------------------------------------------- getSBS: mov ip, sp @ Save the callers Stack pointer into ip stmfd sp!, {fp, ip, lr, pc, r0} @ Store things that need to be preserved sub fp, ip, #4 @ Set up frame pointer ldr r0, =channel_ABC ldrb r0, [r0] getSBS_done: ldmea fp, {fp, sp, pc} @---------------------------------------------------------------------- .end