Axırki işlədə bildim :) Çox sağolun minnnətdaram sizə sizin o kitab olmasa necə öyrənəcəkdim bunu bilmirəm çox sağolun
Zəhmət olmasa işləməyən kodu və daxil etdiyiniz əmrləri də göstərin.
Nasm yükləmişəm aşağıdakı kod işləyir nasm ilə
[code]
section .text
global _start ;must be declared for using gcc
_start: ;tell 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 dear string
len equ $ - msg ;length of our dear string
[/code]
Bu əmrlərlə:
$ nasm -f elf yeni.asm
$ ld -s -o yeni yeni.o
Orda yazıldığı kimi eliyirəm as ilə başlayan ilk əmri yazanda səhv olur yazır:
prg1.s: Çevirici iletileri:
prg1.s:3: Hata: sembol adı beklendi.
İlkaddimlardakı kodlar nasm -da yox, as -de işleyir. O birinci buraxılışdı. Aşağıdakı keçidden 2-ci buraxılışı yükle. Orada kompilyasiya ve icra qaydası gösterilib.
Assembler 2
Mən elə linux işlədirəm nasm ilə kompilyasiya eliyrəm amma ilkaddımlardakı kodların heç biri işləmir tutorialpoints.com da online asm kompilyatorundakı hello word kodu problemsiz işləyir
İlkaddimlardakı kodlar linux üçün tertib olunub , windowsda işletmek üçün müvafiq GNU proqramlarının (as, ld, gdb) windows versiyasın yüklemek lazımdır, MinGw layihesi, sourceforge.net
Zehmet olmasa işlemeyen kodu yazın.
Linuxda Assembler dili ilə proqramlaşdırma
Assemblerdə böyük ədədlər hesablanmır