VM02/src/ObjectObj.s

397 lines
8.9 KiB
ArmAsm
Executable File

;*
;* DUMMY JAVA OBJECT CLASSE FOR 6502
;*
;*
;* CLASS FILE Object.class
;*
.BYTE $CA,$FE,$BA,$BE ; MAGIC
.BYTE $00,$00 ; MINOR 0
.BYTE $00,$31 ; MAJOR 49
;*
;* CONSTANT POOL
;*
.BYTE $00,$1A ; CONST POOL COUNT 26
;* CONST POOL INDEX 1
.BYTE $0A ; METHODREF
.BYTE $00,$03 ; CLASS #3
.BYTE $00,$17 ; NAME AND TYPE #23
;* CONST POOL INDEX 2
.BYTE 07 ; CLASS
.BYTE $00,$19 ; #25
;* CONST POOL INDEX 3
.BYTE 07 ; CLASS
.BYTE $00,$00 ; #0
;* CONST POOL INDEX 4
.BYTE $01 ; UTF8
.BYTE $00,$06 ; STRLEN
.BYTE "<init>"
;* CONST POOL INDEX 5
.BYTE $01 ; UTF8
.BYTE $00,$03 ; STRLEN
.BYTE "()V"
;* CONST POOL INDEX 6
.BYTE $01 ; UTF8
.BYTE $00,$04 ; STRLEN
.BYTE "Code"
;* CONST POOL INDEX 7
.BYTE $01 ; UTF8
.BYTE $00,$05 ; STRLEN
.BYTE "clone"
;* CONST POOL INDEX 8
.BYTE $01 ; UTF8
.BYTE $00,$14 ; STRLEN
.BYTE "()Ljava/lang/Object;"
;* CONST POOL INDEX 9
.BYTE $01 ; UTF8
.BYTE $00,$06 ; STRLEN
.BYTE "equals"
;* CONST POOL INDEX 10
.BYTE $01 ; UTF8
.BYTE $00,$15 ; STRLEN
.BYTE "(Ljava/lang/Object;)Z"
;* CONST POOL INDEX 11
.BYTE $01 ; UTF8
.BYTE $00,$08 ; STRLEN
.BYTE "finalize"
;* CONST POOL INDEX 12
.BYTE $01 ; UTF8
.BYTE $00,$08 ; STRLEN
.BYTE "getClass"
;* CONST POOL INDEX 13
.BYTE $01 ; UTF8
.BYTE $00,$13 ; STRLEN
.BYTE "()Ljava/lang/Class;"
;* CONST POOL INDEX 14
.BYTE $01 ; UTF8
.BYTE $00,$08 ; STRLEN
.BYTE "hashCode"
;* CONST POOL INDEX 15
.BYTE $01 ; UTF8
.BYTE $00,$03 ; STRLEN
.BYTE "()I"
;* CONST POOL INDEX 16
.BYTE $01 ; UTF8
.BYTE $00,$06 ; STRLEN
.BYTE "notify"
;* CONST POOL INDEX 17
.BYTE $01 ; UTF8
.BYTE $00,$09 ; STRLEN
.BYTE "notifyAll"
;* CONST POOL INDEX 18
.BYTE $01 ; UTF8
.BYTE $00,$08 ; STRLEN
.BYTE "toString"
;* CONST POOL INDEX 19
.BYTE $01 ; UTF8
.BYTE $00,$14 ; STRLEN
.BYTE "()Ljava/lang/String;"
;* CONST POOL INDEX 20
.BYTE $01 ; UTF8
.BYTE $00,$04 ; STRLEN
.BYTE "wait"
;* CONST POOL INDEX 21
.BYTE $01 ; UTF8
.BYTE $00,$04 ; STRLEN
.BYTE "(J)V"
;* CONST POOL INDEX 22
.BYTE $01 ; UTF8
.BYTE $00,$05 ; STRLEN
.BYTE "(JI)V"
;* CONST POOL INDEX 23
.BYTE $0C ; NAME AND TYPE
.BYTE $00,$04 ; NAME #4
.BYTE $00,$05 ; DESC #5
;* CONST POOL INDEX 24
.BYTE $01 ; UTF8
.BYTE $00,$04 ; STRLEN
.BYTE "6502"
;* CONST POOL INDEX 25
.BYTE $01 ; UTF8
.BYTE $00,$10 ; STRLEN
.BYTE "java/lang/Object"
;*
;* ACCESS FLAGS
;*
.BYTE $00,$21 ; 0x0021
;*
;* THIS CLASS
;*
.BYTE $00,$02 ; #2
;*
;* SUPER CLASS
;*
.BYTE $00,$00 ; #0
;*
;* INTERFACES
;*
.BYTE $00,$00 ; IFACE COUNT 0
;*
;* FIELDS
;*
.BYTE $00,$00 ; FIELD COUNT 0
;*
;* METHODS
;*
.BYTE $00,$0C ; METHOD COUNT 12
;******* METHOD INDEX 0 ********
.BYTE $01,$01 ; ACCESS FLAGS 0x0101
.BYTE $00,$04 ; NAME #4
.BYTE $00,$05 ; DESC #5
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,24 ; NAME #24
.BYTE $00,$00,>(M0A0END-M0A0BGN),<(M0A0END-M0A0BGN)
M0A0BGN:
;* CODE:
.BYTE $00,$01 ; MAX STACK 1
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M0C0END-M0C0BGN),<(M0C0END-M0C0BGN)
M0C0BGN:
RTS
M0C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M0A0END:
;******* METHOD INDEX 1 ********
.BYTE $00,$04 ; ACCESS FLAGS 0x0004
.BYTE $00,$07 ; NAME #7
.BYTE $00,$08 ; DESC #8
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M1A0END-M1A0BGN),<(M1A0END-M1A0BGN)
M1A0BGN:
;* CODE:
.BYTE $00,$01 ; MAX STACK 1
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M1C0END-M1C0BGN),<(M1C0END-M1C0BGN)
M1C0BGN:
.BYTE $01 ; 00000: aconst_null
.BYTE $B0 ; 00001: areturn
M1C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M1A0END:
;******* METHOD INDEX 2 ********
.BYTE $00,$01 ; ACCESS FLAGS 0x0001
.BYTE $00,$09 ; NAME #9
.BYTE $00,$0A ; DESC #10
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M2A0END-M2A0BGN),<(M2A0END-M2A0BGN)
M2A0BGN:
;* CODE:
.BYTE $00,$01 ; MAX STACK 1
.BYTE $00,$02 ; MAX LOCALS 2
.BYTE $00,$00,>(M2C0END-M2C0BGN),<(M2C0END-M2C0BGN)
M2C0BGN:
.BYTE $04 ; 00000: iconst_1
.BYTE $AC ; 00001: ireturn
M2C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M2A0END:
;******* METHOD INDEX 3 - finalize ********
.BYTE $01,$04 ; ACCESS FLAGS 0x0104
.BYTE $00,$0B ; NAME #11
.BYTE $00,$05 ; DESC #5
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,24 ; NAME #24
.BYTE $00,$00,>(M3A0END-M3A0BGN),<(M3A0END-M3A0BGN)
M3A0BGN:
;* CODE:
.BYTE $00,$00 ; MAX STACK 0
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M3C0END-M3C0BGN),<(M3C0END-M3C0BGN)
M3C0BGN:
RTS
M3C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M3A0END:
;******* METHOD INDEX 4 ********
.BYTE $00,$11 ; ACCESS FLAGS 0x0011
.BYTE $00,$0C ; NAME #12
.BYTE $00,$0D ; DESC #13
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M4A0END-M4A0BGN),<(M4A0END-M4A0BGN)
M4A0BGN:
;* CODE:
.BYTE $00,$01 ; MAX STACK 1
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M4C0END-M4C0BGN),<(M4C0END-M4C0BGN)
M4C0BGN:
.BYTE $01 ; 00000: aconst_null
.BYTE $B0 ; 00001: areturn
M4C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M4A0END:
;******* METHOD INDEX 5 ********
.BYTE $00,$01 ; ACCESS FLAGS 0x0001
.BYTE $00,$0E ; NAME #14
.BYTE $00,$0F ; DESC #15
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M5A0END-M5A0BGN),<(M5A0END-M5A0BGN)
M5A0BGN:
;* CODE:
.BYTE $00,$01 ; MAX STACK 1
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M5C0END-M5C0BGN),<(M5C0END-M5C0BGN)
M5C0BGN:
.BYTE $03 ; 00000: iconst_0
.BYTE $AC ; 00001: ireturn
M5C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M5A0END:
;******* METHOD INDEX 6 ********
.BYTE $00,$11 ; ACCESS FLAGS 0x0011
.BYTE $00,$10 ; NAME #16
.BYTE $00,$05 ; DESC #5
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M6A0END-M6A0BGN),<(M6A0END-M6A0BGN)
M6A0BGN:
;* CODE:
.BYTE $00,$00 ; MAX STACK 0
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M6C0END-M6C0BGN),<(M6C0END-M6C0BGN)
M6C0BGN:
.BYTE $B1 ; 00000: return
M6C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M6A0END:
;******* METHOD INDEX 7 ********
.BYTE $00,$11 ; ACCESS FLAGS 0x0011
.BYTE $00,$11 ; NAME #17
.BYTE $00,$05 ; DESC #5
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M7A0END-M7A0BGN),<(M7A0END-M7A0BGN)
M7A0BGN:
;* CODE:
.BYTE $00,$00 ; MAX STACK 0
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M7C0END-M7C0BGN),<(M7C0END-M7C0BGN)
M7C0BGN:
.BYTE $B1 ; 00000: return
M7C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M7A0END:
;******* METHOD INDEX 8 ********
.BYTE $00,$01 ; ACCESS FLAGS 0x0001
.BYTE $00,$12 ; NAME #18
.BYTE $00,$13 ; DESC #19
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M8A0END-M8A0BGN),<(M8A0END-M8A0BGN)
M8A0BGN:
;* CODE:
.BYTE $00,$01 ; MAX STACK 1
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M8C0END-M8C0BGN),<(M8C0END-M8C0BGN)
M8C0BGN:
.BYTE $01 ; 00000: aconst_null
.BYTE $B0 ; 00001: areturn
M8C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M8A0END:
;******* METHOD INDEX 9 ********
.BYTE $00,$11 ; ACCESS FLAGS 0x0011
.BYTE $00,$14 ; NAME #20
.BYTE $00,$05 ; DESC #5
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M9A0END-M9A0BGN),<(M9A0END-M9A0BGN)
M9A0BGN:
;* CODE:
.BYTE $00,$00 ; MAX STACK 0
.BYTE $00,$01 ; MAX LOCALS 1
.BYTE $00,$00,>(M9C0END-M9C0BGN),<(M9C0END-M9C0BGN)
M9C0BGN:
.BYTE $B1 ; 00000: return
M9C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M9A0END:
;******* METHOD INDEX 10 ********
.BYTE $00,$11 ; ACCESS FLAGS 0x0011
.BYTE $00,$14 ; NAME #20
.BYTE $00,$15 ; DESC #21
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M10A0END-M10A0BGN),<(M10A0END-M10A0BGN)
M10A0BGN:
;* CODE:
.BYTE $00,$00 ; MAX STACK 0
.BYTE $00,$03 ; MAX LOCALS 3
.BYTE $00,$00,>(M10C0END-M10C0BGN),<(M10C0END-M10C0BGN)
M10C0BGN:
.BYTE $B1 ; 00000: return
M10C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M10A0END:
;******* METHOD INDEX 11 ********
.BYTE $00,$11 ; ACCESS FLAGS 0x0011
.BYTE $00,$14 ; NAME #20
.BYTE $00,$16 ; DESC #22
.BYTE $00,$01 ; ATTRIB COUNT 1
;* ATTRIB INDEX 0
.BYTE $00,$06 ; NAME #6
.BYTE $00,$00,>(M11A0END-M11A0BGN),<(M11A0END-M11A0BGN)
M11A0BGN:
;* CODE:
.BYTE $00,$00 ; MAX STACK 0
.BYTE $00,$04 ; MAX LOCALS 4
.BYTE $00,$00,>(M11C0END-M11C0BGN),<(M11C0END-M11C0BGN)
M11C0BGN:
.BYTE $B1 ; 00000: return
M11C0END:
;* EXCEPTION TABLE
.BYTE $00,$00 ; COUNT 0
;* CODE ATTRIB
.BYTE $00,$00 ; ATTRIB COUNT 0
M11A0END:
;*
;* GLOBAL ATTRIBUTES
;*
.BYTE $00,$00 ; ATTRIB COUNT 0