Asembler - Porady dla poczatkującego

0

Dopiero zaczynam przygodę z tym językiem. Na uczelni logujemy się przez putty z serwerem i tam tworzymy nowe pliki i piszemy to. Tylko to jest dość uporczywe i nie wygodne... Czy jest jakiś program hmm kompilator do tego? Chciałbym pisać pod linux ale na systemie windows. Przy okazji chciałbym się dowiedzieć gdzie szukać jakiś materiałów tutoriali itp. bo jak szukam coś sam to odbiega to od sposobu w jakim na zajęciach to przerabiamy wiec może zamieszczę tutaj przykładowy kod:

	section .text
	global _start
	
	_start:
		mov	eax, 3
		mov	ebx, 0
		mov	ecx, text
		mov	edx, [dlugosc]
		int	80h
		
		mov	eax, 4
		mov	ebx, 1
		mov	ecx, text
		mov	edx, [dlugosc]
		int	80h
		
		mov	eax, 1
		int	80h
	
	section .data
	
	text	db	"0", 0ah
	dlugosc	dd	$ - text 

Wiem że są różnice miedzy windows a linux ale czy to jeszcze się bardziej dzieli ze wzgledu na coś?

1

Różnic między systemami nie ma. Ale są różne skladnie asemblera. Jeśli chodzi o kompilatory to masz masm, fasm, nasm. Jeśli chodzi o przydatne narzędzie to jest emu8086.

1

Możesz zainteresować się cygwin'em. Powinien obsługiwać STARE syscall'e z linuxa tj. int 80h.

Co do porządnej literatury (asm pod linuxem) to masz "Proffesional Assembly Language", Richarda Blum'a wydawnictwa WROX.
Książka jest angielska, lecz język użyty w niej jest bardzo prosty.

1

Z doświadczenia( niezbyt ogromnego) polecam:

1: Kurs Asm by Gynvael Coldwind. Rożni się on trochę od tego jak konstruujecie programy(*Gyn *używa własnego asmloadera dla ułatwienia nauki , ale główne informacje(tj. instrukcje, itp.) są takie same).
Link do kursu//gynvael.coldwind.pl/?id=445

2: Do kompilowania polecam NASM, bo:
-jest dostępny na Windows i na Linux
-w odróżnieniu od innych kompilatorów pisze się w nim używając języka assembly( czego nie można powiedzieć o MASM)
Link do NASM//www.nasm.us/

3: Naucz się korzystać z Manuali Intela. Polecam zacząć od vol.1 , 2a, 2b.
Link do Manual Intel: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

  1. Miej świadomość co jest aktualnie na stosie i dlaczego akurat tej instrukcji/rejestru używasz.

Cheers

1 użytkowników online, w tym zalogowanych: 0, gości: 1