2012-10-24 13 views
6

Bazı kodları y86 eşdeğerine dönüştürmenin bir yolunu arıyorum. Sorun, y86 işlevlerinin iyi bir listesini bulmakta zorlanıyorum. Bazı işlevleri bulabilirim fakat mevcut ana işlevlerin iyi bir listesini değil. Böyle bir listeyi nerede bulabileceğimi bilen var mı?y86 komutlarının listesi?

+0

Evet, ancak hala bir komutlar listesi bulunduğunda sorun yaşıyorum. – Eman

+0

@pst Baktım ama orada bir talimatlar var mı? – Eman

+1

Kaynak geri çekmeyi kapatmak için oylama. –

cevap

5

mevcut tüm fonksiyonları büyük bir referans vardır Computer Systems: A Programmers Perspective ila Chapter 4: Processor Design (Preview) bakınız. Referansı bulmak için bir yol aşağı kaydırmanız gerekir. Ama orada. Listelenen

talimatlar şunlardır:

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  

Bu Veri Transferi atlanmış önceki bir kağıt yazdı Randal E. Bryant ve David R. O'Hallaron, tarafından kaleme edildi Koşullu operatörler.

+0

+1 Güzel bağlantı için. Yazarları/yayınları kaynak etmeye çalışıyorum ve 'cmovXX' komutlarını atlamış bir eski/çalışma taslağıyla karşılaştım, bu yüzden * herhangi bir uzantı da dahil olmak üzere * what * y86 talimatları - alınmalıdır. –

3

Bu, kolayca the best resource I've found dur.

Bu belge, y86'yı sıfırdan yazmaya çalışan birinin kurulum kodunu ve yönergelerini ve bunlara karşılık gelen onaltılık değerlerini içerir.

İlgili konular