Wednesday 29 November 2017

Netwide Assembler Binär Optionen


Der Netwide Assembler: NASM Der Netwide Disassembler, NDISASM Der Netwide Disassembler ist ein kleines Begleitprogramm zum Netwide Assembler, NASM. Es schien eine Schande zu haben, einen x86-Assembler zu haben, komplett mit einer vollständigen Anweisungstabelle, und nicht so viel Gebrauch von ihm wie möglich zu machen, also heres ein disassembler, der die Anweisungstabelle (und einige andere Bits des Codes) mit NASM teilt. Der Netwide Disassembler tut nichts außer, um Zerlegungen von binären Quelldateien zu erzeugen. NDISASM hat kein Verständnis von Objektdateiformaten wie objdump. Und es wird nicht verstehen, DOS. EXE-Dateien wie Debuggen wird. Es zerbricht einfach. Siehe Abschnitt 1.3 für Installationsanweisungen. NDISASM, wie NASM, hat eine man-Seite, die Sie vielleicht irgendwo nützlich machen möchten, wenn Sie auf einem Unix-System sind. Um eine Datei zu zerlegen, werden Sie in der Regel einen Befehl des Formulars verwenden. NDISASM kann 16-, 32- oder 64-Bit-Code gleichermaßen leicht auseinanderbauen, vorausgesetzt natürlich, dass Sie sich daran erinnern, mit wem es zu arbeiten hat. Wenn kein - b-Schalter vorhanden ist, arbeitet NDISASM standardmäßig im 16-Bit-Modus. Der Schalter - u (für USE32) ruft auch den 32-Bit-Modus auf. Zwei weitere Befehlszeilenoptionen sind - r, die die Versionsnummer von NDISASM berichten, die Sie ausführen, und - h, die eine kurze Zusammenfassung der Befehlszeilenoptionen gibt. Um eine DOS-Datei korrekt auseinanderzubauen, muss ein Disassembler davon ausgehen, dass die erste Anweisung in der Datei unter Adresse 0x100 geladen wird. Anstatt auf Null. NDISASM, die standardmäßig voraussetzt, dass jede Datei, die Sie ihm geben, auf Null geladen wird, muss daher darüber informiert werden. Mit der Option - o können Sie einen anderen Ursprung für die Datei, die Sie zerlegen, deklarieren. Sein Argument kann in jedem der NASM numerischen Formate ausgedrückt werden: dezimal standardmäßig, wenn es mit oder 0x beginnt oder endet in H seine Hexe. Wenn es in Q seinen Oktal endet. Und wenn es endet in B seine binäre. Also, um eine Datei zu zerlegen: wird den Trick machen. Angenommen, Sie zerlegen eine Datei, die einige Daten enthält, die kein Maschinencode ist, und enthält dann einen Maschinencode. NDISASM wird sorgfältig durch den Datenabschnitt pflügen und maschinelle Anleitungen produzieren, wo immer es auch sein kann (obwohl die meisten von ihnen bizarr aussehen werden, und einige können ungewöhnliche Präfixe haben, zB FS OR AX, 0x240A) und generieren DB-Anweisungen immer so oft, wenn seine völlig stumped . Dann wird es den Codeabschnitt erreichen. Angenommen, NDISASM hat gerade damit fertig, eine seltsame Maschinenanweisung aus einem Teil des Datenabschnitts zu erzeugen, und seine Dateiposition ist jetzt ein Byte vor dem Anfang des Codeabschnitts. Es ist völlig möglich, dass ein anderer falscher Befehl generiert wird, beginnend mit dem letzten Byte des Datenabschnitts, und dann wird die korrekte erste Anweisung im Codeabschnitt nicht gesehen, weil der Startpunkt darüber übersprungen ist. Das ist nicht wirklich ideal. Um dies zu vermeiden, können Sie einen Synchronisationspunkt oder sogar so viele Synchronisationspunkte angeben, wie Sie möchten (obwohl NDISASM nur 2147483647 Synchronisierungspunkte intern behandeln kann). Die Definition eines Synchronisationspunktes lautet: NDISASM garantiert die Synchronisationspunkte genau während der Demontage. Wenn es daran denkt, eine Anweisung zu erzeugen, die dazu führen würde, dass sie über einen Synchronisierungspunkt springt, wird sie diese Anweisung verwerfen und stattdessen ein db ausgeben. So wird es die Demontage genau aus dem Synchronisationspunkt starten, und so wirst du alle Anweisungen in deinem Codeabschnitt sehen. Synchronisationspunkte werden mit der Option - s angegeben: Sie werden in Form des Programmheraus und nicht der Dateiposition gemessen. Also, wenn du nach 32 Bytes einer Datei synchronisieren möchtest, musst du tun Wie oben erwähnt, kannst du mehrere Sync-Marker angeben, wenn du es brauchst, nur indem du die Option - s wiederholst. Angenommen, Sie zerlegen den Bootsektor einer DOS-Diskette (vielleicht hat es einen Virus, und Sie müssen das Virus verstehen, damit Sie wissen, welche Arten von Schäden es Ihnen getan haben könnte). In der Regel enthält dies eine JMP-Anweisung, dann einige Daten, dann den Rest des Codes. So gibt es eine sehr gute Chance, dass NDISASM fehlausgerichtet ist, wenn die Daten endet und der Code beginnt. Daher ist ein Synchronisationspunkt erforderlich. Auf der anderen Seite, warum sollten Sie den Synchronisierungspunkt manuell angeben, was Sie tun, um zu finden, wo der Synchronisierungspunkt wäre, wäre sicherlich, die JMP-Anweisung zu lesen und dann seine Zieladresse als Synchronisationspunkt zu verwenden . So kann NDISASM das für dich machen Die Antwort ist natürlich ja: Mit einem der beiden Schalter - a (für automatische Synchronisation) oder - i (für intelligente Synchronisation) wird der Auto-Sync-Modus aktiviert. Der Auto-Sync-Modus erzeugt automatisch einen Synchronisationspunkt für jede vorwärts-verweisende PC-relative Sprung - oder Anrufanweisung, die NDISASM begegnet. (Da NDISASM Ein-Pass ist, wenn es auf einen PC-relativen Sprung stößt, dessen Ziel bereits verarbeitet wurde, gibt es nicht viel, was man dagegen tun kann.) Nur PC-Relativ-Sprünge werden verarbeitet, da ein absoluter Sprung entweder durch ein Register ist (In welchem ​​Fall NDISASM nicht weiß, was das Register enthält) oder eine Segmentadresse einbezieht (in diesem Fall ist der Zielcode nicht im selben Segment, in dem NDISASM arbeitet, und so kann der Synchronisierungspunkt nicht überall nützlich sein). Für einige Arten von Datei, wird dieser Mechanismus automatisch Synchronisierungspunkte an allen richtigen Stellen setzen und Sie davon abhalten, irgendwelche Synchronisierungspunkte manuell zu platzieren. Allerdings sollte man betonen, dass der Auto-Sync-Modus nicht garantiert ist, um alle Synchronisierungspunkte zu fangen, und Sie müssen noch einige manuell platzieren. Auto-Sync-Modus nicht verhindern, dass Sie deklarieren manuelle Synchronisation Punkte: Es fügt einfach automatisch generiert diejenigen, die Sie bieten. Es ist vollkommen möglich, - i und einige Optionen zu spezifizieren. Eine weitere Einschränkung mit dem automatischen Synchronisationsmodus ist, dass, wenn durch irgendeine unangenehme Flut etwas in deinem Datenabschnitt zu einem PC-relativen Anruf oder Sprunganweisung zerlegen soll, NDISASM gelegentlich einen Synchronisierungspunkt in einen völlig zufälligen Platz platzieren kann, zum Beispiel in der Mitte einer der Anweisungen in Ihrem Codeabschnitt. So können Sie am Ende mit einer falschen Demontage, auch wenn Sie Auto-Sync verwenden. Auch hier gibt es nicht viel, was ich tun kann. Wenn Sie Probleme haben, müssen Sie manuelle Synchronisierungspunkte verwenden oder die Option - k (nachstehend dokumentiert) verwenden, um die Demontage des Datenbereichs zu unterdrücken. Die Option - e überspringt einen Header in der Datei, indem er die ersten N Bytes ignoriert. Dies bedeutet, dass der Header nicht auf den Offset-Offset gezählt wird: Wenn Sie - e10 - o10 geben. Die Demontage beginnt bei Byte 10 in der Datei, und dies wird versetzt 10, nicht 20. Die Option - k ist mit zwei komma-getrennten numerischen Argumenten versehen, wobei die erste davon ein Assemblyversatz ist und die zweite eine Anzahl von Bytes zu überspringen. Dies zählt die übersprungenen Bytes in Richtung Assembly Offset: seine Verwendung ist es, die Demontage eines Datenabschnitts zu unterdrücken, der nichts enthielt, was man sowieso sehen wollte. Es gibt keine bekannten Fehler. Jedoch, irgendwelche, die Sie finden, mit Patches, wenn möglich, sollte an nasm-bugslists. sourceforge gesendet werden. Oder auf die Entwickler-Website bei nasm. us und gut versuchen, sie zu beheben. Fühlen Sie sich frei, Beiträge und neue Features zu sendenWide Assembler Private CDN Cache-Downloads für lizenzierte Kunden. Erleben Sie nie wieder 404 Brüche. Erfahren Sie mehr. Dieses Paket wurde von moderator ferventcoder auf 8182016 genehmigt. Der Netwide Assembler, NASM, ist ein 80x86 und x86-64 Assembler für Portabilität und Modularität. Es unterstützt eine Reihe von Objektdateiformaten, darunter Linux und BSD a. out, ELF, COFF, Mach-O, Microsoft 16-Bit-OBJ, Win32 und Win64. Es werden auch einfache Binärdateien ausgegeben. Seine Syntax ist so konzipiert, dass es einfach und leicht zu verstehen ist, ähnlich wie intels aber weniger komplex. Es unterstützt alle derzeit bekannten x86 architektonischen Erweiterungen und hat starke Unterstützung für Makros. Um NetWide Assembler zu installieren, führen Sie den folgenden Befehl aus der Befehlszeile oder aus PowerShell aus: C: gt choco install nasm Um NetWide Assembler zu aktualisieren, führen Sie den folgenden Befehl aus der Befehlszeile oder aus PowerShell aus: C: gt choco upgrade nasm Virus Scan Results In Fälle, in denen tatsächliche Malware gefunden wird, werden die Pakete dem Entfernen unterzogen. Software hat manchmal falsche Positives. Moderatoren bestätigen nicht unbedingt die Sicherheit der zugrunde liegenden Software, nur dass ein Paket Software vom offiziellen Verteilungspunkt abruft und die eingebettete Software gegen den offiziellen Verteilungspunkt validiert (wo Verteilungsrechte eine Umverteilung zulassen). Chocolatey Pro bietet Laufzeitschutz vor eventueller Malware. Abhängigkeiten Dieses Paket hat keine Abhängigkeiten. Maintainer (s) Software Autor (en) Simon Tatham und Julian Hall und wird nun von einem Team geführt von H. Peter Anvin. Copyright 1996-2016 die NASM Autoren - Alle Rechte vorbehalten. Diskussion für das NetWide Assembler Package Grundregeln: Diese Diskussion bezieht sich nur auf NetWide Assembler und das NetWide Assembler Paket. Wenn Sie Feedback für Chocolatey haben, wenden Sie sich bitte an die Google-Gruppe. Diese Diskussion wird über mehrere Versionen übertragen. Wenn Sie einen Kommentar zu einer bestimmten Version haben, beachten Sie bitte, dass in Ihren Kommentaren. Die Betreuer dieses Chocolatey Package werden über neue Kommentare informiert, die auf diesen Disqus Thread gepostet werden, aber es ist keine Garantie, dass du eine Antwort bekommst. Wenn Sie nach der Veröffentlichung einer Nachricht nicht mehr von den Betreuern hören, folgen Sie bitte oben, indem Sie den Link auf der linken Seite dieser Seite verwenden oder folgen Sie diesem Link, um die Betreuer zu kontaktieren. Wenn Sie noch nichts hören, folgen Sie bitte dem Paket triage Prozess. Sagen Sie uns was Sie über das Paket oder NetWide Assembler lieben, oder sagen Sie uns, was verbessert werden muss. Teilen Sie Ihre Erfahrungen mit dem Paket, oder zusätzliche Konfiguration oder gotchas, die Sie gefunden haben. Wenn du eine URL benutzt, wird der Kommentar für die Moderation markiert, bis du Whitelist warst. Disqus moderierte Kommentare sind auf einem wöchentlichen Zeitplan genehmigt, wenn nicht früher. Es könnte zwischen 1-5 Tagen für Ihren Kommentar zu zeigen. Sei der erste, der über die kommenden Features, Sicherheitsversionen und Neuigkeiten über Chocolatey. nasm (1) - Linux man page nasm - den Netwide Assembler, einen tragbaren 80x86 Assembler nasm - Antwortdatei - F Format - o outfile - l listfile Optionen. Dateiname nasm - h nasm - v Beschreibung Der Befehl nasm setzt den Dateinamen der Datei zusammen und leitet die Ausgabe an die Datei outfile, falls angegeben. Wenn outfile nicht angegeben ist, wird nasm einen Standardausgabedateinamen aus dem Namen seiner Eingabedatei ableiten, in der Regel durch Anfügen von. o oder. obj oder durch Entfernen aller Erweiterungen für eine rohe Binärdatei. Failing, dass der Ausgabedateiname nasm. out ist. OPTIONS - Dateiname Verursacht nasm, um Optionen aus Dateinamen zu verarbeiten, als ob sie in der Befehlszeile enthalten wären. - a Verursacht nasm, um die gegebene Eingabedatei zusammenzubauen, ohne zuerst den Makro-Präprozessor anzuwenden. - D macrovalue Vordefiniert ein einzeiliges Makro. - d macrovalue Gleich wie die Option - D. - e Verursacht nasm, um die vorgegebene Eingabedatei vorzuverarbeiten und die Ausgabe an stdout (oder den angegebenen Ausgabedateinamen) zu schreiben und gar nichts zusammenzusetzen. - f Format Gibt das Ausgabedateiformat an. Um eine Liste gültiger Ausgabeformate anzuzeigen, verwenden Sie die Option - hf. - g Verursacht nasm, um Debug-Informationen im ausgewählten Format zu erzeugen. Verursacht, dass Nasm sofort beendet wird, nachdem eine Zusammenfassung seiner Aufrufoptionen gegeben wurde. Gleich wie - h. Sondern listet auch alle gültigen Ausgabeformate auf. - I-Verzeichnis Fügt dem Suchpfad ein Verzeichnis zum Einfügen von Dateien hinzu. Die Verzeichnisspezifikation muss den nachlaufenden Schrägstrich enthalten, da er direkt dem Namen der Include-Datei vorangestellt wird. - i-Verzeichnis Gleich wie die Option - I. - l listfile Veranlasst eine Montageauflistung auf die angegebene Datei, in der die ursprüngliche Quelle auf der rechten Seite angezeigt wird (plus die Quelle für enthaltene Dateien und die Erweiterungen von mehrzeiligen Makros) und der generierte Code wird angezeigt Hex auf der linken Seite. - M Verursacht nasm, um Makefile-artige Abhängigkeiten zu stdout normaler Ausgabe zu unterdrücken. - O-Nummer optimieren Zweig-Offsets (-O0 deaktiviert, Standard). - o outfile Gibt einen genauen Namen für die Ausgabedatei an und überschreibt nasm s default Mittel, um es zu bestimmen. - P-Datei Gibt eine vorab enthaltene Datei an, bevor die Hauptquellendatei bearbeitet wird. - p-Datei Gleich wie die Option - P. - r Verursacht nasm, um sofort zu beenden, nachdem er seine Versionsnummer angezeigt hat. (Veraltet) Verursacht nasm, um seine Fehlermeldungen zu senden und um Text zu stdout anstelle von stderr zu helfen. Verursacht nasm zum Zusammenbau im SciTech TASM-kompatiblen Modus - U-Makro Definiert ein einzeiliges Makro. - u Makro Gleich wie die Option - U. - v Verursacht nasm, um sofort zu beenden, nachdem er seine Versionsnummer angezeigt hat. - w - foo Verursacht nasm, um bestimmte Klassen von Warnmeldungen zu aktivieren oder zu deaktivieren, z. B. - worphan-labels oder - w-macro-params - X-Format gibt das Fehlerberichtsformat (gnu oder vc) an. - Z Dateiname Verursacht nasm, um Fehlermeldungen auf Dateiname umzuleiten. Diese Option besteht darin, Betriebssysteme zu unterstützen, auf denen stderr nicht leicht umgeleitet werden kann. SYNTAX Diese Manpage beschreibt nicht vollständig die Syntax der nasm s Assembler-Sprache, sondern gibt eine Zusammenfassung der Unterschiede von anderen Assemblern. Register haben kein Vorzeichen, im Gegensatz zu Gas. Und Floating-Point-Stack-Register werden als st0 bezeichnet. St1 und so weiter. Gleitkomma-Anweisungen können entweder das Einzeloperandenformular oder das Doppelte verwenden. Ein TO-Schlüsselwort ist also so gegeben, man könnte entweder fadd st1 schreiben, st0 oder man könnte die alternativen Single-Operand-Formulare verwenden, um zu st1 zuzuweisen. Uninitialisierter Speicher wird mit dem RESB reserviert. RESW RESD RESQ REST - und RESO-Pseudopopcodes, wobei jeder einen Parameter enthält, der die Anzahl der Bytes, Wörter, Doppelwörter, Quadwörter oder zehn Byte Wörter zur Verfügung stellt. Die Wiederholung von Datenelementen erfolgt nicht durch das DUP-Schlüsselwort, wie in DOS-Assemblern gesehen, sondern durch die Verwendung des TIMES-Präfix, wie folgt: Nachricht: mal 3 db abc mal 64-message db 0, die die Zeichenfolge abcabcabc definiert, gefolgt von der Rechte Anzahl von Null-Bytes, um die Gesamtlänge bis zu 64 Bytes zu machen. Symbolreferenzen werden immer als unmittelbare (d. h. die Adresse des Symbols) verstanden, es sei denn, eckige Klammern werden verwendet, wobei in diesem Fall der Inhalt der Speicherstelle verwendet wird. Also: mov ax, Wordvar lädt AX mit der Adresse des Variablen wordvar, während mov ax, es: wordvarbx alle beziehen sich auf den Inhalt der Speicherplätze. Die syntaxes es mov ax, wordvar1 sind überhaupt nicht legal, obwohl die Verwendung eines Segmentregisternamens als Anweisungspräfix gültig ist und mit Anweisungen wie LODSB verwendet werden kann, die nicht anders übersetzt werden können. Konstanten können in den meisten Formaten numerisch ausgedrückt werden: ein nachlaufendes H, Q oder B bezeichnet Hex, Octal oder Binär und ein führendes 0x oder Hex als auch. Führende Nullen werden nicht besonders behandelt. Zeichenkonstanten können in Einzel - oder Doppelzitaten eingeschlossen werden, es gibt kein Fluchtzeichen. Die Ordnung ist kleiner-endian (umgekehrt), so dass die Zeichen-Konstante abcd 0x64636261 und nicht 0x61626364 bezeichnet. Lokale Labels beginnen mit einer Periode, und ihre Lokalität wird vom Assembler gewährt, der den Namen des vorherigen nicht-lokalen Symbols vorstellt. So deklariert ein Label. loop nach einem Label Label hat tatsächlich ein Symbol namens label. loop definiert. RICHTLINIEN SECTION-Name oder SEGMENT-Name bewirkt, dass nasm alle folgenden Code an den benannten Abschnitt richtet. Sektionsnamen variieren mit dem Ausgabedateiformat, obwohl die meisten Formate die Namen. text unterstützen..data und. bss. (Die Ausnahme ist das obj-Format, in dem alle Segmente benutzerdefinierbar sind.) Die ABSOLUTE-Adresse bewirkt, dass nasm seinen fiktiven Montagepunkt an einer absoluten Adresse platziert: so dass kein Code oder Daten erzeugt werden können, aber Sie können RESB verwenden. RESW und RESD, um den Montagepunkt weiter zu bewegen, und Sie können Etiketten definieren. So kann diese Richtlinie zur Definition von Datenstrukturen verwendet werden. Wenn Sie die absolute Montage abgeschlossen haben, müssen Sie eine weitere SECTION-Richtlinie ausgeben, um zur normalen Montage zurückzukehren. BITS 16, BITS 32 oder BITS 64 schaltet den Standard-Prozessormodus, für den Nasm Code generiert: Es entspricht USE16 oder USE32 in DOS-Assemblern. EXTERN-Symbol und GLOBAL-Symbol importieren und exportieren Symboldefinitionen von und zu anderen Modulen. Beachten Sie, dass die GLOBAL-Richtlinie vor der Definition des Symbols, auf das es sich bezieht, erscheinen muss. STRUC strucname und ENDSTRUC. Wenn verwendet, um eine Reihe von RESB. RESW oder ähnliche Anweisungen definieren eine Datenstruktur. Neben der Definition der Offsets der Strukturelemente definiert das Konstrukt auch ein Symbol für die Größe der Struktur, das ist einfach der Strukturname mit der Größe, die bis zum Ende angeheftet ist. FORMAT-SPEZIFISCHE RICHTLINIEN Die ORG-Adresse wird vom Bin-Flat-Binär-Ausgabeformat verwendet und gibt die Adresse an, bei der der Ausgabecode eventuell geladen wird. GRUPPE grpname seg1 seg2. Wird vom obj (Microsoft 16-bit) Ausgabeformat verwendet und definiert Segmentgruppen. Dieses Format verwendet auch UPPERCASE. Dass alle Segment-, Gruppen - und Symbolnamen, die an die Objektdatei ausgegeben werden, in Großbuchstaben liegen sollen. Beachten Sie, dass die tatsächliche Montage immer noch Groß - und Kleinschreibung beachtet wird. LIBRARY libname wird vom rdf-Ausgabeformat verwendet und bewirkt, dass ein Abhängigkeitsdatensatz in die Ausgabedatei geschrieben wird, die angibt, dass das Programm eine bestimmte Bibliothek benötigt, um auszuführen. MACRO PREPROCESSOR Einzeilige Makros werden mit den definierten oder idefine Befehlen in ähnlicher Weise wie der C-Präprozessor definiert. Sie können in Bezug auf die Anzahl der Parameter überlastet werden, obwohl die Definition eines Makros ohne Parameter die Definition eines Makros mit demselben Namen, der Parameter übernimmt, verhindert und umgekehrt. Definieren definiert Makros, deren Namen auf case-sensitiv übereinstimmen, während idefine Fall-unempfindliche Makros definiert. Mehrzeilige Makros werden mit Makro und Imacro definiert (die Unterscheidung ist die gleiche wie die zwischen definieren und idefine), deren Syntax ist wie folgt: Makroname minprm - maxprm. nolist defaults lsome Zeilen der Makroerweiterung textgt endmacro Wieder können diese Makros Überlastet sein Das nachlaufende Pluszeichen zeigt an, dass alle Parameter nach dem letzten mit ihren Trennkommas in den letzten Parameter subsumiert werden. Der Standard-Teil kann verwendet werden, um Standardwerte für nicht spezifizierte Makroparameter nach Minparam anzugeben. Endm ist ein gültiges Synonym für endmacro. Um auf die Makroparameter innerhalb einer Makroerweiterung zu verweisen, verwenden Sie 1. 2 und so weiter Sie können auch erzwingen, dass ein Makroparameter einen Bedingungscode mit 1 enthalten sollte. Und Sie können den Bedingungscode mit -1 umkehren. Sie können auch ein Etikett definieren, das für einen Makroaufruf spezifisch ist, indem Sie es mit einem Doppelzeichen voranstellen. Dateien können mit der Include-Anweisung aufgenommen werden, die wie C arbeitet. Der Präprozessor hat einen Kontextstapel, der von einem Makro verwendet werden kann, um Informationen zu speichern, die ein späterer abruft. Sie können einen Kontext auf den Stapel mit Push drücken. Entfernen Sie eine mit Pop. Und ändere den Namen des Top-Kontextes (ohne irgendwelche zugehörigen Definitionen zu stören) mit repl. Etiketten und definieren Makros, die spezifisch für den Top-Kontext sind, können durch Präfixieren ihrer Namen mit und Sachen definiert werden, die spezifisch für den nächsten Kontext unten sind, und so weiter. Die bedingte Montage erfolgt mittels ifdef. Ifndef Sonst und endif wie in C. (außer dass ifdef mehrere mutmaßliche Makronamen akzeptieren kann und TRUE auswerten wird, wenn einer von ihnen definiert ist.) Zusätzlich können die Richtlinien ifctx und ifnctx verwendet werden, um den Namen des Top-Kontexts zu konditionieren Auf dem Kontextstapel. Der offensichtliche Satz von sonst-if-Richtlinien, elifdef. Elifndef Elifctx und elifnctx werden ebenfalls unterstützt. Bitte melden Sie Bugs über die Bugtracker-Funktion bei nasm. sourceforge. org. Referenziert von

No comments:

Post a Comment