2016-09-19 12 views

Antwort

1

Hängt vom Assembler ab, aber die meisten Assemblers einschließlich NASM erlauben 0o, o steht für oktal. Genau wie du 0x verwendest, wobei x für Hexadezimal steht.

mov  ax,310q   ; octal 
    mov  ax,310o   ; octal again 
    mov  ax,0o310  ; octal yet again 
    mov  ax,0q310  ; octal yet again 

Informationsquelle: Here.

Wieder ist es nicht 0o oder die obige Syntax für alle Assembler. Es kann von Assemblern variieren, aber NASM verwendet tatsächlich die oben genannte Syntax, wie Sie den Link für weitere Informationen sehen können. Wenn Sie andere Monteure im Auge haben, sehen Sie sich deren Handbuch an wie für FASM: Here. GAS: Here

1

NASM supports70o, 70q, 0o70 und 0q70 für Oktal.

Ich würde die 0q70-Version empfehlen, um das Risiko zu vermeiden, dass zukünftige (menschliche) Leser das Kleinbuchstabe-O für eine Null halten. Ich bin auch kein Fan des Suffix-Stils für hex, weil es leicht zu übersehen ist. Es hilft, den umgekehrten Fall vom Rest der Konstante zu verwenden, aber ein führender 0x oder 0q ist klarer. (Und für hex, vermeidet die Notwendigkeit einer führenden 0, um es zu einer numerischen Konstante anstelle eines Symbolnamens zu machen.)

Wie für Hex-Konstante Unterstützung, it will certainly vary by assembler, so überprüfen Sie einfach Ihre Assembler-Handbuch. z.B. Die meisten DOS/Windows-Assembler unterstützen nur 0xDEADBEEF, nur 0DEADBEEFh, daher würde ich meinen, dass sie auch weniger Optionen für oktal haben.

Siehe das Tag Wiki für Links zu verschiedenen Assembler Handbücher (und viele andere nützliche Ressourcen und Anleitungen).

Verwandte Themen