Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

"If" in Assembler

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Bad_King
gesperrt


Anmeldungsdatum: 15.04.2006
Beiträge: 455
Wohnort: nähe Stuttgart

BeitragVerfasst am: 09.06.2006, 20:51    Titel: "If" in Assembler Antworten mit Zitat

Hi,
wie kann ma in Assembler das mit dem "If" machen?
Also welchen befehl gibts dazu?
_________________
Mein Server: http://gianluca.dyndns.org
(Ist meistens nur Tagsüber an)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Infection 93
gesperrt


Anmeldungsdatum: 11.03.2006
Beiträge: 377
Wohnort: Egal, dort wo ein PC ist.

BeitragVerfasst am: 09.06.2006, 20:56    Titel: Antworten mit Zitat

Das ist sehr schwer... Da gibt es sowas nicht, aber etwas Ähnliches:

Code:

CMP AX,HFFFF
;aktionen


CMP steht für Vergleichen (CoMPare).
_________________
Meine Homepage:
www.infection93.org
Und das Forum von mir und King01:
www.infection93.bboard.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 09.06.2006, 23:49    Titel: Antworten mit Zitat

Solche Fragen gehören ins Profi Forum, nicht umsonst steht da
Zitat:
Fragen zu ASM, Programmieren von Hardware/Elektronik mit QB/FB etc.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 10.06.2006, 10:31    Titel: Antworten mit Zitat

so, bevor es verschoben wird...

Code:
CMP AX,FFFF
JZ xxx


Bei einem CMP wird das jeweilige Register mit einem Wert verglichen oder einem anderen Register verglichen.
Wenn beide Werte gleich sind wird das ZERO-FLAG gesetzt. Wenn die Werte nicht gleich sind wird das ZERO-FLAG gelöscht.

Zusätzliche FLAGS werden bei der Überprüfung auch gesetzt. Z.B. ob der Wert größer oder kleiner ist.
JA - Jump Above - Springe wenn größer (16Bit)
JB - Jump Below - Springe wenn kleiner (16Bit)
JG - Jump Greater - Springe wenn größer (7 Bit, mit Vorzeichen)
JL - Jump Lesser - Springe wenn kleiner (7 Bit, mit Vorzeichen)
Kombinationen gibt es dafür auch:
JAE - Jump Above or Equal ( >= )
JBE - Jump Below or Equal ( <= )

Aus diesen ganzen Sprung-Möglichkeiten kannst du dir jede Art von IF-Verschachtelung zusammenbauen.

Die Sprungbefehle selber sind auch noch mal in meinem ASM-Tutorial beschrieben:
http://www.iconsoft.de/index.php?show=tutorial_asm

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
c.m.obrecht



Anmeldungsdatum: 09.03.2006
Beiträge: 377
Wohnort: Hofstetten SO, CH

BeitragVerfasst am: 16.06.2006, 19:36    Titel: Antworten mit Zitat

am besten cmp eax, [zu vergleichender Wert]
je Label... (wenn mit zu vergleichendem Wert übereinstimmt springe zu Label soundso).

wie in BASIC if Variable(das was in eax ist in asm) = zuVergleichender Wert then goto Label
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Marky



Anmeldungsdatum: 02.09.2004
Beiträge: 1173

BeitragVerfasst am: 17.06.2006, 22:40    Titel: Antworten mit Zitat

--> verschoben
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz