abc Asembler - elektronski priručnik
II dio Radno okruženje

II dio Radno okruženje

Ovdje ćemo za programiranje u asemblerskom jeziku koristiti online NASM asembler (Netwide assembler), gdje možemo izvršavati sve navedene primjere. Možemo ga naći na adresi
http://www.compileonline.com/.

Izvršimo sljedeći primjer:

Section   .text
    global _start	;must be declared for linker (ld)
_start:  			;tells linker entry point
    mov   edx,len 	;message length
    mov   ecx,msg   ;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
msg db 'Hello, world!', 0xa     ;our string
len equ $ - msg                 ;length of our string

Asemblerski jezik je zavisan od seta instrukcija i arhitekture procesora. Ovdje ćemo se fokusirati na Intel 32 procesore kao što je Pentium.
Postoje mnogi dobri asemblerski programi kao što su:

  • Microsoft Assembler (MASM)
  • Borland Turbo Assembler (TASM)
  • GNU assembler (GAS)

Mi ćemo koristiti NASM asembler, zato što je:

  • Besplatan. Može se skinuti sa različitih izvora na webu.
  • Dobro je dokumentovan i na netu se može naći mnogo informacija o njemu.
  • Može se koristiti i na Linux-u i na Windows-u.

Adresiranje podataka u memoriji    <    Index    >    Osnovna sintaksa