AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Assembler: Proc oder Macro?

Ein Thema von moritz · begonnen am 29. Sep 2004 · letzter Beitrag vom 30. Sep 2004
 
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#1

Assembler: Proc oder Macro?

  Alt 29. Sep 2004, 19:34
Sers,

ich beschäftige mich seit kurzer Zeit mit Assembler und bin gerade dabei ein Programm zu schreiben, dass PI nach der Monte-Carlo-Methode berechnet. Ich bin gerade dabei, die Anzahl der Tropfen einzulesen und habe dafür das folgende Macro geschrieben:
Code:
get_dropcount Macro buffer
    PUSHA
    MOV DX , OFFSET buffer
    MOV AH , 0Ah
    INT 21h
    CMP buffer.anz , 0
    JE Null
    JNE Ende
  Null:
    echo msg4 ; Null ausgeben
    POPA
  Ende:
    echo msg5 ; Nicht Null ausgeben
    POPA
EndM
Die Struktur von Buffer ist
Code:
  puffer   STRUC
    max      DB       13
    anz      DB       ? 
    txt      DB       16 DUP (?)
  puffer   ENDS    
  buffer   puffer   <>
und echo ist ein Macro, dass das erste Argument als Text ausgibt.

Mein Problem ist, dass wenn "Null" ausgeführt wird danach auch "Ende" ausgeführt wird, was ich nicht will und das RET aus der Proc fehlt mir. (ich würde gerne ein Macrobibilithek aufbauen)
Deswegen hab ich folgende Fragen:
1) Gibt es eine Art "RET" auch in Macros oder muss ich einfach noche in Label "GanzEnde" ans Ende setzten hinter dem nichts mehr passiert?
2) Was ist der Vorteil / Nachteil eines Macros / einer Prozedur?
3) Okay, das ist noch eine andere Frage: Ich habe mal versucht nach jeweils POPA "PUSH 0" für Null: und "PUSH 1" für Ende: zu übergeben, um herauszufinden, ob eine Zahl eingegebn wzurde. Allerdings sind dann recht bizarre Dinge passiert. Wie kann ich sonst eine Art Result zurückgeben?

Gruß, Moritz
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz