software:diy:assembler:kkurs
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:diy:assembler:kkurs [03/10/2006 10:10] – 8088 | software:diy:assembler:kkurs [12/11/2024 21:11] (aktuell) – [Teil 2: Prozessorregister und Befehlssatz (aus PofoInfo 3/97)] bttr | ||
---|---|---|---|
Zeile 33: | Zeile 33: | ||
Dieser Quelltext muß nun in zwei Schritten mit einem Assembler und einem Linker in ein lauffähiges Programm übersetzt werden. Man kann diese zwei Schritte mit einem Batchprogramm zusammenfassen. Die bekanntesten Assembler sind MASM von Microsoft (zugehöriger Linker: LINK), TASM (Linker: TLINK) von Borland sowie der Sharewareassembler A86. Ich selbst benutze Borlands Turbo Assembler, jedoch scheint mir A86 den einfachsten Einstieg zu ermöglichen, | Dieser Quelltext muß nun in zwei Schritten mit einem Assembler und einem Linker in ein lauffähiges Programm übersetzt werden. Man kann diese zwei Schritte mit einem Batchprogramm zusammenfassen. Die bekanntesten Assembler sind MASM von Microsoft (zugehöriger Linker: LINK), TASM (Linker: TLINK) von Borland sowie der Sharewareassembler A86. Ich selbst benutze Borlands Turbo Assembler, jedoch scheint mir A86 den einfachsten Einstieg zu ermöglichen, | ||
- | Neben einem Assembler sollten zur Grundausstattung aber auch Nachschlagewerke zu den Themen Prozessorarchitektur, | + | Neben einem Assembler sollten zur Grundausstattung aber auch Nachschlagewerke zu den Themen Prozessorarchitektur, |
==== Das erste Programm ==== | ==== Das erste Programm ==== | ||
Zeile 211: | Zeile 211: | ||
Von Jan Laitenberger gibt es den __Freeware-Assembler__ JASMIN, der unkomprimiert nur knapp 20 KByte groß ist und speziell für den Einsatz auf dem Portfolio konzipiert wurde. Der begrenzte Funktionsumfang (keine Makros, nur 8086/88, nur COM-Programme) ermöglicht eine sehr einfache Bedienung, so daß JASMIN besonders für Einsteiger gut geeignet ist. Trotz seiner Eigenheiten (Labels müssen mit @ beginnen, Speicherzugriffe sind durch eckige Klammern kenntlich zu machen) ist dieser Assembler ein Muß für Portfolio-Fans! (Bezugsquelle: | Von Jan Laitenberger gibt es den __Freeware-Assembler__ JASMIN, der unkomprimiert nur knapp 20 KByte groß ist und speziell für den Einsatz auf dem Portfolio konzipiert wurde. Der begrenzte Funktionsumfang (keine Makros, nur 8086/88, nur COM-Programme) ermöglicht eine sehr einfache Bedienung, so daß JASMIN besonders für Einsteiger gut geeignet ist. Trotz seiner Eigenheiten (Labels müssen mit @ beginnen, Speicherzugriffe sind durch eckige Klammern kenntlich zu machen) ist dieser Assembler ein Muß für Portfolio-Fans! (Bezugsquelle: | ||
+ | |||
+ | **Update 12.11.2024: | ||
+ | |||
+ | Auszug aus '' | ||
+ | |||
+ | Seit dem 7.10.2006 ist fuer dieses Programm auch der Source-Code | ||
+ | | ||
+ | | ||
+ | in Teilen bedarf der schriftlichen Einwilligung des Autors! | ||
Vielleicht wartet der eine oder andere Leser bereits ungeduldig darauf, endlich die ersten 8086-Befehle (der 8088 ist bekanntlich kompatibel) zu lernen, um selbst ein Assemblerprogramm zu " | Vielleicht wartet der eine oder andere Leser bereits ungeduldig darauf, endlich die ersten 8086-Befehle (der 8088 ist bekanntlich kompatibel) zu lernen, um selbst ein Assemblerprogramm zu " | ||
Zeile 259: | Zeile 268: | ||
Wie die Namen der Segmentregister vermuten lassen, ist es vorgesehen, für Programmcode, | Wie die Namen der Segmentregister vermuten lassen, ist es vorgesehen, für Programmcode, | ||
+ | |||
==== Eine handvoll Befehle ==== | ==== Eine handvoll Befehle ==== | ||
Zeile 276: | Zeile 286: | ||
mov al, | mov al, | ||
; bx im Datensegment steht (indirekte Adressierung) | ; bx im Datensegment steht (indirekte Adressierung) | ||
- | mov cl,[si+3] ; Lädt al mit dem Byte-Wert, der an der Speicherstelle | + | mov cl,[si+3] ; Lädt cl mit dem Byte-Wert, der an der Speicherstelle |
; si+3 im Datensegment steht (indirekte indizierte Adr.) | ; si+3 im Datensegment steht (indirekte indizierte Adr.) | ||
mov [7], | mov [7], |
software/diy/assembler/kkurs.1159865641.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)