tr-demoscene

the scene => coding => pc => Konuyu başlatan: xcoder - 19.04.2009 02:03:03

Başlık: debugta gariplik
Gönderen: xcoder - 19.04.2009 02:03:03
debugta unassemble yaptığımda XOR komutunun kodu 33 görünüyor. ama ben yazınca 31 olarak yazıyor. operantlar aynı. böyle bir kaç farklı opcode var. bunun neden kaynaklandığı konusunda fikri olan varmı?
Başlık: debugta gariplik
Gönderen: spaztica - 19.04.2009 03:45:09
pc'de tam bilgim olmasa da, amiga'dakinden feyz alarak yorumda bulunacağım: kullanılan komutun operand'ları ve byte genişlikleri vs komutun opcode karşılıklarının değişik gözükmesine sebep olabilir.
Başlık: debugta gariplik
Gönderen: GnoStiC - 19.04.2009 06:16:07
33 cikiyorsa Exx bir register kullanilmistir.
sen yazdiginda cikan 31 ise xx registeri kullanildigini gosterir.

buyuk ihtimal debug Exx registerlarini desteklemedigi icin ekranda ayni operant varmis gibi gozukuyordur.

ollydbg kullan.

Alıntı yapılan: xcoder;20457
debugta unassemble yaptığımda XOR komutunun kodu 33 görünüyor. ama ben yazınca 31 olarak yazıyor. operantlar aynı. böyle bir kaç farklı opcode var. bunun neden kaynaklandığı konusunda fikri olan varmı?
Başlık: debugta gariplik
Gönderen: endo - 19.04.2009 16:15:40
evet gnos ve spaz'in dedigi gibi kullanilan register ve adresleme moduna gore degisen bazi bitler vardir opcode'da.
ornegin (yine amigada) ADD opcode'u aslinda ADDA, ADDI, ADDQ, ADDX gibi farkli kullanimlara sahiptir ama assembler kullanirken biz sadece ADD yazariz, arkaplanda assembler kullanilan size (byte, word, long), adresleme modu (relative, direct, immediate vs.) gibi seylere gore farkli degerler uretir.