abc Asembler - elektronski priručnik
|
Specifikator tipa |
Adresirani bajtovi |
BYTE |
1 |
WORD |
2 |
DWORD |
4 |
QWORD |
8 |
TBYTE |
10 |
Primjer
Sljedeći program ilustruje neke od gore navedenih koncepata. On sprema ime 'Pero Ćuk' u data sekciji memorije, zatim programski mijenja njegovu vrijednost u drugo ime 'Jovo Ćuk' i prikazuje oba imena.
section .text
global _start ;must be declared for linker (ld)
_start: ;tell linker entry point
;writing the name 'Pero Cuk'
mov edx,9 ;message length
mov ecx, name ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov [name], dword 'Jovo' ; Changed the name to Jovo Cuk
;writing the name 'Jovo Cuk'
mov edx,8 ;message length
mov ecx,name ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
name db 'Pero Cuk '
Kada se gore navedeni kod kompajlira i izvrši, on će proizvesti sljedeći rezultat:
Pero Cuk Jovo Cuk
Indirektno memorijsko adresiranje < Index > Varijable
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |