Untuk menggunakan assembly dalam bahasa C atau C++ kita bisa menggunakan kata "asm". Contoh :
#include <stdio.h>
int main(){
int s = 10;
int d;
//d=10
//penjumlahan d++
asm ("mov %1, %0\n\t" //d=s
"inc %0"
: "=r" (d)
: "r" (s)
);
printf("d++, %d\n", d);
//d=10
//Pengurangan d--
asm ("mov %1, %0\n\t" //d=s
"dec %0"
: "=r" (d)
: "r" (s));
printf("d--, %d\n", d);
//d=10
//penjumlahan d+=3
asm ("mov %1, %0\n\t" //d=s
"add $3, %0"
: "=r" (d)
: "r" (s)
);
printf("d+=3, %d\n", d);
//d=10
//pengurangan d-=3
asm ("mov %1, %0\n\t" //d=s
"sub $3, %0"
: "=r" (d)
: "r" (s)
);
printf("d-=3, %d\n", d);
//d=10
//SHL d <<= 1
asm ("mov %1, %0\n\t" //d=s
"shl $1, %0"
: "=r" (d)
: "r" (s));
printf("d <<= 1, %d\n", d);
//d=10
//SHR d >>= 1
asm ("mov %1, %0\n\t" //d=s
"shr $1, %0"
: "=r" (d)
: "r" (s));
printf("d >>= 1, %d\n", d);
return 0;
}
- volatile : digunakan untuk mengabaikan optimisasi yang dilakukan compiler. Optimisasi yang dilakukan compiler kadang akan membuang sebagian baris dianggap tidak berguna.
- goto : Untuk melakukan lompatan ke suatu label.