ccc112a / co112a

課程:計算機結構 -- 筆記、習題與報告
0 stars 52 forks source link

hola.s 修正版程式碼 #3

Open Siling5304 opened 6 months ago

Siling5304 commented 6 months ago
# ----------------------------------------------------------------------------------------
# Writes "Hola, mundo" to the console using a C library. Runs on Linux or any other system
# that does not use underscores for symbols in its C library. To assemble and run:
#
#     gcc hola.s && ./a.out
# ----------------------------------------------------------------------------------------

        .global main

        .text
main:
        push    %rbx                    # we have to save this since we use it

        inc     %rbx                    # rbx is originally 1
        mov     $message, %rdi          # First integer (or pointer) parameter in %rdi
        call    puts                    # puts(message)

        pop     %rbx                    # restore rbx before returning
        ret                             # Return to C library code
message:
        .asciz "Hola, mundo"            # asciz puts a 0 byte at the end