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
 
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Assembler: Proc oder Macro?

  Alt 30. Sep 2004, 11:18
Moin!

Ein Makro ist ein Code Schnipsel den du anhand des Makronamens direkt an der jeweiligen Stelle einfügst - über den Namen. Die Parameter etc werden dazu genutzt das Makro so umzubilden, dass er die jeweiligen Register dementsprechend belegt wir im Makro benötigt. Ein Makro hat auch deshalb kein Return, da es kein Aufruf ist sondern direkt in den Code eingefügt wird. Ein Makro-Code kommt also x-mal im Programm vor - so oft wie es benutzt wird. Eine Procedure wird halt nur einmal eingefügt und alle springen zu ihr hin und wieder zurück.

zu 1.) Es gibt irgendwie eine "Makro-Verlassen" Anweisung, aber frage mich nicht wie die heisst, da ich keine Makro's nutze...
zu 2.) Vorteil: kann bis zu einer bestimmten Menge in einem Codeabschnitt für eine bessere Cache Nutzung/Pipeline Ausnutzung führen bzw. einer besseren Optimierbarkeit gegenüber einem Procedureaufruf, da Sprünge meist zu entfernteren Adressen springen. Nachteil: Ein Makro wird immer und immer wieder neu an der Stelle eingefügt, das bläht den Code auf - vor allem wenn so oft das gleiche an den Stellen steht. Da muss man dann den Mittelweg zwischen Geschwindigkeit und Codegrösse finden.
zu 3.) Ich verstehe die Frage nicht, schon alleine weil du dort POPA und einen normalen PUSH Befehl verwendest. Grundlegend kann ich zumindest sagen, das du die Grösse der Konstante die gepusht wird festlegen kannst.

MfG
Muetze1
  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 12:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz