亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美日韩视频第一区| 久久精品免费观看| 91一区二区在线| 亚洲男同性恋视频| 欧美亚洲愉拍一区二区| 亚洲成人资源在线| 日韩一区二区三免费高清| 美国十次综合导航| 中文字幕av一区二区三区高| 99国产精品一区| 亚洲电影一区二区| 精品久久久久久久一区二区蜜臀| 国产精品中文欧美| 亚洲品质自拍视频| 51精品久久久久久久蜜臀| 美女性感视频久久| 国产精品人人做人人爽人人添| 91视视频在线观看入口直接观看www| 欧美肥妇free| 国产女主播一区| 精品一区二区三区欧美| 欧美一级一区二区| 日韩电影在线免费| 欧美精品自拍偷拍动漫精品| 亚洲激情自拍视频| 91偷拍与自偷拍精品| 最新中文字幕一区二区三区 | 久久综合九色综合久久久精品综合 | 亚洲欧美二区三区| 粉嫩av亚洲一区二区图片| 欧美精品一区二区三区一线天视频 | 成人国产精品免费观看动漫| 国产亚洲欧美中文| 国产+成+人+亚洲欧洲自线| 国产亚洲综合色| 国产精品1区2区3区| 久久亚洲一级片| 国产精品88888| 亚洲国产精品激情在线观看| 国产高清在线精品| 国产精品私人影院| av不卡在线播放| 亚洲人成网站影音先锋播放| 91在线视频在线| 精品国产91九色蝌蚪| 欧美日韩一区高清| av中文字幕不卡| 国产伦精品一区二区三区视频青涩 | 国内久久婷婷综合| 亚洲国产精品人人做人人爽| 国产精品免费人成网站| 26uuu亚洲综合色欧美 | 日韩一区二区三| 在线观看一区二区精品视频| 粉嫩欧美一区二区三区高清影视 | 亚洲欧美在线视频观看| 欧美va亚洲va香蕉在线| 91精品久久久久久久久99蜜臂| 99re这里只有精品6| 91精品国产全国免费观看| 99热精品国产| 丰满白嫩尤物一区二区| 国产一区二区网址| 久久99久久精品| 石原莉奈在线亚洲二区| 一区二区三区中文字幕精品精品 | 95精品视频在线| 成人免费视频网站在线观看| 国产麻豆精品theporn| 久久精品理论片| 蜜桃av噜噜一区| 麻豆精品一区二区av白丝在线| 日韩精品乱码av一区二区| 亚洲自拍偷拍综合| 夜夜嗨av一区二区三区四季av| 亚洲天堂a在线| 亚洲欧洲av一区二区三区久久| 国产精品久久一卡二卡| 国产精品灌醉下药二区| 亚洲视频一二区| 激情综合网最新| 一级中文字幕一区二区| 久久亚洲影视婷婷| 欧美日韩高清影院| 91在线视频网址| 国产最新精品免费| 石原莉奈一区二区三区在线观看| 国产精品色哟哟| 亚洲精品一区二区三区四区高清| 欧美亚洲综合另类| 97超碰欧美中文字幕| 国产精品一二一区| 久久se精品一区二区| 亚洲成人黄色影院| 亚洲免费av网站| 欧美国产成人精品| 久久久午夜精品理论片中文字幕| 欧美电影在哪看比较好| 在线看国产一区| 91在线视频免费91| 波多野结衣在线aⅴ中文字幕不卡| 美女一区二区视频| 日韩成人午夜精品| 亚洲国产欧美日韩另类综合 | jlzzjlzz欧美大全| 国产高清精品在线| 国产一区二区调教| 国产一区美女在线| 国产真实乱对白精彩久久| 日韩二区三区在线观看| 丝袜诱惑亚洲看片| 天天色综合天天| 日韩国产欧美在线视频| 日韩在线一二三区| 日韩电影在线免费观看| 日本在线观看不卡视频| 日韩电影免费一区| 美女www一区二区| 久久99日本精品| 国产精品一区二区黑丝| 国产999精品久久久久久绿帽| 国产99一区视频免费| 盗摄精品av一区二区三区| 不卡影院免费观看| 91美女片黄在线观看91美女| 日本高清视频一区二区| 欧美性猛片xxxx免费看久爱| 欧美精品粉嫩高潮一区二区| 欧美一区二区三区影视| 精品少妇一区二区三区日产乱码| 精品福利一区二区三区免费视频| 国产午夜亚洲精品午夜鲁丝片| 欧美国产日本视频| 亚洲自拍另类综合| 麻豆久久久久久| 成人免费毛片app| 在线精品亚洲一区二区不卡| 91精品国产91久久久久久一区二区 | 日韩天堂在线观看| 久久久www免费人成精品| 中文字幕第一区| 亚洲一线二线三线久久久| 美女视频黄久久| 成人激情综合网站| 欧美人xxxx| 久久久久国产精品人| 伊人色综合久久天天| 久久国产精品区| 91丨porny丨户外露出| 91麻豆精品国产自产在线| 国产午夜亚洲精品理论片色戒| 亚洲美女区一区| 激情久久久久久久久久久久久久久久| 成人性视频免费网站| 欧美三级日韩在线| 国产午夜精品一区二区三区嫩草| 亚洲精品日韩综合观看成人91| 男人的天堂亚洲一区| 99久久国产综合精品女不卡| 欧美videos中文字幕| 亚洲综合色婷婷| 丰满岳乱妇一区二区三区| 欧美日本在线播放| 中文字幕亚洲一区二区av在线| 奇米精品一区二区三区在线观看| 成人av片在线观看| 欧美va在线播放| 香蕉久久一区二区不卡无毒影院| 国产精品18久久久久久久久| 欧美喷潮久久久xxxxx| ...中文天堂在线一区| 国内精品国产成人| 91精品国产综合久久国产大片| 日韩一区中文字幕| 国产乱子轮精品视频| 欧美一区二区三区四区视频| 一区二区日韩av| 成人app在线观看| 国产日韩在线不卡| 久草这里只有精品视频| 欧美日韩在线精品一区二区三区激情| 国产精品视频麻豆| 国产xxx精品视频大全| 精品日韩一区二区三区| 人人狠狠综合久久亚洲| 欧美日韩午夜在线| 亚洲综合av网| 欧美在线|欧美| 亚洲精品免费在线观看| 91麻豆文化传媒在线观看| 国产精品三级av在线播放| 国产成人在线电影| 国产日韩av一区二区| 国产一区二区剧情av在线| 精品久久国产老人久久综合| 麻豆国产欧美日韩综合精品二区 | 日本久久一区二区| 亚洲欧美日韩一区| 在线视频国产一区| 亚洲永久免费视频|