abc Asembler - elektronski priručnik
|
%eax |
Ime |
%ebx |
%ecx |
%edx |
%esx |
%edi |
1 |
sys_exit |
int |
- |
- |
- |
- |
2 |
sys_fork |
struct pt_regs |
- |
- |
- |
- |
3 |
sys_read |
unsigned int |
char * |
size_t |
- |
- |
4 |
sys_write |
unsigned int |
const char * |
size_t |
- |
- |
5 |
sys_open |
const char * |
int |
int |
- |
- |
6 |
sys_close |
unsigned int |
- |
- |
- |
- |
Primjer:
Sljedeći primjer koda čita broj sa tastature i prikazuje ga na ekranu:
section .data ;Data segment userMsg db 'Unesite broj: ' ;Ask the user to enter a number lenUserMsg equ $-userMsg ;The length of the message dispMsg db 'Uneseni broj je: ' lenDispMsg equ $-dispMsg section .bss ;Uninitialized data num resb 5 section .text ;Code Segment global _start _start: ;User prompt mov eax, 4 mov ebx, 1 mov ecx, userMsg mov edx, lenUserMsg int 80h ;Read and store the user input mov eax, 3 mov ebx, 2 mov ecx, num mov edx, 5 ;5 bytes (numeric, 1 for sign) of that information int 80h ;Output the message 'Uneseni broj je: ' mov eax, 4 mov ebx, 1 mov ecx, dispMsg mov edx, lenDispMsg int 80h ;Output the number entered mov eax, 4 mov ebx, 1 mov ecx, num mov edx, 5 int 80h ; Exit code mov eax, 1 mov ebx, 0 int 80h
Kada se gore navedeni kod kompajlira i izvrši, on će proizvesti sljedeći rezultat:
Unesite broj:
1234
Uneseni broj je:1234
Segmentni registri < Index > Načini adresiranja