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

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

?? boot.asm

?? DEC5416 的例程
?? ASM
字號:
****************************************************************************
*  BOOT   v3.70                                                           *
*  Copyright (c) 1993-2001 Texas Instruments Incorporated                  *
****************************************************************************
	.file "boot.asm"
	.c_mode
	.mmregs
CONST_COPY	.set 0
SWCR		.set	002BH			; 軟件等待控制寄存器
psdramc		.set	8000H			; Read/Write
OVLY_0		.set	001FH			; OVLY = '0'
****************************************************************************
*  I/O空間:		插5×2個等待		?		  						    *
*  數據空間低32K:	插2×2個等待		?		                            *
*  數據空間高32K:	插5×2個等待		?		                            *
*  程序空間低512K:?插2×2個等待		?		                            *
*  程序空間高512K:	插5×2個等待		?		                            *
****************************************************************************
SWWSR_VAL	.set	0FAAAH
SWCR_VAL	.set	0001H			; 等待×2
****************************************************************************
*                                                                          *
*   This module contains the following definitions :                       *
*                                                                          *
*         __stack    - Stack memory area                                   *
*         _c_int00   - Boot function                                       *
*         _var_init  - Function which processes initialization tables      *
*                                                                          *
****************************************************************************
        .ref	 cinit, pinit
        .ref	IV_RESET
		.global  _c_int00
		.global  _main, _exit, __STACK_SIZE

****************************************************************************
* Declare the stack.  Size is determined by the linker option -stack.  The *
* default value is 1K words.                                               *
****************************************************************************
__stack:	.usect	".stack",0

****************************************************************************
* FUNCTION DEF : _c_int00                                                  *
*                                                                          *
*   1) Set up stack                                                        *
*   2) Set up proper status                                                *
*   3) If "cinit" is not -1, init global variables                         *
*   4) call users' program                                                 *
*                                                                          *
****************************************************************************
	.text
_c_int00:
****************************************************************************
*  INIT STACK POINTER.  REMEMBER STACK GROWS FROM HIGH TO LOW ADDRESSES.   *
****************************************************************************
	STM	#__stack,SP		; set to beginning of stack memory
	ADDM	#(__STACK_SIZE-1),*(SP) ; add size to get to top
	ANDM	#0fffeh,*(SP)		; make sure it is an even address
	
	SSBX	SXM			; turn on SXM for LD #cinit,A
****************************************************************************
*  中斷向量表重定位,配置軟件等到寄存器					                   *
****************************************************************************
		ANDM	#OVLY_0,*(PMST)		; OVLY = 0
		ORM	#IV_RESET,*(PMST)	; 中斷向量表重定位
		STM	#SWWSR_VAL,SWWSR	; 配置軟件等待寄存器
		STM	#SWCR_VAL,SWCR
		STM #0,IMR	

****************************************************************************
* SET UP REQUIRED VALUES IN STATUS REGISTER                                *
****************************************************************************
	SSBX	CPL			; turn on compiler mode bit
	RSBX	OVM			; clear overflow mode bit
	SSBX    INTM        ; enable the interuption

****************************************************************************
* SETTING THESE STATUS BITS TO RESET VALUES.  IF YOU RUN _c_int00 FROM     *
* RESET, YOU CAN REMOVE THIS CODE                                          *
****************************************************************************
	LD	#0,ARP
	RSBX	C16
	RSBX	CMPT
	RSBX	FRCT

****************************************************************************
*  IF cinit IS NOT -1, PROCESS INITIALIZATION TABLES			   *
*  TABLES ARE IN PROGRAM MEMORY IN THE FOLLOWING FORMAT:                   *
*                                                                          *
*       .word  <length of init data in words>                              *
*       .word  <address of variable to initialize>                         *
*       .word  <init data>                                                 *
*       .word  ...                                                         *
*                                                                          *
*  The cinit table is terminated with a zero length                        *
*                                                                          *
****************************************************************************
	.if	__far_mode
	LDX	#cinit,16,A		
	OR	#cinit,A,A
	.else
	LD	#cinit,A                ; Get pointer to init tables
	.endif

	ADD	#1,A,B
	BC	DONE_CINIT,BEQ		; if (cinit == -1) no init tables

