; ************************************************* ; *** Logic.68 *** ; *** Tests logical instructions of Sim68k *** ; *** Tests NOT, AND, OR, EOR *** ; *** Also uses BRA, MOVE, DSP, DSR and HLT *** ; ************************************************* ; ; Assembly Language OpCode Oper1 Oper2 ; MSB LSB MSB LSB MSL LSB ;-------------------------------------------------- ; Branch to the first instruction BRA.W @Main ; ; Declarations DEF.W @Const1, #$1234 ; DEF.W @Const2, #$ABCD ; DEF.L @Const3, #$01234567 ; DEF.L @Const4, #$89ABCDEF ; ; Main program LABEL @Main ; ; Tests NOT ;------------------------ MOVE.W @Const1, D0 ; NOT.B D0 ; DSP.W D0 ; DSR.B ; MOVE.W @Const1, D0 ; NOT.W D0 ; DSP.W D0 ; DSR.B ; MOVE.L @Const3, D0 ; NOT.L D0 ; DSP.L D0 ; DSR.B ; ; Tests AND ;------------------------ MOVE.W @Const1, D0 ; MOVE.W @Const2, D1 ; AND.B D1, D0 ; DSP.W D0 ; DSR.B ; MOVE.W @Const1, D0 ; AND.W D1, D0 ; DSP.W D0 ; DSR.B ; MOVE.L @Const3, D0 ; MOVE.L @Const4, D1 ; AND.L D1, D0 ; DSP.L D0 ; DSR.B ; ; Tests OR ;------------------------ MOVE.W @Const1, D0 ; MOVE.W @Const2, D1 ; OR.B D1, D0 ; DSP.W D0 ; DSR.B ; MOVE.W @Const1, D0 ; OR.W D1, D0 ; DSP.W D0 ; DSR.B ; MOVE.L @Const3, D0 ; MOVE.L @Const4, D1 ; OR.L D1, D0 ; DSP.L D0 ; DSR.B ; ; Tests EOR ;------------------------ MOVE.W @Const1, D0 ; MOVE.W @Const2, D1 ; EOR.B D1, D0 ; DSP.W D0 ; DSR.B ; MOVE.W @Const1, D0 ; EOR.W D1, D0 ; DSP.W D0 ; DSR.B ; MOVE.L @Const3, D0 ; MOVE.L @Const4, D1 ; EOR.L D1, D0 ; DSP.L D0 ; DSR.B ; HLT.B ;