Witam, sprawa wygląda następująco, mam napisany program w bascomie 8051 pod mikrokontroler 89c2051, skompilowałem go i uzyskałem plik hex. Pobrałem z sieci program IDA Pro Advanced ver. 5.5. Otworzyłem w nim plik hex, wybrałem processor type intel 8051 a następnie w opcjach procesora model 89c2051. Uzyskałem w ten sposób kod asemblera. Moje pytanie jest następujące, na ile ten kod jest poprawny? czy dużo jest roboty, żeby uzyskać z tego działający kod asemblera? potrzebuje kod programu w asemblerze, a pisanie go od zera jest dla mnie czarną magią jaką jest asembler. Poniżej umieszczam fragment tego co uzyskałem.
; public start
start:
jbc RAM_20.0, extint0
; End of function start
; External interrupt 0 (INT0 / EX0)
; public extint0
extint0:
nop
xchd A, @R0
ljmp CODE_6B1
; End of function extint0
; START OF FUNCTION CHUNK FOR extint0
CODE_6B1:
add A, R0
cjne A, #4, CODE_6B7
; START OF FUNCTION CHUNK FOR extint0
CODE_70D:
mov @R1, RAM_75
mov DPTR, #2
inc @R0
ajmp CODE_2E4+1
; END OF FUNCTION CHUNK FOR extint0
CODE_6B7:
inc RAM_10
jz CODE_6C0
; START OF FUNCTION CHUNK FOR extint0
CODE_6C0:
movx @DPTR, A
ljmp CODE_5A7
; END OF FUNCTION CHUNK FOR extint0
; START OF FUNCTION CHUNK FOR extint0
CODE_5A7:
inc R3
mov RAM_C, #0xA6 ; 'Ž'
mov RAM_D, #0x20 ; ' '
mov RAM_E, #0
mov RAM_27, #4
jbc P10, CODE_5BA+1
nop
acall CODE_58
CODE_5BA:
jz CODE_5BF
CODE_5BF:
mov A, #1
ljmp CODE_49F
; END OF FUNCTION CHUNK FOR extint0
; Timer interrupt 0 (TIM0)
; public timint0
timint0:
nop
nop
ljmp CODE_645
; End of function timint0
; START OF FUNCTION CHUNK FOR timint0
CODE_645:
add A, R1
nop
acall CODE_510
clr P30
mov A, #0xC8 ; 'L'
acall CODE_8B
ljmp CODE_118
; END OF FUNCTION CHUNK FOR timint0
Pozdrawiam