Schleifen in Assembler, Ein Address Maschine
-
Hallo,
Ich muss für jede Schleife den dazugehörigen Assembler Code schreiben, dabei bezieht der sich auf eine ein address maschine (von Neumann).
Also ich soll eine while(x!=4) schleife machen, ganz allgemein, eine
do while (x!=4) und eine schleife machen.
Könnt Ihr mir dabei helfen??
-
bei etwas genaueren Angaben, gerne.
(welcher Assembler oder Inlineasm, welche konkrete Maschine?)
-
also ich weiß nicht genau welcher assembler oder was das bedeutet, ich weiß nur, dass es eine "Ein Address Maschine" ist und ich eben diese Schleifen programmieren soll^^
lg
-
geh doch mal in den Baumarkt und frag den Verkäufer nach einem Werkzeug von dem du nicht wüßtest für was man es verwendet noch wie es aussieht – der wird sich freuen
-
Ganz allgemein:
;while (x != 4) Label1: Springe, wenn x == 4 zu Label2 ; mach was mit x Springe zu Label1 Label2:
;do while (x != 4) Label1: ; mach was mit x Springe, wenn x != 4 zu Label1
Die bedingten Sprünge muss man evtl. etwas anders formulieren. Zum Beispiel kann man vier subtrahieren und dann auf Null testen.
-
vielen dank für deine antwort Paul Müller
-
Hallo,
so könntest du das bei 16 Bit Assembler machen.
.model small .stack 100 .data x db 9 .CODE start: mov ax,@data mov ds,ax schleife: cmp x,4 jne schleife mov ah,4ch int 21h end start