# Nasm-tutorial



## akosch (31. März 2003)

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


----------



## Matthias Reitinger (31. März 2003)

Welches Problem hast du denn genau? Wenn es nur um Assembler an sich geht: Egal ob TASM, MASM oder NASM, der Code-Teil sieht immer gleich aus.


----------



## akosch (1. April 2003)

Hi, danke für deine Antwort!

z.b.:



> .model tiny
> .data
> Hello db 'Hello World','$'
> .code
> ...



... 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


----------



## Matthias Reitinger (1. April 2003)

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


----------



## Kimble (1. Mai 2003)

```
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!


----------



## akosch (1. Mai 2003)

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!


----------



## Kimble (1. Mai 2003)

Schau am besten mal in der Doku nach. Da steht eigentlich alles 

Ein Unterschied z.b. zwischen NASM und TASM/MASM ist:

```
TASM/MASM
mov ax, offset text
NASM
mov ax, text

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


----------

