@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @ @ Assembly file for "sleep" @ @ @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ Author: Yu-Fang Wu @ Date: 28th September, 2003 @---------------------------------------------------------------------- @ Assembly language preamble for the main module .text @ Executable code follows .global sleep @ Declare function read @---------------------------------------------------------------------- .equ sleep_time, 5000 sleep: 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, =sleep_time bl sleep_loop sleep_loop: subs r0, r0, #1 @ Loop until r0 becomes zero bne sleep_loop sleep_done: ldmea fp, {fp, sp, pc, r0}