...
constant.c
constant.asm
constant.c
#include <stdio.h>
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main(){
int area;
area = LENGTH * WIDTH;
printf("Value of area: %d\n", area);
printf("%c", NEWLINE);
return 0;
}
// Kompilasi
// gcc constant.c -o constant.out
// Hasil
// Value of area: 50
//
constant.asm
; => ASM
var_4= dword ptr -4
; int main(){
push rbp
mov rbp, rsp
sub rsp, 10h
; area = 50
mov [rbp+var_4], 32h ; 50
; printf("Value of area: %d\n", area)
mov eax, [rbp+var_4]
mov esi, eax
mov edi, offset format ; "Value of area: %d\n"
mov eax, 0
call _printf
; putchar("%c", NEWLINE)
mov edi, 0Ah ; c ; 0a = '\n'
call _putchar
; return 0
mov eax, 0
leave
retn
Tidak ada komentar:
Posting Komentar