Nasm-tutorial

akosch

Grünschnabel
Hi Leute!

Seit dem ich die Seite: http://www.tutorials.de/tutorials20706.html
gefunden habe, möchte ich die ganze Code auch verstehen und nun bin ich schon seit 3 Stunden (Google, Chat, Bekannte) auf der Suche nach einem Nasm-tutorial für ANFÄNGER ... Ohne Erfolg. Ich habe jede Menge für MASM und TASM gefunden, aber nichts über NASM :( . Nun hoffe ich, dass Jemand von euch mir helfen kann. Ich würde mich auch für irgend welche Vorschläge freuen, die mir weiterhelfen könnten.

Danke im voraus!
MfG, akosch
 
Hi, danke für deine Antwort!

z.b.:

.model tiny
.data
Hello db 'Hello World','$'
.code
Start:
mov ax,@data
mov ds,ax
mov ah,9
mov dx,OFFSET Hello
int 21h

mov ah,4Ch
int 21h
end Start

... kann ich nicht mit Nasm complimieren.
Zeilen 1,2,9 und 14 sind fehlerhaft. Scheinbar ist die Syntax von Nasm, Tasm und Masm verschieden.
Das Tutorial, aus dem ich die Code habe, ist aber nicht für Nasm.
So kann ich nicht üben ... :(
Deswegen würde ich mich über ein Nasmtut sehr freuen!
Oder vielleicht könnte man die Code(Os) in Masms oder Tasms Syntax übertragen und dann könnte ich mit Masm bzw. Tasm weitermachen.

MfG, akosch
 
Ja, die Assemblerdirektiven sind produktspezifisch. Ich glaube aber, dass es bei NASM einen TASM-Kompatiblitätsmodus gibt... irgendwas mit -t oder so. Einfach mal im Manual suchen oder googlen :)
 
Code:
segment code

..start:
	mov ax, data
	mov ds, ax
	mov ss, ax
	mov sp, stacktop

	mov dx, hello
	mov ah, 9
	int 21h

	mov ah, 4Ch
	int 21h

segment data
	hello: db 'Hello World!', 13, 10, '$'
	
segment stack stack
	resb 64
stacktop:

compilen mit:
nasm hworld.asm -fobj -o hworld.obj

linken mit alink (alink.sourceforge.net):
alink hworld.obj -oEXE

Fuer NASM gibt's so gut wie keine Tutorials.
Lern erstmal TASM/MASM dann ist der Umstieg auf NASM nicht so schwer.
Die offizielle Doku ist das beste Handbuch, was es fuer NASM gibt!
 
thx! Lerne schon seit 2 Wochen Tasm! Läuft ziemlich gut! :)
Eigentlich kann man garnicht soviel lernen ...
Assembler ist gar nicht so schwer, aber wenn ich mir ne Code anschaue dann muss ich noch viel nachdenken und oft auch nachschauen, was was ist ... Deswegen freue ich mich über jede Code, die ich finden kann! :)
 
Zuletzt bearbeitet:
Schau am besten mal in der Doku nach. Da steht eigentlich alles :)

Ein Unterschied z.b. zwischen NASM und TASM/MASM ist:
Code:
TASM/MASM
mov ax, offset text
NASM
mov ax, text

TASM/MASM
mov es:[di], al
NASM
mov [es:di], al
 

Neue Beiträge

Zurück