****************************************************************************
*  PROCESS INITIALIZATION TABLES.  TABLES ARE IN PROGRAM MEMORY IN THE     *
*  FOLLOWING FORMAT:                                                       *
*                                                                          *
*       .word  <length of init data in words>                              *
*       .word  <address of variable to initialize>                         *
*       .word  <init data>                                                 *
*       .word  ...                                                         *
*                                                                          *
*  The init table is terminated with a zero length                         *
*                                                                          *
****************************************************************************
	RSBX	SXM			; do address arithmetic unsignedly 
        .if	__far_mode
	.else
	NOP
	LD	#cinit,A		; don't want this sign extended anymore1
	.endif
	B 	START_CINIT		; start processing 

LOOP_CINIT:
	READA	*(AR2)			; AR2 = address
	ADD	#1,A			; A += 1

	RPT	*(AR1)			; repeat length+1 times
	READA	*AR2+			; copy from table to memory

	ADD	*(AR1),A		; A += length (READA doesn't change A)
	ADD	#1,A			; A += 1

START_CINIT:
	READA	*(AR1)			; AR1 = length
	ADD	#1,A			; A += 1
	BANZ	LOOP_CINIT,*AR1-	; if (length-- != 0) continue 
DONE_CINIT:

****************************************************************************
*  IF pinit IS NOT -1, PROCESS INITIALIZATION TABLES                       *
*  TABLES ARE IN PROGRAM MEMORY IN THE FOLLOWING FORMAT:                   *
*                                                                          *
*       .word  <address of initialization routine to call>                 *
*       .word  ...                                                         *
*                                                                          *
*  The pinit table is terminated with a NULL pointer                       *
*                                                                          *
****************************************************************************
	SSBX	SXM
	FRAME	-4
;	nop

	.if	__far_mode
	LDX	#pinit,16,A
	OR	#pinit,A,A
	.else
        LD      #pinit,A                ; A = &pinit table
	.endif

        ADD     #1,A,B                  ; B = A + 1
        BC      DONE_PINIT,BEQ          ; if (pinit == -1) no pinit tables

       .if     __far_mode
       .else
       RSBX    SXM                     ; do address arithmetic unsignedly
       NOP
       LD      #pinit,A                ; don't want this sign extended anymore
       .endif

        BD      START_PINIT 
	DST	A, @2
	nop

LOOP_PINIT:
	.if	__far_mode
	FCALA	B			; call function
	.else
	CALA	B			; call function
	.endif

        DLD     @2, A                   ; put PINIT pointer in A

START_PINIT:
        READA   @0                      ; "push" address of function

	.if	__far_mode
	ADD	#1,A
	READA	@1
	.endif

        .if	__far_mode
	ADD	#1, A
	DST	A, @2
        DLD     @0, B
        BC	LOOP_PINIT,BNEQ

        .else
        LD      @0, B                   ; "pop" address of function
        BCD     LOOP_PINIT,BNEQ         ; if not NULL, loop.
        ADDM    #1,@3                   ; move PINIT pointer (in stack)
        .endif

     
DONE_PINIT:
	RSBX	SXM
	FRAME	4

****************************************************************************
*  CALL USER'S PROGRAM                                                     *
****************************************************************************
	.if CONST_COPY
	.if __far_mode                  ; Use far calls for C548 in far mode
	FCALL	_const_init             ; move .const section to DATA mem
        .else
        CALL	_const_init
	.endif
	.endif

	.if __far_mode                  ; Use far calls for C548 in far mode
	FCALL    _main			
	FCALL    _exit			; call exit instead of abort so that
	.else
	CALL    _main			
	CALL    _exit			; call exit instead of abort so that
	.endif

	.if CONST_COPY

****************************************************************************
* FUNCTION DEF : __const_init                                              *
*                                                                          *
*  COPY .CONST SECTION FROM PROGRAM TO DATA MEMORY                         *
*                                                                          *
*   The function depends on the following variables                        *
*   defined in the linker command file                                     *
*                                                                          *
*   __c_load         ; global var containing start                         *
*                      of .const in program memory                         *
*   __const_run      ; global var containing run                           *
*                      address in data memory                              *
*   __const_length   ; global var length of .const                         *
*                      section                                             *
*                                                                          *
****************************************************************************
        .global __const_length,__c_load
        .global __const_run
_const_init:
 
        .sect ".c_mark"              ; establish LOAD adress of
        .label __c_load             ; .const section
 
        .text
******************************************************
* C54x VERSION                                        *
******************************************************
 
        LD      #__const_length, A
        BC      __end_const,AEQ
        STM     #__const_run,AR2 ; Load RUN address of .const
 
        RPT     #__const_length-1
        MVPD    #__c_load,*AR2+  ; Copy .const from program to data
 
******************************************************
*  AT END OF .CONST SECTION RETURN TO CALLER         *
******************************************************
__end_const:
	.if    __far_mode

	.if __no_fret
	FB	_freti549
	.else
	FRET
	.endif

	.else
        RET

	.endif
        .endif
	.end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米影视在线99精品| 一本色道久久综合亚洲精品按摩| 国产一区二区导航在线播放| 91蜜桃在线观看| 亚洲午夜电影网| 国产91在线看| 日韩精品一区二区三区四区| 一区二区免费视频| 国产99久久久精品| 欧美va亚洲va香蕉在线| 亚洲成精国产精品女| av午夜一区麻豆| 久久人人超碰精品| 久久福利视频一区二区| 欧美挠脚心视频网站| 亚洲美女电影在线| 成人av网站在线观看免费| 日韩亚洲欧美在线观看| 午夜精品一区在线观看| 色综合激情久久| 亚洲色图欧洲色图| av成人老司机| 综合亚洲深深色噜噜狠狠网站| 国产高清不卡二三区| 久久久美女毛片| 国产在线国偷精品免费看| 欧美大片一区二区| 美国毛片一区二区| 精品日韩99亚洲| 狠狠色狠狠色合久久伊人| 欧美一级在线视频| 日韩高清欧美激情| 欧美一级高清片| 麻豆国产一区二区| 欧美videossexotv100| 激情综合网天天干| 久久亚洲免费视频| 成人免费视频视频在线观看免费 | 狠狠色综合色综合网络| 欧美videos中文字幕| 精品一区二区在线免费观看| 欧美成人一区二区三区在线观看 | 国产欧美综合色| 国产精品1024久久| 综合久久久久综合| 欧美日韩在线三级| 人妖欧美一区二区| 久久久久久亚洲综合| 成人国产在线观看| 亚洲综合色视频| 日韩视频一区二区三区在线播放 | 五月天欧美精品| 精品处破学生在线二十三| 国产乱码精品一区二区三区av| 久久综合九色综合97婷婷女人 | 亚洲午夜免费福利视频| 亚洲天堂中文字幕| 色88888久久久久久影院按摩| 亚洲综合免费观看高清完整版在线 | 亚洲线精品一区二区三区| 91精品午夜视频| 国产精品香蕉一区二区三区| 亚洲欧美另类久久久精品2019| 欧美日精品一区视频| 激情综合网天天干| 亚洲欧美视频在线观看视频| 欧美一级日韩免费不卡| 99久久精品国产毛片| 日本少妇一区二区| 亚洲国产精品v| 欧美一级爆毛片| 91麻豆6部合集magnet| 奇米影视一区二区三区| 国产精品传媒入口麻豆| 欧美二区乱c少妇| 波多野结衣在线aⅴ中文字幕不卡| 午夜免费久久看| 中文字幕一区二区三| 91精品国产手机| 91激情在线视频| 国产精品中文字幕欧美| 日韩影院在线观看| 国产精品久久久久久久久久久免费看| 3751色影院一区二区三区| eeuss影院一区二区三区 | 精品黑人一区二区三区久久| 91麻豆swag| 成人在线视频首页| 久久99精品久久久久久动态图 | 亚洲精品国产第一综合99久久| 日韩免费性生活视频播放| 在线精品亚洲一区二区不卡| bt欧美亚洲午夜电影天堂| 国产在线视频不卡二| 日韩精品一卡二卡三卡四卡无卡| 亚洲视频小说图片| 亚洲国产精品av| 久久久蜜桃精品| 久久综合久久99| 欧美一区二区三区系列电影| 欧美日韩国产a| 欧美性受xxxx黑人xyx| 色婷婷香蕉在线一区二区| 成人福利在线看| 国产成人精品亚洲777人妖 | 在线成人免费视频| 在线视频你懂得一区| 91麻豆国产精品久久| 99久久精品免费看国产免费软件| 国产传媒一区在线| 日韩一卡二卡三卡四卡| 欧美亚洲国产怡红院影院| 91在线云播放| 色综合久久88色综合天天免费| 成人黄动漫网站免费app| caoporm超碰国产精品| 成人黄色片在线观看| 99精品一区二区| 91免费在线视频观看| 91亚洲永久精品| 欧美在线小视频| 欧美日韩国产片| 91麻豆精品国产91久久久资源速度 | 懂色中文一区二区在线播放| 高清视频一区二区| eeuss鲁片一区二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 久久婷婷成人综合色| 久久婷婷一区二区三区| 国产精品美女久久久久高潮| 亚洲欧洲综合另类| 五月天丁香久久| 国产在线视视频有精品| 成人午夜av影视| 欧美四级电影网| 欧美成人性战久久| 国产精品麻豆久久久| 亚洲激情自拍视频| 日本成人在线看| 高清免费成人av| 欧美日韩国产高清一区二区| 亚洲精品在线观| 亚洲视频一二三| 麻豆一区二区三| 成人18精品视频| 欧美日韩另类一区| 国产欧美精品一区aⅴ影院| 亚洲最大色网站| 狠狠色综合日日| 在线视频国产一区| 久久影视一区二区| 亚洲网友自拍偷拍| 国产精品99久久久久久宅男| 91福利在线导航| 精品久久久久久无| 一区av在线播放| 韩日av一区二区| 欧美图区在线视频| 欧美激情在线看| 日韩—二三区免费观看av| va亚洲va日韩不卡在线观看| 欧美一区二区性放荡片| 亚洲视频 欧洲视频| 国产美女在线观看一区| 欧美在线你懂得| 日本一区二区视频在线观看| 日韩福利电影在线观看| 色激情天天射综合网| 国产精品素人视频| 青青草成人在线观看| 欧美主播一区二区三区美女| 国产精品欧美极品| 精品中文字幕一区二区| 欧美喷水一区二区| 亚洲色图都市小说| 岛国精品在线观看| 国产亚洲综合在线| 欧美另类z0zxhd电影| 亚洲欧美日本在线| 国产成人av电影在线播放| 精品99999| 激情av综合网| 欧美大片在线观看| 久久机这里只有精品| 91精品婷婷国产综合久久竹菊| 亚洲另类色综合网站| 99re在线精品| 亚洲视频免费在线观看| 99天天综合性| 国产精品久久久久影院| 国产成人精品一区二| 国产片一区二区三区| 国产精品12区| 国产精品久久影院| 国产成人免费在线观看不卡| 国产欧美日韩一区二区三区在线观看| 国产美女精品人人做人人爽 | 国产精品一区二区在线观看不卡 | 精品日韩99亚洲| 欧美视频在线观看一区|