亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? boot.s

?? 可以編譯產生在gba模擬器上執行的二進制映像的ads模板。
?? S
字號:
	IMPORT |Image$$RO$$Base|			; Address of the start of the RO output section.
	IMPORT |Image$$RO$$Limit|			; Address of the first byte beyond the end of the RO output section.
	IMPORT |Image$$RW$$Base|			; Address of the start of the RW output section.
	IMPORT |Image$$RW$$Limit|			; Address of the byte beyond the end of the ZI output section. (The choice of the end of the ZI region rather than the end of the RW region is to maintain compatibility with legacy code.)
	IMPORT |Image$$ZI$$Base|			; Address of the start of the ZI output section.
	IMPORT |Image$$ZI$$Limit|			; Address of the byte beyond the end of the ZI output section.
    IMPORT  main    					; THE MAIN ENTRY OF MON PROGRAM

EWRAM_START	EQU	0x02000000				;CPU External Working RAM
EWRAM_END	EQU	0x02040000-1   			;(256 Kbytes)
EWRAM_LEN	EQU	EWRAM_END - EWRAM_START+1

IWRAM_START	EQU	0x03000000				;CPU Internal Working RAM
IWRAM_END	EQU	0x03008000-1			;(32 Kbytes)
IWRAM_LEN	EQU	IWRAM_END - IWRAM_START + 1

EWROM_START	EQU	0x08000000

ARM_USR_SP	EQU	0x03007F00				; GBA USR stack adress
ARM_IRQ_SP	EQU	0x03007FA0				; GBA IRQ stack adress
ARM_SVC_SP	EQU	0x03007FE0				; GBA SVC stack adress

INTR_VECTOR_ADDR	EQU	0x3008000 - 4;


ARM_USE_MODE	EQU	0X10				;	Cpu_Mode_USR	EQU 	0x10
ARM_FIQ_MODE	EQU	0X11
ARM_IRQ_MODE	EQU	0X12    			;	Cpu_Mode_IRQ 	EQU 	0x12
ARM_SVC_MODE	EQU	0X13    			;	Cpu_Mode_SVC 	EQU 	0x13
ARM_ABORT_MODE	EQU	0X17
ARM_UNDEF_MODE	EQU	0X1B
ARM_MODEMASK	EQU	0X1F
ARM_NOINT		EQU	0XC0

	AREA INIT, CODE, READONLY

	ENTRY
_start				; Start Vector
		b	   rom_header_end

Nintendo_Logo
		SPACE 156		; Nintendo Logo Character Data (8000004h)

	; Game Title (80000A0h)
		DCB   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
		DCB   0x00,0x00,0x00,0x00

	;MultiBoot Game Code (80000ACh) 
	;ELSE is all zero
		DCB  "MB  "

	; Maker Code (80000B0h)
		DCB   0x30,0x31
	; Fixed Value (80000B2h)
		DCB   0x96
	; Main Unit Code (80000B3h)
		DCB   0x00
	; Device Type (80000B4h)
		DCB   0x00

	; Unused Data (7Byte) (80000B5h)

		DCB   0x00,0x00,0x00,0x00,0x00,0x00,0x00

	; Software Version No (80000BCh)
		DCB   0x00

	; Complement Check (80000BDh)
		DCB   0xf0

	; Checksum (80000BEh)
		DCB   0x00,0x00

rom_header_end
		b	   start_vector			; This branch must be here for proper
									; positioning of the following header.
									; DO NOT REMOVE IT.

;=====================================================================+
;
; The following reserved bytes are used if the code is compiled for
; multiboot mode. It does not hurt anything to leave this header in
; even if the code is not compiled for multiboot. The GBA BIOS will
; auto-patch the first two bytes with 0x03 and 0x01, respectively,
; before running any code if it is executed as multiboot.
;

; The following two bytes are included even for non-multiboot supporting
; builds to guarantee that any generic library code that depends on them
; will still be functional.

	EXPORT	BOOT_METHOD , SLAVE_NUMBER

BOOT_METHOD
		DCB   0	   ; boot method (0=ROM boot, 3=Multiplay boot)
SLAVE_NUMBER
		DCB   0	   ; slave # (1=slave#1, 2=slave#2, 3=slave#3)

		DCB   0	   ; reserved
		DCB   0	   ; reserved
		DCD   0	   ; reserved
		DCD   0	   ; reserved
		DCD   0	   ; reserved
		DCD   0	   ; reserved
		DCD   0	   ; reserved
		DCD   0	   ; reserved
;
;========================================================================+

;==================
;		Reset	  ;
;==================

	EXPORT 	 start_vector
	ALIGN
start_vector
		mov 	r0, #ARM_IRQ_MODE:OR:0x80:OR:0x40 	; Disable interrupts
		msr 	CPSR_c, r0							; Enable IRQ mode
		ldr 	r13, =ARM_IRQ_SP					; Setup IRQ stack pointer

		mov 	r0, #ARM_SVC_MODE:OR:0x80:OR:0x40 	; Disable interrupts
		msr 	CPSR_c, r0							; Enable SVC mode
		ldr 	r13, =ARM_SVC_SP					; Setup SVC stack pointer

; Make sure we are in ExWRAM
		mov     r0,pc								; NOW , we are runing in which space ?
		cmp		r0,#EWROM_START						; is it less then 0x08000000
		bls		SkipEWRAMClear  					; if less , we are runing in a EWRAM
													; if higher, we are runing in a pak ,so no need to do a copy.
; OK, my code is compiler for EWRAM but I run it in a GAMEPAK
; So we need to copy to ExWRAM.
		ldr		r3,=EWRAM_LEN
		ldr		r2,=EWRAM_START
		mov		r6,r2
		ldr		r1,=EWROM_START
		bl		CopyMem			; call CopyMem

; Jump to the ERAM to execute
		bx		r6

SkipEWRAMClear
		ldr 	r0, =|Image$$RO$$Limit| 			; Get pointer to ROM data
		ldr 	r1, =|Image$$RW$$Base| 				; and RAM copy
		ldr 	r3, =|Image$$ZI$$Base| 				; Zero init base => top of initialized data
		cmp 	r0, r1 								; Check that they are different
		beq 	%F1
0 		cmp		r1, r3 								; Copy init data
		ldrcc	r2, [r0], #4
		strcc	r2, [r1], #4
		bcc		%B0
1		ldr 	r1, =|Image$$ZI$$Limit| 			; Top of zero init segment
		mov 	r2, #0
2 		cmp 	r3, r1 								; Zero init
		strcc 	r2, [r3], #4
		bcc		%B2

        ldr     r1, =INTR_VECTOR_ADDR				; Set Interrupt Address
        ldr     r0, =intr_main
        str     r0, [r1]

		mov 	r0, #ARM_SVC_MODE:OR:0x40			; Only IRQ enabled
		msr 	CPSR_c, r0

		mov 	r0, #ARM_USE_MODE:OR:0x40
		msr 	CPSR_c, r0							; Switch to USR mode
		ldr 	sp, =ARM_USR_SP					; Setup USR stack pointer


		bl		main		; Now branch to start of C code


		b .
		b	start_vector

;--------ClearMem----------------------+
; Clear memory to 0x00 if length != 0  |
; r0 = Start Address 				   |
; r1 = Length 						   |
;--------------------------------------+
ClearMem
		mov		r2,#3   		; These commands are used in cases where
		add		r1,r1,r2   		; the length is not a multiple of 4,
		bic		r1,r1,r2			; even though it should be.

		mov     r2,#0
		cmp		r1,r2
		beq		ClearMX				; Length is zero so exit

ClrLoop
		stmia   r0!,{r2}
		sub     r1,r1,#4
		cmp		r1,#0
		bne     ClrLoop
ClearMX
		bx      lr				; ret
;---------end of ClearMem------------



;---------- Copy memory --------------+
; r1 = Source Address 				  |
; r2 = Dest Address 				  |
; r3 = Length 						  |
;-------------------------------------+
CopyMem
		mov     r0,#3 		   ; These commands are used in cases where
		add     r3,r3,r0 		; the length is not a multiple of 4,
		bic     r3,r3,r0 		; even though it should be.
		beq     CIDExit 		 ; Length is zero so exit

CIDLoop
		ldmia   r1!,{r0}
		stmia   r2!,{r0}
		sub     r3,r3,#4
	    cmp		r3,#0
		bne     CIDLoop

CIDExit
		bx      lr			; ret
;--------- end of CopyMem ------------------

       ALIGN
       CODE32

;===================================================
;                  Interrupt Processing
;===================================================
    IMPORT     IntrTable

    EXPORT     intr_main
    ALIGN
    CODE32

intr_main								; Single interrupts support
        mov     r3, #0x4000000           ; REG_BASE
        ldr     r2, [r3,#0x200]!         ; Read REG_IE
        and     r1, r2, r2, lsr #16      ; r1 = IE & IF
        ldr     r2, =IntrTable

        ands    r0, r1, #1               ; V-Blank Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #2               ; H-Blank Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #4               ; V Counter Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #8               ; Timer 0 Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x10            ; Timer 1 Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x20            ; Timer 2 Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x40            ; Timer 3 Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x80            ; Serial Communication Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x100           ; DMA0 Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x200           ; DMA1 Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x400           ; DMA2 Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x800           ; DMA3 Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x1000          ; Key Interrupt
        bne     jump_intr
        add     r2, r2, #4
        ands    r0, r1, #0x2000          ; Cart Interrupt

jump_intr
        strh    r0, [r3, #2]             ; IF Clear
        ldr     r0, [r2]                 ; Jump to user IRQ process
        bx      r0

	END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人av一区二区| 欧美一区二区三区精品| 亚洲人成在线播放网站岛国| 成人av在线播放网址| 亚洲三级小视频| 欧美三级日韩三级| 婷婷六月综合网| 26uuu国产电影一区二区| 国产精品中文字幕一区二区三区| 久久久久久久网| 97超碰欧美中文字幕| 亚洲福利一二三区| 精品久久久三级丝袜| 成人免费毛片app| 亚洲亚洲人成综合网络| 日韩手机在线导航| 不卡av在线网| 午夜久久电影网| 久久久另类综合| 色就色 综合激情| 美国毛片一区二区三区| 久久久精品国产免费观看同学| av中文字幕亚洲| 午夜免费欧美电影| 欧美激情一区二区三区全黄| 欧美三级视频在线观看| 国产福利精品导航| 亚洲一二三级电影| 日本一区二区三区电影| 欧美私人免费视频| 国产成人精品免费一区二区| 亚洲一区二区三区四区中文字幕| 日韩美女视频在线| 日本二三区不卡| 国产一区二区h| 亚洲综合一区二区| 国产香蕉久久精品综合网| 欧美午夜理伦三级在线观看| 国产一区二区福利视频| 亚洲成a天堂v人片| 国产精品九色蝌蚪自拍| 日韩欧美专区在线| 欧美性色欧美a在线播放| 国产精品伊人色| 日本三级韩国三级欧美三级| 亚洲免费在线观看| 福利电影一区二区| 久久国产精品第一页| 中文字幕乱码一区二区免费| 欧美日韩第一区日日骚| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产精品成人午夜| 精品久久国产字幕高潮| 欧美日韩日本视频| 色天天综合色天天久久| 成人一道本在线| 日本福利一区二区| 国产成人免费在线| 蜜臀av亚洲一区中文字幕| 樱桃视频在线观看一区| 国产精品久久国产精麻豆99网站| 97精品国产露脸对白| 国产精品69毛片高清亚洲| 免费成人美女在线观看| 性做久久久久久免费观看欧美| 亚洲少妇中出一区| 国产精品国产三级国产普通话99 | 一本色道**综合亚洲精品蜜桃冫| 久久99国产精品成人| 日本不卡免费在线视频| 日韩精品欧美精品| 亚洲国产另类精品专区| 亚洲在线成人精品| 亚洲国产另类av| 亚洲一区二区三区四区在线| 亚洲精品免费播放| 亚洲精品免费在线| 亚洲一卡二卡三卡四卡五卡| 亚洲在线一区二区三区| 亚洲大片免费看| 三级在线观看一区二区| 天堂av在线一区| 日韩av电影一区| 久久精品国产久精国产爱| 免费在线观看一区二区三区| 看片的网站亚洲| 韩国av一区二区三区| 国产成人在线观看免费网站| 粉嫩欧美一区二区三区高清影视| 丁香婷婷综合激情五月色| 成年人国产精品| 日本久久电影网| 欧美高清激情brazzers| 日韩欧美国产一区二区三区| 久久久亚洲欧洲日产国码αv| 欧美国产综合一区二区| 亚洲欧美日韩国产另类专区| 亚洲综合久久久| 麻豆成人免费电影| 国产999精品久久| 91免费视频大全| 91麻豆精品久久久久蜜臀| 国产成人高清视频| 国产成人av电影在线播放| 韩国精品在线观看| 成人教育av在线| 色噜噜狠狠色综合中国| 欧美日韩精品电影| 久久婷婷综合激情| 亚洲人成7777| 麻豆一区二区三| 成人黄色小视频| 欧美三级韩国三级日本三斤| 2020国产精品| 一区二区欧美视频| 国模一区二区三区白浆| 日本韩国欧美在线| 久久女同精品一区二区| 一区二区三区免费看视频| 色视频成人在线观看免| 欧美丰满一区二区免费视频| 欧美韩国日本综合| 秋霞影院一区二区| 91浏览器在线视频| 精品福利在线导航| 亚洲国产日韩a在线播放| 丰满少妇久久久久久久| 欧美国产97人人爽人人喊| 国产欧美va欧美不卡在线| 亚洲一区二区三区小说| 国产乱码精品一品二品| 欧美精品乱码久久久久久| 欧美激情一区在线| 美女脱光内衣内裤视频久久影院| 成人黄色小视频| 精品国产电影一区二区| 香蕉成人啪国产精品视频综合网| 国产69精品久久久久777| 欧美一区三区二区| 亚洲永久精品大片| 成人午夜激情片| 2017欧美狠狠色| 免费观看在线综合色| 欧美日韩一区二区三区不卡| 17c精品麻豆一区二区免费| 寂寞少妇一区二区三区| 91黄色免费观看| 国产精品国产a| 国产福利精品一区二区| 亚洲精品一区在线观看| 亚洲成人三级小说| 在线区一区二视频| 国产精品国产精品国产专区不蜜| 国产自产高清不卡| 日韩美一区二区三区| 免费在线看成人av| 337p亚洲精品色噜噜噜| 69堂亚洲精品首页| 亚洲天堂免费在线观看视频| 国产成人8x视频一区二区| 日韩免费观看高清完整版在线观看| 日韩精品三区四区| 欧美一二三区在线观看| 日韩电影一二三区| 91精品国产欧美日韩| 日韩国产高清影视| 日韩欧美一级二级| 精品一区二区三区视频| 精品国产三级电影在线观看| 九色综合狠狠综合久久| 欧美成人aa大片| 国产一区999| 国产欧美久久久精品影院| 国产精品18久久久久久久网站| 国产三级久久久| av中文字幕在线不卡| 亚洲免费av观看| 欧美日韩高清一区二区不卡| 日本最新不卡在线| 欧美tickle裸体挠脚心vk| 国产精品一区二区你懂的| 国产三级一区二区三区| jlzzjlzz亚洲日本少妇| 洋洋av久久久久久久一区| 欧美精品第一页| 精品亚洲成a人| 国产精品久久久久久福利一牛影视| 不卡的电视剧免费网站有什么| 亚洲精选视频在线| 777午夜精品免费视频| 国模冰冰炮一区二区| 国产精品免费视频观看| 欧美在线视频全部完| 秋霞影院一区二区| 国产女人aaa级久久久级 | 亚洲国产精品久久久久秋霞影院| 欧美日本在线播放| 国产精品18久久久久久久久久久久| 中文字幕在线不卡国产视频| 欧美日韩在线亚洲一区蜜芽|