Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ######## PROGRAM GLOWNY ASM ###########
- .data
- SYSEXIT = 60
- EXIT_SUCCESS = 0
- format_d: .asciz "%d"
- format_f: .asciz "%f"
- format_lf: .asciz "%lf"
- format_wynik: .ascii "%lf\n"
- nowa_linia: .asciz "\n"
- .bss
- .comm liczba1, 4 /* int */
- .comm liczba2, 4 /* float */
- .comm liczba3, 8 /* double */
- .text
- .globl main
- main:
- nop
- push %rax
- mov $0, %rax
- mov $format_d, %rdi
- mov $liczba1, %rsi
- call scanf
- pop %rax
- push %rax
- mov $0, %rax
- mov $format_f, %rdi
- mov $liczba2, %rsi
- call scanf
- pop %rax
- push %rax
- mov $0, %rax
- mov $format_lf, %rdi
- mov $liczba3, %rsi
- call scanf
- pop %rax
- mov $2, %rax
- mov $0, %rdi
- mov liczba1, %rdi
- movss liczba2, %xmm0
- movlps liczba3, %xmm1
- stop:
- call funkcja
- mov $1, %rax
- mov $format_wynik, %rdi
- sub $8, %rsp
- call printf
- add $8, %rsp
- end:
- mov $SYSEXIT, %rax
- mov $EXIT_SUCCESS, %rdi
- syscall
- ######### FUNKCJA C #########
- double funkcja(int a, float b, double c){
- return a+b+c;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement