Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

C--

Alter Hase

  • »C--« ist der Autor dieses Themas

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

1

10.07.2009, 18:54

Zitat von »"Faule Socke"«

Hab ich grade entdeckt: http://de.wikibooks.org/wiki/Assembler

Habs noch nicht gelesen, aber nach allem was ich gehört habe, soll es gut sein. Inhalt sah aber etwas mager aus.

PS: Timma du kannst ja mal alle links hier aus den threads kopieren und zusammenfassen in ein paar wenige threads.(Einer für E-Books, einer für Tuts, einer für Software, einer sonstiges etc etc...)

Socke


Vielleicht haste das Buch ja jetzt gelesen, ich bin gerad dabei und hab n Problem bei "4.3 ”HelloWorld”-Programm

Zitat von »"4.3"«

Quellcode

1
2
3
4
5
6
7
8
9
10
org 100h
start:
mov dx,hello_world
mov ah,09h
int 21h
mov al, 0
mov ah,4Ch
int 21h
section .data
hello_world: db ’hello, world’, 13, 10, ’$’


Wenn ich das jetzt mit nasm übersetzen lasse, dann kommt da der Fehler

Zitat von »"nasm"«

HelloW.asm:10: error: expression syntax error


Ist da n Fehler im Buch, oder mach ich vielleicht was falsch :?:

Ich hoffe, dass mir jemand helfen kann... :o
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

2

10.07.2009, 19:22

Ich hab das mal hierher verschoben...
fka tm

C--

Alter Hase

  • »C--« ist der Autor dieses Themas

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

3

10.07.2009, 19:37

Zitat von »"TrikkieMikkie"«

Ich hab das mal hierher verschoben...


:oops: Danke, ich wusste nicht, wo ich das reinposten sollte, dachte, hängs mal hinten dran. :idea:
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

4

10.07.2009, 19:38

Der Doppelpunkt in Zeile 10 ist zu viel, das ist kein Label ;)

C--

Alter Hase

  • »C--« ist der Autor dieses Themas

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

5

10.07.2009, 19:47

Zitat von »"K-Bal"«

Der Doppelpunkt in Zeile 10 ist zu viel, das ist kein Label ;)


Hab ich entfernt, Fehler bleibt :(
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

10.07.2009, 19:59

Stringliterale kommen zwischen " ". Der Doppelpunkt ist ziemlich egal an dieser Stelle.

C--

Alter Hase

  • »C--« ist der Autor dieses Themas

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

7

10.07.2009, 20:03

Zitat von »"David_pb"«

Stringliterale kommen zwischen " ". Der Doppelpunkt ist ziemlich egal an dieser Stelle.


Auch ersetzt, Fehler bleibt, mit oder ohne Doppelpunkt :cry:
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

10.07.2009, 20:09

Folgendes funktioniert bei mir tadellos:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
segment code

start:
  mov   ax, data
  mov   ds, ax
  
  mov   dx, hello_world
  mov   ah, 09h
  int   21h
  
  mov   ax,4C00h
  int   21h
  
section data
  hello_world: db "hello, world", 13, 10, "$"


Oder halt die "com" Variante:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
;segment code
org 100h

start:
  ;mov  ax, data
  ;mov  ds, ax
  
  mov   dx, hello_world
  mov   ah, 09h
  int   21h
  
  mov   ax,4C00h
  int   21h
  
section .data
  hello_world: db "hello, world", 13, 10, "$"

C--

Alter Hase

  • »C--« ist der Autor dieses Themas

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

9

10.07.2009, 20:25

Edit:: Quote rausgenommen

Eigentlich ist nur "mov ax,4C00h" neu, was macht das fürn unteschied, wenn ich 4Ch oder 4C00h schreibe, und wenn ich das richtig versteh, sind AH und AL teile von AX, oder nicht?

Andere Frage: Welche ist die "nicht-"com"-Variante"?(Edit: Ich meine welchen Zweck hat die "nicht-"com"-Variante")

Edit: Es funktioniert :idea:
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

10.07.2009, 23:18

Zitat von »"C--"«


Eigentlich ist nur "mov ax,4C00h" neu, was macht das fürn unteschied, wenn ich 4Ch oder 4C00h schreibe, und wenn ich das richtig versteh, sind AH und AL teile von AX, oder nicht?


Deswegen machts auch keinen großen Unterschied, du hast halt eine Instruktion weniger und dein Code wird etwas übersichtlicher. Und selbstverständlich ist nicht nur das neu, sondern auch die doppelten Anführungszeichen die dein Stringliteral definieren.

Zitat von »"C--"«


Andere Frage: Welche ist die "nicht-"com"-Variante"?(Edit: Ich meine welchen Zweck hat die "nicht-"com"-Variante")


Von den beiden Varianten die ich gepostet habe ist das natürlich die, über der nicht "com" Variante steht! Der Zweck ist ein die Möglichkeit ein Exe- statt einer Com-Datei zu erstellen.

Zitat von »"C--"«


Edit: Es funktioniert :idea:


Sag ich doch!

Werbeanzeige