السلام عليكم ورحمة الله وبركاته
ملف الجافا مفهوم طبعا ولكن اريد ان اعرف مالذي يفعله ملف الاسمبلي
هذا هو ملف الجافا الاصلي
public class Mctest{
public static void main(String [] args)
{
int num1=11;
int num2=222;
}
}و هذا هو ملف الاسيمبلي
list p=pic16f84a, r=dec
org 0
goto _start
org 4
goto interrupt
_STATUS equ 3
_C equ 0
_Z equ 2
_PCL equ 2
_PCLATH equ 10
_TMR0 equ 1
_INTCON equ 11
_OPTION equ 129
Mctest_static equ 18
PIC16F84_static equ 18
Processor_static equ 18
PIC16F84__PORTA equ 18
PIC16F84__PORTB equ 18
PIC16F84__EEDATA equ 18
PIC16F84__EEADR equ 18
PIC16F84__TRISA equ 18
PIC16F84__TRISB equ 18
PIC16F84__EECON1 equ 18
PIC16F84__EECON2 equ 18
PIC16F84__C equ 18
PIC16F84__Z equ 18
PIC16F84__W equ 18
PIC16F84__F equ 18
PIC16F84__TMR0 equ 18
PIC16F84__PCL equ 18
PIC16F84__STATUS equ 18
PIC16F84__FSR equ 18
PIC16F84__PCLATH equ 18
PIC16F84__INTCON equ 18
PIC16F84__OPTION equ 18
Mctest__init___V_loc equ 18
Mctest__init___V_tmp equ 19
Mctest_main_Str_loc equ 18
Mctest_main_Str_tmp equ 21
PIC16F84__setMemory_II_V_loc equ 18
PIC16F84__setMemory_II_V_tmp equ 20
PIC16F84__getMemory_I_I_loc equ 18
PIC16F84__getMemory_I_I_tmp equ 19
PIC16F84__setBit_II_V_loc equ 18
PIC16F84__setBit_II_V_tmp equ 20
PIC16F84__clearBit_II_V_loc equ 18
PIC16F84__clearBit_II_V_tmp equ 20
PIC16F84__asm_Str_loc equ 18
PIC16F84__asm_Str_tmp equ 19
PIC16F84__initline_Str_loc equ 18
PIC16F84__initline_Str_tmp equ 19
PIC16F84__clock_I_V_loc equ 18
PIC16F84__clock_I_V_tmp equ 19
PIC16F84__delay_I_V_loc equ 18
PIC16F84__delay_I_V_tmp equ 19
PIC16F84__heap_I_V_loc equ 18
PIC16F84__heap_I_V_tmp equ 19
PIC16F84__memory_II_V_loc equ 18
PIC16F84__memory_II_V_tmp equ 20
PIC16F84__banksize_I_V_loc equ 18
PIC16F84__banksize_I_V_tmp equ 19
PIC16F84__genlabel__V_loc equ 18
PIC16F84__genlabel__V_tmp equ 18
PIC16F84__getlabelhigh__I_loc equ 18
PIC16F84__getlabelhigh__I_tmp equ 18
PIC16F84__getlabellow__I_loc equ 18
PIC16F84__getlabellow__I_tmp equ 18
PIC16F84__printlabel__V_loc equ 18
PIC16F84__printlabel__V_tmp equ 18
PIC16F84__init___V_loc equ 18
PIC16F84__init___V_tmp equ 19
Processor__init___V_loc equ 21
Processor__init___V_tmp equ 22
_FSR_TEMP equ 12
_ACC equ 13
_HEAP equ 14
_ACC_TEMP equ 15
_STATUS_TEMP equ 16
_W_TEMP equ 17
_start
movlw 79
movwf _HEAP
goto main
clockspeed equ 4000000
; tmr0 count = 250
tmr0_for_1ms equ 6
; prescaler = 4
set_prescaler_for_1ms macro
bcf _OPTION,2
bcf _OPTION,1
bsf _OPTION,0
endm
Mctest__init___V
;---- Mctest.java[1]: public class Mctest{
return
Mctest_main_Str
main
;---- Mctest.java[5]: int num1=11;
movlw 11
movwf Mctest_main_Str_loc+1
;---- Mctest.java[6]: int num2=222;
movlw 222
movwf Mctest_main_Str_loc+2
;---- Mctest.java[9]: }
banksel _ACC
return
PIC16F84__init___V
;---- PIC16F84.java[69]
;---- PIC16F84.java[70]
;---- PIC16F84.java[72]
;---- PIC16F84.java[73]
;---- PIC16F84.java[74]
;---- PIC16F84.java[75]
;---- PIC16F84.java[77]
;---- PIC16F84.java[78]
;---- PIC16F84.java[79]
;---- PIC16F84.java[80]
;---- PIC16F84.java[81]
;---- PIC16F84.java[83]
;---- PIC16F84.java[84]
;---- PIC16F84.java[85]
;---- PIC16F84.java[87]
;---- PIC16F84.java[88]
;---- PIC16F84.java[89]
;---- PIC16F84.java[90]
return
Processor__init___V
;---- Processor.java[1]: public class Processor extends PIC16F84 {
movf Processor__init___V_loc+0,0
movwf PIC16F84__init___V_loc+0
IF ($ >> 10) != (PIC16F84__init___V >> 10)
pagesel PIC16F84__init___V
ENDIF
call PIC16F84__init___V
return
interrupt
movwf _W_TEMP
swapf _STATUS,0
movwf _STATUS_TEMP
movf _ACC,0
movwf _ACC_TEMP
movf 4,0
movwf _FSR_TEMP
banksel _ACC
movf _FSR_TEMP,0
movwf 4
movf _ACC_TEMP,0
movwf _ACC
swapf _STATUS_TEMP,0
movwf _STATUS
swapf _W_TEMP,1
swapf _W_TEMP,0
retfie
end