2012-10-24 9 views
6

Ich bin auf der Suche nach einer Möglichkeit, um einige Code in seine y86-Äquivalent zu konvertieren. Das Problem ist, ich habe Probleme, eine gute Liste von y86 Funktionen zu finden. Ich kann einige Funktionen aber keine gute Liste der Hauptfunktionen finden. Weiß jemand wo ich eine solche Liste finden könnte?Liste der y86-Befehle?

+0

Ja, es ist, aber ich habe immer noch Probleme zu finden, wo es eine Liste von Befehlen gibt. – Eman

+0

@pst Ich schaute, aber gibt es dort eine Liste von Anweisungen? – Eman

+1

Abstimmung zum Schließen als Ressource rec. –

Antwort

5

Siehe Chapter 4: Processor Design (Preview) die von Computer Systems: A Programmers Perspective ist, die eine große Referenz für alle verfügbaren Funktionen. Sie müssen nach unten scrollen, um die Referenz zu finden. Aber es ist da.

Die Anweisungen aufgeführt sind:

halt 
nop 
rrmovl 
irmovl 
rmmovl 
mrmovl 
OPl (integer operation) 
    addl 
    subl 
    andl 
    xorl 
jXXX (branch condition) 
    jmp 
    jle 
    jl 
    je 
    jne 
    jge 
    jg 
cmovXX (data transfer condition) 
    cmovle 
    cmovl 
    cmove 
    cmovne 
    cmovge 
    cmovg 
call 
ret 
pushl 
popl  

Dies wurde von Randal E. Bryant und David R. O'Hallaron verfaßt, der ein früheres Papier schrieb, die die Datenübertragung weggelassen Bedingte Operatoren

+0

+1 Für den netten Link. Ich habe versucht, die Autoren/Publikationen zu finden und stieß auf einen älteren/Arbeitsentwurf, der die 'cmovXX'-Anweisungen ausließ, also sollte darauf geachtet werden, * was * y86-Anweisungen - einschließlich aller Erweiterungen - verfügbar sind. –

3

Dies ist leicht the best resource I've found.

Das Dokument enthält die Anweisungen und die entsprechenden Hex-Werte sowie den Setup-Code für jemanden, der y86 von Grund auf neu schreibt.