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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? monboot.s

?? 一個(gè)兩碟控制的VCD的代碼,兩碟之間的轉(zhuǎn)動(dòng)及連續(xù)播放,已大量生產(chǎn)的CODE.
?? S
字號(hào):
; Copyright 1998, ESS Technology, Inc; SCCSID @(#)monboot.s	1.1 1/15/98; ;	$Log$;; This version is based on version 1.21 of startup.s;; ROM loader source code.;; Assemble and link with the following switches:;       ax -R startup.s;       ld  -Ttext 0cfffde4 -e powerup -X -o startup.sun startup.o; Notice that we want the code to start at 0cfffe04, since there is a; 20h-byte header, we set the starting point of text to 0cfffde4.;; IMPORTANT : See ERS to see how to set RIFACE_WIDTH and RIFACE_WAITSTATE;             for different bank used as EPROM;; This file uses Bank3 as example;; address 4xxxxxx for bank1; address 8xxxxxx for bank2; address Cxxxxxx for bank3;; WHEN MAKING CHANGES TO THIS CODE, MAKE SURE THE FOLLOWING TWO LOCATIONS ; REMAIN UNCHANGED:;       powerup :     0x 0cff ff80;       LastLoc :     0x 0cff fffc;; This code accomplishes the following three things:;       1) Set up PSW;       2) Read commands and arguments prestored in ROM, and execute the;          commands to download code from ROM to SRAM.;       3) As the last step, a jump command is expected to goto a location;          specified by the argument. After a jump command, this code will;          never get control again.;; Diagram of ROM (suppose EPROM bank3 address base is 0xc000000);   ROM base |--------------|;  0xc000000 | ROM header   | size = 16 Bytes;            |--------------|;            | file 1       |;            |--------------|;                  .;           file 2 -- file N-1  ;                  .;            |--------------|;            | file N       |;            |--------------|;            | command      | size = 4 * 4 * cmdblkn (Bytes);            | block        |;            |--------------| ;            |              |;            |--------------| ;            | boot code    | entry point always set at 0x0cffff80;            |--------------| ; 0x0cfffffc | address of   | 4 Bytes;            | ROM header   |;            |--------------| ;; Since ESS' ROM emulator uses locations 0xc000000 and 0xc000004 to; communicate with the PC host, newer code usually starts at 0xc040000.; Since ROM is only 128K/256K, 0xc040000 is effectly the same as 0xc000000 ; from ROM's point's of view; however, emulator can depend on the bit 18; to differentiate ROM access versus emulator access.;; ROM header:;	1) Version (usually is the date when the ROM is made) (4B);	2) Starting location of command block (4B);	3) Number of entris in command block (4B);	4) Number of files (4B);		; ROM loader supports the folowing commands:;       1) COPY(1) : download data from ROM to SRAM;               Arguments : ROM_addr SRAM_addr size;		where:;                 - ROM_addr  is the byte address of data to be downloaded;                 - SRAM_addr is the target byte address to write to;                 - size      is the dword size of data to be written;       2) CLEAR(2) : clear a piece of SRAM to 0;               Arguments : SRAM_addr size;		where:;                 - SRAM_addr is the starting byte address to be cleared;                 - size      is the dword size of SRAM to be cleared;       3) JUMP(3) : jump to the given address;               Arguments : address;		where:;                 - address is the dword address of target code;       4) JSR(4) : call subroutine at given address;               Arguments : address;		where:;                 - address is the dword address of target subroutine;       5) SET24(5) : set value of r24;               Arguments: value;		where:;                 - value is the value;       6) SET25(6) : set value of r25;               Arguments: value;		where:	;                 - value is the value;       7) SET23(7) : set value of r23;               Arguments: value;		where:	;                 - value is the value	; Address of romheader is given at address 0x0cfffffc (LastLoc),; This is done by rom2;; The following macros have to be modified for various different setup:; 	0x7;		0x7	for bank 0 (simulation);		0x4ff	for bank 1;		0x8ff	for bank 2;		0xcff	for bank 3;; 	0x7ff;		see ERS;; 	0x801d ;		see ERS;        .data        .globl dstartdstart:        .globl _environ_environ:        .text	.globl powerup        .globl tstart        .globl _tstart        .globl LastLoc	.noreorg	        .def    RIFACE_WIDTH            =0x20004000        .def    RIFACE_WAIT_STATE       =0x20004004        .def    RIFACE_TURNOFF_DELAY    =0x20004008tstart:_tstart:ParseCmd:; struct romheader {;    longword version;;    longword cmdblkptr;        /* location of commands and arguments   */;    longword cmdblkn;          /* number of commands to be executed    */;    longword nfiles;           /* number of files in ROM               */; } header;; Each command occupies 4 dwords, the first one is command type, the other; three are arguments; Temp variables:;       r9 : address of romheader;       r10: start address of command block;       r11: number of commands to be executed;	addi r0,#0,r26			 ; Clear r26        addi r0,#0x1cff,r9         	 ; r9 = first half of last ROM loc.        sh   r0,r9,r9,#16                ; r9 << = 16 (0xcff0000)        addi r9,#0xfffc,r9               ; r9 = 0xcfffffc        ld   0x0[r9],r9                  ; r9 : location of romheader        nop        st   0xc[r0],r9                  ; save it        nop        ld   0x14[r9],r10                 ; r10 = cmdblkptr        nop        st   0x10[r0],r10                ; save it        nop        ld   0x18[r9],r11                 ; r11 = cmdblkn        nop        st   0x14[r0],r11        nop        mov  r0,r7                       ; r7 : loop counter for                                         ; executed commands LoopCmd:        ld   0x0[r10],r3                 ; r3 : first 4B is cmd type        addi r0,#0x1,r2                  ; r2 = 1 (COPY)        beq  r2,r3,Copy                  ; goto Copy        addi r0,#0x2,r2                  ; r2 = 2 (CLEAR)        nop        beq  r2,r3,Clear                 ; goto Clear        addi r0,#0x3,r2                  ; r2 = 3 (JUMP)        nop        beq  r2,r3,Jump                  ; goto Jump        addi r0,#0x4,r2                  ; r2 = 4 (JSR)        nop        beq  r2,r3,Jsr                   ; goto Jsr        addi r0,#0x5,r2                  ; r2 = 5 (SET24)        nop        beq  r2,r3,Set24                 ; goto Set24        addi r0,#0x6,r2                  ; r2 = 6 (SET25)        nop        beq  r2,r3,Set25                 ; goto Set25        addi r0,#0x7,r2                  ; r2 = 7 (SET23)        nop        beq  r2,r3,Set23                 ; goto Set23        nop        nopNextCmd:        addi r7,#0x1,r7                  ; increment loop counter        addi r10,#0x10,r10               ; move pointer to next cmdblk        bne  r7,r11,LoopCmd              ; loop if not done        nop        nopCopy:; copy data from source address to destination address; arguments : src_addr, dest_addr, size; Temp variables:;       r4 : address of source data;       r5 : address of destination;       r6 : loop counter;       r10: start address of command arguments;        ld   0x4[r10],r4                 ; address of source data        ld   0x8[r10],r5                 ; address of destination        ld   0xc[r10],r6                 ; r6 : loop countersize to copy        nop        beq   r0,r6,NextCmd              ; do copy if size > 0        nop        nopLoopCopy:                                            ld   0x0[r4],r2                  ; load one dword        nop        nop                                          st   0x0[r5],r2                  ; copy to dest        nop        addi r4,#0x4,r4                  ; move pointer to next dword data        addi r5,#0x4,r5                  ; move pointer to next target address        addi r6,#-1,r6                   ; decrement loop counter        bne  r6,r0,LoopCopy              ; loop copy        nop        nop        beq   r0,r0,NextCmd              ; continue to next command if done        nop        nop        Clear:; clear memory starting from given address to 0; arguments : start_addr, size; Temp variables:;       r4 : address of source data;       r6 : loop counter;       r10: start address of command arguments;        ld   0x4[r10],r4                 ; starting address to clear        ld   0x8[r10],r6                 ; loop counter : size to clear        nop        beq   r0,r6,NextCmd              ; do clear if size >0        nop        nopLoopClear:        st   0x0[r4],r0                  ; clear one dword        nop        addi r4,#0x4,r4                  ; move to next address        addi r6,#-1,r6                   ; decrement loop counter        bne  r6,r0,LoopClear             ; loop clear        nop        nop        beq   r0,r0,NextCmd              ; continue to next command if done        nop        nopSet25:; set new value of r25; arguments : value; Temp variables:;       r10: start address of command arguments;        beq  r0,r0,NextCmd               ; continue to next command        ld   0x4[r10],r25                ; r25 = value        nopSet24:; set new value of r24; arguments : value; Temp variables:;       r10: start address of command arguments;        beq  r0,r0,NextCmd               ; continue to next command        ld   0x4[r10],r24                ; r24 = value        nopSet23:; set new value of r23; arguments : value; Temp variables:;       r10: start address of command arguments;        beq  r0,r0,NextCmd               ; continue to next command        ld   0x4[r10],r23                ; r23 = value        nop        Jump:; jump to given address; arguments : dest_addr; Temp variables:;       r4 : address to jump to;       r10: start address of command arguments;        ld   0x4[r10],r4                 ; r4 : address to jump        nop        jspci   r4,#0x0,r0               ; jump	nop	nopJsr:; call subroutine starting at given address; arguments : subroutine_addr; Temp variables:;       r4 : address to jump to;       r10: start address of command arguments;        ld   0x4[r10],r4                 ; address to jump         nop        st   0x20[r0],r6        st   0x24[r0],r7        jspci    r4,#0x0,r31        st   0x28[r0],r10        st   0x2c[r0],r11                ; save registers        ld   0x20[r0],r6        ld   0x24[r0],r7        beq   r0,r0,NextCmd              ; continue to next command         ld   0x28[r0],r10        ld   0x2c[r0],r11                ; restore registers; Power up always starts here; Temp. vars:;	r1:	PSW;	r2:	MEMWIDTH/mask;	r3:	MEMDELAY;	r5:	12000000h;	r6;	10000000h;	r21:	Read back from 10000000 (c3h is 3210!!);       r27:    omnibasepowerup:        addi r0,#0xc3,r1        movtos r1,psw			 ; set PSW        addi r0,#0x2000,r27              ; r27 = 0x2000        sh   r0,r27,r27,#16              ; r27 = r27 << 16 (i.e. omnibase)	addi r0,#0x1200,r5	sh   r0,r5,r5,#16		 ; r5 -> non-cachable DRAM 0	addi r0,#0x1000,r6	sh   r0,r6,r6,#16		 ; r6 -> non-cachable 0					 ; (SRAM for 3208, DRAM for 3210)	addi r0,#_WIDTH10_,r2	 	 ; Width for 3210 (bank 0 is DRAM)	st   0x4000[r27],r2		 ; Set RIFACE_WIDTH	; If the chip is 3210, then we can write to DRAM location and	; read it back from the same location from bank 0. If the chip	; is 3208, then bank 0 is not DRAM due to RIFACE_WIDTH set up	st   0x1000[r5],r1		 ; Write 0xc3 to 0x12001000	st   0x0000[r5],r0		 ; Change the data bus value in case					 ; capacitor holds r1 value for the					 ; next read	ld   0x1000[r6],r21		 ; Read from 0x10000000	addi r0,#0xff,r2		 ; r2 = 0xff (mask)	and  r21,r2,r21			 ; Only look at the last 8b	beq  r1,r21,set_delay        addi r0,#_MEMDELAYH_,r3          ; r3  = 0x1d (3208 + wait state)					 ; (Load delay)        sh   r0,r3,r3,#16                ; r3  << = 16 (0x1d0000)es3208:	addi r0,#_MEMWIDTH_,r2		 ; r2 holds width setting for 3208	st   0x4000[r27],r2		 ; Set RIFACE_WIDTH for 3208set_delay:        addi r3,#_MEMDELAYL_,r3          ; r3  = Wait states of memory banks					 ; 1d001e = 1 (0x1a, 0, 0, 0x1e) or					 ; 1d801e = 1 (0x1b, 0, 0, 0x1e)					 ; which means: 3208					 ; bank3:  5 (1a) or 4 (1b) wait states					 ; bank2: 32 wait states					 ; bank1: 32 wait states					 ; bank0:  1 wait states        st   0x4004[r27],r3              ; set RIFACE_WAIT_STATE					 ; Bank3 : 3 wait state        addi r0,#0x204,r2                ; r2  = DRAM configuration (.5MB)					 ; Browser board can also be set to					 ; 0x2ea        st   0x8100[r27],r2              ; set buscon_dram_control        st    0x0[r5],r21		 ; If it is 0xc3, then it is 3210;					 ; Otherwise, it is 3208        nop        nop        nop        beq   r0,r0,ParseCmd             ; goto ParseCmd	nop        nopLastLoc:        nop

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区啪啪| 一区二区三区资源| 国产一区视频在线看| 欧美美女黄视频| 人人狠狠综合久久亚洲| 精品国产一二三区| 国产激情视频一区二区在线观看| 一区二区三区免费观看| 91国产福利在线| 久久国产精品无码网站| 久久久久久久综合色一本| 国产91精品久久久久久久网曝门| 激情综合网最新| 国产欧美日本一区视频| 一本久久综合亚洲鲁鲁五月天| 欧美剧在线免费观看网站| 免费看欧美美女黄的网站| 亚洲精品高清视频在线观看| 欧美综合天天夜夜久久| 国产一区二区在线看| 亚洲日本va午夜在线影院| 日韩一级欧美一级| 色婷婷av一区二区三区软件| 久久99精品久久久久久动态图| 成人黄色一级视频| 亚洲精品免费在线播放| 欧美成人高清电影在线| 欧美亚洲动漫精品| 成人av网站在线观看免费| 日日摸夜夜添夜夜添精品视频| 91在线观看视频| 国产一区二区三区国产| 亚洲第一成年网| 综合欧美亚洲日本| 国产精品久线在线观看| 欧美tickling网站挠脚心| 欧美一区二区三区在| 91在线一区二区三区| 不卡视频在线看| 韩国v欧美v日本v亚洲v| 精品午夜久久福利影院| 日本强好片久久久久久aaa| 亚洲成人一区二区| 亚洲午夜影视影院在线观看| 亚洲国产成人av网| 亚洲自拍偷拍综合| 免费成人在线网站| 青青草成人在线观看| 国产中文字幕精品| 激情av综合网| 日韩一区二区影院| 日韩免费看的电影| 久久精品一区二区三区四区| 欧美国产精品专区| 成人欧美一区二区三区黑人麻豆| 成人午夜在线视频| 91在线视频观看| 精品视频一区二区不卡| 日韩一区二区三区四区| 欧美高清视频在线高清观看mv色露露十八 | 亚洲国产综合在线| 丝袜亚洲精品中文字幕一区| 青青草原综合久久大伊人精品| 久久久久国产精品人| 国产精品久久影院| 午夜a成v人精品| 国产ts人妖一区二区| 欧美日韩在线免费视频| 精品少妇一区二区三区在线视频| 国产成人超碰人人澡人人澡| 色综合久久中文字幕综合网| 欧美一级片在线观看| 国产精品护士白丝一区av| 丝袜美腿高跟呻吟高潮一区| 精品一区二区三区久久| 在线观看日韩精品| 2023国产精品视频| 天堂精品中文字幕在线| 成人午夜电影小说| 久久伊人中文字幕| 午夜精品久久久久影视| 99re亚洲国产精品| 久久久国产午夜精品| 99国产精品久| 精品国产露脸精彩对白| 毛片基地黄久久久久久天堂| 欧美日韩在线不卡| 一区二区三区中文字幕在线观看| 国产精品久久毛片| 国产不卡视频在线观看| 久久久99久久| 日本中文在线一区| 欧美一区二区三区四区在线观看 | 欧洲视频一区二区| 久久一区二区三区国产精品| 久久国产三级精品| 欧美电影免费观看完整版| 久久精工是国产品牌吗| 久久综合五月天婷婷伊人| 国产曰批免费观看久久久| 欧美精品一区二区蜜臀亚洲| 精品一区二区三区av| 久久综合给合久久狠狠狠97色69| 欧美一区二区在线视频| 天天av天天翘天天综合网色鬼国产| 丝袜美腿亚洲一区| 日韩欧美一二三四区| 国内成人自拍视频| 国产精品传媒视频| 在线成人av网站| 国产高清成人在线| 亚洲码国产岛国毛片在线| 欧美日韩1234| 中文字幕不卡在线观看| 色美美综合视频| 蜜桃视频一区二区| 久久久久久久免费视频了| 欧洲一区在线观看| 国产精品一品视频| 亚洲一区自拍偷拍| 国产丝袜欧美中文另类| 欧美最猛黑人xxxxx猛交| 韩国一区二区三区| 亚洲一区二区欧美| 国产视频不卡一区| 日韩三级高清在线| 色婷婷av一区二区三区软件| 蜜桃一区二区三区在线观看| 亚洲综合在线电影| 国产精品福利影院| 国产三级久久久| 久久久久国色av免费看影院| 欧美日本韩国一区二区三区视频| 国产网站一区二区| 欧美精品一区二区三区很污很色的 | 精品一区二区在线看| 亚洲图片欧美激情| 国产精品高潮久久久久无| 中文字幕高清不卡| 久久无码av三级| 久久久综合激的五月天| 久久视频一区二区| 久久久久99精品一区| 久久婷婷久久一区二区三区| 亚洲精品国产一区二区精华液| www.av亚洲| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 天堂久久久久va久久久久| 亚洲综合色成人| 午夜一区二区三区视频| 青青青爽久久午夜综合久久午夜| 日韩欧美在线1卡| 欧美电影免费提供在线观看| 2017欧美狠狠色| 久久久www成人免费无遮挡大片| 国产精品一区2区| 波多野结衣中文字幕一区二区三区 | 国产拍欧美日韩视频二区| 国产日韩精品一区二区浪潮av | 91精品久久久久久蜜臀| 欧美久久久一区| 欧美大黄免费观看| 亚洲视频电影在线| 美国毛片一区二区三区| 91精品欧美综合在线观看最新| 男女男精品视频| 成人伦理片在线| 欧美一区二区黄| 亚洲欧美日韩一区二区| 极品美女销魂一区二区三区免费| 亚洲欧美综合另类在线卡通| 亚洲欧美另类久久久精品| 日本亚洲天堂网| 91美女视频网站| 久久精品一区四区| 男女激情视频一区| 91精品国产一区二区三区香蕉| 9色porny自拍视频一区二区| 91精品国产综合久久久久久| 亚洲精品五月天| 国产精品亚洲一区二区三区在线 | 精油按摩中文字幕久久| 91免费视频大全| 中文字幕精品在线不卡| 美腿丝袜亚洲综合| 欧美日韩国产欧美日美国产精品| 在线观看国产91| 亚洲色图19p| 色一情一伦一子一伦一区| 中文字幕高清一区| 国产乱一区二区| 日韩精品一区二区三区中文不卡| 精品国精品国产| 蜜臀av性久久久久av蜜臀妖精| 秋霞午夜av一区二区三区 | 欧美国产精品一区| 成人av在线播放网址| 国产精品麻豆99久久久久久| 99久久久精品免费观看国产蜜| 一本到不卡精品视频在线观看|