RE: how to use sh4dis.exe
Sorry, I encountered new problems with this program
I would like to ask in this case, can that address be calculated automatically in .value0
mov r4, r3
mov #0, r0
cmp/eq r0, r6
bt loc_60330BA
mov #0xC, r0
cmp/gt r0, r6
bf loc_60330B0
neg r5, r0
add #4, r0
and #3, r0
tst r0, r0
bt loc_603304C
mov r0, r1
loc_6033040:
mov.b @r5+, r0
dt r1
mov.b r0, @r4
add #-1, r6
add #1, r4
bf loc_6033040
loc_603304C:
mov r6, r2
shlr2 r2
tst r2, r2
bt loc_60330A4
mov r4, r0
and #3, r0
mov r0, r1
mova .value0, r0
mov.b @(r0,r1), r1
add r1, r0
jmp @r0
nop
! ---------------------------------------------------------------------------
! ---------------------------------------------------------------------------
.value0: !!!!!!!! Is there a way to calculate these few bytes automatically?
.byte 0x04
.byte 0x24
.byte 0x12
.byte 0x24
! ---------------------------------------------------------------------------
! ---------------------------------------------------------------------------
loc_6033068: ! CODE XREF: sub_6033024+4Cj
mov.l @r5+, r0
dt r2
mov.l r0, @r4
add #4, r4
bf loc_6033068
bra loc_60330A4
nop
loc_6033078:
mov.l @r5+, r0
dt r2
mov.w r0, @(2,r4)
shlr16 r0
mov.w r0, @r4
add #4, r4
bf loc_6033078
bra loc_60330A4
nop
loc_603308C:
mov.l @r5+, r0
dt r2
mov.b r0, @(3,r4)
shlr8 r0
mov.b r0, @(2,r4)
shlr8 r0
mov.b r0, @(1,r4)
shlr8 r0
mov.b r0, @r4
add #4, r4
bf loc_603308C
loc_60330A4:
mov r6, r0
and #03, r0
tst r0, r0
bt loc_60330BA
mov r0, r6
loc_60330B0:
mov.b @r5+, r0
dt r6
mov.b r0, @r4
add #1, r4
bf loc_60330B0
loc_60330BA:
rts
mov r3, r0
(Последний раз сообщение было отредактировано 10.04.2020 в 16:38, отредактировал пользователь kof888.)
|