我正在用Ruby編寫一個模擬器,用於相對簡單的6502處理器。編寫一個模擬器,需要能夠在Ruby中引用方法/函數
我的問題是,有沒有一種方法來定義一個散列或數組的細節,彙編指令的細節,其次是它所需要的操作數,最後,實現它的方法/函數?
然後在代碼中的某處,可以根據讀取的指令評估散列或數組,並且可以啓動實現的適當方法/函數?
我打開思路......
目前,我有這樣一個結構,但我有實現它的困難:
@inst.push [ 0x48, :implied, 1, PHA]
@inst.push [ 0xA2, :immediate, 2, LDX ]
@inst.push [ 0xA9, :immediate, 2, LDA ]
@inst.push [ 0xAD, :absolute, 3, LDA ]
@inst.push [ 0xA6, :zeropage, 2, LDX ]
@inst.push [ 0xB6, :zeropagey, 2, LDX ]
@inst.push [ 0xAE, :absolute, 2, LDX ]
@inst.push [ 0xBE, :absolutey, 2, LDX ]
@inst.push [ 0x8A, :implied, 1, TXA ]
lambda表達式,特效?像這樣的事情能爲我在這裏實現的目標而努力嗎?
我真的不希望每個指令都有一個大的「Case/When」,然後在一個巨大的,醜陋的和相對不友好的地方發表聲明。
謝謝!
是的,我會與lambda一起去。 –