もとにゃのソースにゃは
こんにゃ感じですにゃ〜。
// 1111 101. .... .... .... .... .... .... ; BLX label // . ; H // .... .... .... .... .... .... ; signed_immed_24 ccINT32 ccDevArmCPU::exeBLX_label() { //register ccUINT32 target_addr = m_nReg[15] + (((ccUINT32)(((ccINT32)(op << 8)) >> 6)) | ((op >> 23) & 0x2)); m_nReg[14].vu32 = m_nNextInstructAddress.vu32; /* 次の命令のアドレス */ m_nNextInstructAddress.vu32 = spu_add( m_nReg[15].vu32, (vec_uint4)spu_or( spu_rlmaska( spu_sl( m_nOpecode.v32, 8 ), -6 ), spu_and( spu_rlmask( m_nOpecode.v32, -23 ), 2 ) ) ); m_fCPSR_Thumb.vu32 = spu_splats( (ccUINT32)CPU_CODE_THUMB ); /* THUMB命令になる */ m_nState.vu32 = spu_splats( (ccUINT32)EXEC_STATE_THUMB_FETCH ); return 0; }