CM3 komutların hex karşılıkları

Başlatan z, 17 Haziran 2014, 15:30:11

z

CM3 işlemcilerde bazı komutların hex daha doğrusu bit karşılıklarını arıyorum.

Branch komutlarının bit bazında detayları lazım oldu.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Burak B

Polymorph kod mu yazıyorsunuz hocam hayırdır. Opcode karşılıkları, hafıza bölgeleri v.s. :)
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

MC_Skywalker


z

#3
Sagol Gerbay işime yarayacak.

@ByteMaster evet derleyicinin işine karışacağım. Flash alanına bazı 16..32 bit veriler koyup bunların işlenmesini sağlayacağım.

Gerçi derleyici komut arasındaki verilere kızıyor ama ikna etmeye çalışacağım.
-------------------------------

Çok gıcık bir encoding işlemi var.

0x08002000  B  Label1    (0x08002008 adresini uçalım)

Derleyicinin ürettiği kod: 0xF000B802

Gerbay'ın verdiği dokümanın A6-40. sayfasından

H15..H10 zaten 0xF
H11=0
S=0
J1=1
J2=1

I1=Not(J1 XOR S)=0
I2=Not(J2 XOR S)=0

Imm10=0
Imm11=2

S:I1:I2:Imm10:Imm11:0 ---> 0000 0000 0000 0000 0000 0100 = 0x000004

Sıradaki adresden 4 byte ileri git. 0x08002008 adresine ulaştık.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

speak48

evet çoğu opcode lar kodlar fazla yer yaplamasın diye  pc ye göre görecelidir.


z

CM3 için absolute jump komutu yok. Zaten max 32 (2x16) bit komut uzunluğundan dolayı olması da imkansız.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

speak48

#6
absolute jump olmayan işlemcimi olur.
ama m3 te direct absoulute jump yok ama indirect absolute jump var
BX
BLX