is_data:
tst.w _ucounter
bne bcle_sound
move.w unittps,_ucounter
cmp.b #$01,_flag_
beq continue1
tst.b _lcounter1
beq extract_voice1
subq.b #1,_lcounter1
continue1:
cmp.b #$02,_flag_
beq continue2
tst.b _lcounter2
beq extract_voice2
subq.b #1,_lcounter2
continue2:
bra bcle_sound
extract_voice1:
movem.l a0,-(a7)
move.l ptridle_voice1,a0
move.b (a0)+,frequency_voice1
move.b (a0)+,_lcounter1
movem.l (a7)+,a0
addq.l #2,ptridle_voice1
cmp.b #$FF,frequency_voice1
beq end_voice1
bra continue1
extract_voice2:
movem.l a0,-(a7)
move.l ptridle_voice2,a0
move.b (a0)+,frequency_voice2
move.b (a0)+,_lcounter2
movem.l (a7)+,a0
addq.l #2,ptridle_voice2
cmp.b #$FF,frequency_voice2
beq end_voice2
bra continue2
end_voice1:
ori.b #$01,_flag_
cmp.b #$03,_flag_
beq end_all
rte
end_voice2:
ori.b #$02,_flag_
cmp.b #$03,_flag_
beq end_all
rte
end_all:
clr.b state
rte
Quels sont les instructions que je doit remplacer car je pense que cmp est lent ainsi que bra... Je voudrais trouver des equivalent mais très rapide.
