![]() |
Komischer ASM Code
Ich beschäftige mich jetzt etwas mit ASM und dabei bin ich über folgenden Code gestolpert:
Code:
Offensichtlich eine Schleife. Nur in meinem ASM Buch werden Schleife so nicht realisiert, sondern mit Labels und Sprüngen. Es ist Code für MASM aus den Iczelion's Win32ASM Tutorials.
.WHILE TRUE ; Enter message loop
invoke GetMessage, ADDR msg,NULL,0,0 .BREAK .IF (!eax) invoke TranslateMessage, ADDR msg invoke DispatchMessage, ADDR msg .ENDW Könnte mir das mal bitte jemand erklären? |
Re: Komischer ASM Code
Der Assembler kann offensichtlich ein paar einfache Hochsprachenkonstrukte.
Delphi-Quellcode:
while True do
begin if GetMessage(Msg, 0, 0, 0) = 0 then Break; // Anmerkung: hier fehlt ein IF TranslateMessage(Msg); DispatchMessage(Msg); end; |
Re: Komischer ASM Code
Ja, soweit war ich auch schon. Inzwischen habe ich rausgefunden, dass das wohl Makros sind, die mit einem Punkt anfangen. Aus der Hilfe zu MASM:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04: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