==================== Source Code: hello.s [TOC] ==================== ---- CODE (file=session14/hello.s, type=s) ---------- .data .L0 .string "hello\n" .text .equ SP, 1 loadz 0, %SP call main, %2 halt 0 // function foo foo: subq 8, %SP, %SP movq %2, (%SP) // begin of function body .equ p, 2 .equ ch, 3 loadz .L0, %p .while: movzbq (%p), %ch subq 0, %ch, %ch jz .done putc %ch addq 1, %p, %p jmp .while .done: // end of function body movq (%SP), %2 addq 8, %SP, %SP ret %2 // function main main: subq 8, %SP, %SP movq %2, (%SP) // begin of function body call foo, %2 // end of function body movq (%SP), %2 addq 8, %SP, %SP ret %2 -----------------------------------------------------