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

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

?? hardware.asm

?? 凌陽的LCD演示原碼,里面還有LCD的使用說明.
?? ASM
?? 第 1 頁 / 共 2 頁
字號:

////////////////////////////////////////////////////////////////// 
// SP_Inti_IOB
//////////////////////////////////////////////////////////////////    

_SP_Init_IOB: .PROC
		PUSH BP,BP TO [SP];
        BP = SP + 1;
		PUSH R1,R1 TO [SP];
		R1 = [BP+3];						// Port direction
		[P_IOB_Dir] = R1;
		R1 = [BP+4];
		[P_IOB_Data] = R1;
		R1 = [BP+5];
		[P_IOB_Attrib] = R1;
		
		POP R1,R1 FROM [SP];
        POP BP,BP FROM [SP];
        RETF;
		.ENDP



_SP_Import: .PROC
        PUSH BP,BP TO [SP];
        BP = SP + 1;
		PUSH R1,R2 TO [SP];
		R1 = [BP+3]; 						// Port Number
		R2 = [BP+4]; 						// Data Buffer Pointer
		R1 = [R1] ;
		[R2] = R1 ;
		POP R1,R2 FROM [SP];
        POP BP,BP FROM [SP];
        RETF;
		.ENDP

_SP_Export: .PROC
        PUSH BP,BP TO [SP];
        BP = SP + 1;
		PUSH R1,R2 TO [SP];
		R1 = [BP+3]; 						// Port Number
		R2 = [BP+4]; 						// Value
		[R1] = R2 ;
		POP R1,R2 FROM [SP];
        POP BP,BP FROM [SP];
        RETF;        
 		.ENDP
		 


	 
///////////////////////////////////////
_SP_RampUpDAC1:	.PROC
F_SP_RampUpDAC1:
                push r1,r2 to [sp];
                r1=[P_DAC1];
                r1 &= ~0x003f;
                cmp     r1,0x8000
                jb     	L_RU_NormalUp;  
                je      L_RU_End;
                
L_RU_DownLoop:
                call    F_Delay;        
                r2 = 0x0001;
                [P_Watchdog_Clear] = r2;
                r1 -= 0x40;
                [P_DAC1] = r1;
                cmp     r1,0x8000;
                jne     L_RU_DownLoop;  
L_RD_DownEnd:
                jmp     L_RU_End;

L_RU_NormalUp:
L_RU_Loop:
                call    F_Delay;
                r2 = 0x0001;
                [P_Watchdog_Clear] = r2;
                r1 += 0x40;
                [P_DAC1] = r1;
                cmp     r1, 0x8000;
                jne     L_RU_Loop;
                

L_RU_End:
                pop     r1,r2 from [sp];
                retf;
                .ENDP
/////////////////////////////////////// 
_SP_RampDnDAC1:	.PROC
F_SP_RampDnDAC1:
				push r1,r2 to [sp];
                //int off;
                r1 = [P_DAC1];
                r1 &= ~0x003F;
                jz      L_RD_End;
L_RD_Loop:                
                call    F_Delay;        
                r2 = 0x0001;
                [P_Watchdog_Clear] = r2;
                r1 -= 0x40;
                [P_DAC1] = r1;  
                jnz     L_RD_Loop;
L_RD_End:       
                
                pop     r1,r2 from [sp];
                retf;
				.ENDP

///////////////////////////////////////
_SP_RampUpDAC2:	.PROC
F_SP_RampUpDAC2:
                push r1,r2 to [sp];
                r1=[P_DAC2];
                r1 &= ~0x003f;
                cmp     r1,0x8000
                jb     	L_RU_NormalUp_;  
                je      L_RU_End;
                
L_RU_DownLoop_:
                call    F_Delay;        
                r2 = 0x0001;
                [P_Watchdog_Clear] = r2;
                r1 -= 0x40;
                [P_DAC2] = r1;
                cmp     r1,0x8000;
                jne     L_RU_DownLoop_;  
L_RD_DownEnd_:
                jmp     L_RU_End_;

L_RU_NormalUp_:
L_RU_Loop_:
                call    F_Delay;
                r2 = 0x0001;
                [P_Watchdog_Clear] = r2;
                r1 += 0x40;
                [P_DAC2] = r1;
                cmp     r1, 0x8000;
                jne     L_RU_Loop_;
                

L_RU_End_:
                pop     r1,r2 from [sp];
                retf;
                .ENDP
/////////////////////////////////////// 
_SP_RampDnDAC2:	.PROC
F_SP_RampDnDAC2:
				//int off;
				push r1,r2 to [sp];
                
                r1 = [P_DAC2];
                r1 &= ~0x003F;
                jz      L_RD_End_;
L_RD_Loop_:                
                call    F_Delay;        
                r2 = 0x0001;
                [P_Watchdog_Clear] = r2;
                r1 -= 0x40;
                [P_DAC2] = r1;  
                jnz     L_RD_Loop_;
L_RD_End_:       
                
                pop     r1,r2 from [sp];
                retf;
				.ENDP
////////////////////////////////////////

F_Delay:
                push r1 to [sp];
                r1 = 8;
L_D_Loop:
                r1 -= 1;
                jnz     L_D_Loop; 
                pop     r1 from [sp];
                retf;	 
                
                
///////////////////////////////////////////
// Function: Initial Queue
// Destory: R1,R2
///////////////////////////////////////////	

F_SP_InitQueue:
		R1 = R_Queue;
		R2 = 0;
L_ClearQueueLoop:		
		[R1++] = R2;
		cmp	R1, R_Queue+C_QueueSize;
		jne	L_ClearQueueLoop;
			
		R1 = 0;
		[R_ReadIndex] = R1;
		[R_WriteIndex] = R1;
				
		retf;
		
///////////////////////////////////////////
// Function: Get a data form Queue
// Output:  R1: Data
//			R2: return value
// Destory: R1,R2
///////////////////////////////////////////		
F_SP_ReadQueue:

		R2 = [R_ReadIndex];
		cmp R2,[R_WriteIndex];
		je	L_RQ_QueueEmpty;

		R2 += R_Queue;				// get queue data address
		R1 = [R2];
		
		R2 = [R_ReadIndex];
		R2 += 1;
		cmp	R2, C_QueueSize;
		jne	L_RQ_NotQueueBottom;
		R2 = 0;
L_RQ_NotQueueBottom:	
		[R_ReadIndex] = R2;			
		//r2 = 0x0000;						// get queue data
		retf;

L_RQ_QueueEmpty:
		//r2 = 0x8000;						// queue empty
		retf;
///////////////////////////////////////////
// Function: Put a data to Queue
// R1: Input
// Destory: R1,R2,R3
///////////////////////////////////////////	
			
F_SP_WriteQueue:
		R2 = [R_WriteIndex];			// put data to queue
		R2 += R_Queue;
		[R2] = R1;

		R2 = [R_WriteIndex];
		R2 += 1;
		cmp	R2, C_QueueSize;
		jne	L_WQ_NotQueueBottom;
		R2 = 0;
L_WQ_NotQueueBottom:
		[R_WriteIndex] = R2;
		retf;
		
//..........................................
F_SP_TestQueue:
		//... Test Queue Empty ...
		R1 = [R_ReadIndex];
		cmp R1,[R_WriteIndex];
		je	L_TQ_QueueEmpty;

		//... Test Queue Full ...
		R1 = [R_ReadIndex];				// For N Queue Full: 1. W=R-1 2.R=0/W=N-1
		jnz	L_TQ_JudgeCond2;
		R1 = [R_WriteIndex];
		cmp	R1, C_QueueSize-1;			// Cond1
		je	L_TQ_QueueFull;			
L_TQ_JudgeCond2:		
		R1 = [R_ReadIndex];
		R1 -=1;
		cmp R1,[R_WriteIndex];
		je	L_TQ_QueueFull;	

		r1 = 0;							// not Full, not empty
		retf;
L_TQ_QueueFull:
		r1 = 1;							// full
		retf;
L_TQ_QueueEmpty:
		r1 = 2;							// empty
		retf;
//.........................................                

//////////////////////////////////////////////////////
// SACM_GetResource(Address,Page,offset);
//////////////////////////////////////////////////////

_SP_GetResource:	.PROC
		push bp to [sp];
		bp = sp + 1;
		//push r2 to [sp];
		r1 = [bp+3];					// address
		r2 = [bp+4];					// bank
		
		r2 = r2 lsl 4;
		r2 = r2 lsl 4;
		r2 = r2 lsl 2;
		
		sr &= 0x03f;
        r2 |=sr;
        sr = r2;
  
  		r1 = D:[r1];
       
		//pop	r2 from [sp];
		pop	 bp from [sp];
		retf;
		.ENDP 

_SP_Delay:	.PROC
F_SP_Delay:


		retf;
		.ENDP
                
//========================================================================================        
// End of hardware.asm
//========================================================================================



        
        
        

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av动漫一区二区| 国产日韩精品视频一区| 成人中文字幕电影| 国产一区二区精品久久| 捆绑紧缚一区二区三区视频| 亚洲国产精品一区二区久久 | 香蕉乱码成人久久天堂爱免费| 国产精品国产a| 亚洲色图欧美激情| 亚洲精品ww久久久久久p站| 中文字幕视频一区| 亚洲精品日日夜夜| 亚洲午夜激情网站| 日韩高清一级片| 美女网站色91| 国产a久久麻豆| 91视频com| 在线不卡一区二区| 欧美大片日本大片免费观看| 久久久综合九色合综国产精品| 久久色视频免费观看| 国产精品二三区| 亚洲国产视频一区二区| 老司机一区二区| 福利电影一区二区| 欧美日韩视频在线一区二区| 欧美一区二区精品| 国产精品免费丝袜| 亚洲一区二区在线播放相泽| 久久精品国产久精国产| 国产成人av电影在线播放| 色综合中文综合网| 18成人在线观看| 视频精品一区二区| 丰满少妇久久久久久久| 欧美亚洲一区二区三区四区| 欧美sm极限捆绑bd| 国产精品短视频| 麻豆精品视频在线观看免费| 99re视频精品| 精品理论电影在线| 一区二区三区电影在线播| 久久99国产精品免费| 91一区二区三区在线播放| 日韩欧美精品三级| 亚洲精品v日韩精品| 国产精品小仙女| 88在线观看91蜜桃国自产| 国产精品污网站| 美腿丝袜一区二区三区| 色94色欧美sute亚洲线路一ni| 欧美日韩免费不卡视频一区二区三区| 精品国产乱码久久久久久图片| 一区二区久久久久| 成人av中文字幕| www成人在线观看| 日本午夜一区二区| 欧美三级日本三级少妇99| 国产精品久久777777| 国产一区二区三区高清播放| 欧美色精品天天在线观看视频| 欧美激情中文字幕| 国产在线播放一区| 欧美一区二区三区视频在线| 亚洲综合色视频| 色综合久久久久综合体桃花网| 精品av综合导航| 久久99深爱久久99精品| 日韩一区二区精品葵司在线| 五月天丁香久久| 欧美日本一区二区| 亚洲人精品午夜| 国产精品亚洲一区二区三区在线 | 亚洲男人的天堂在线aⅴ视频| 国产成人精品一区二区三区四区| 日韩午夜精品电影| 蜜桃一区二区三区四区| 欧美日韩大陆一区二区| 亚洲午夜激情av| 欧美日韩精品一区视频| 亚洲第一久久影院| 色婷婷亚洲精品| 自拍偷拍国产亚洲| 色偷偷久久一区二区三区| 亚洲欧美国产三级| 91在线视频播放地址| 亚洲欧美日韩在线| 精品视频一区三区九区| 午夜精品视频在线观看| 777亚洲妇女| 激情久久久久久久久久久久久久久久| 8x8x8国产精品| 精品一区二区综合| 精品国产不卡一区二区三区| 国产伦精品一区二区三区视频青涩| 精品国产一区久久| 成人av在线影院| 亚洲成av人片在线观看| 欧美亚洲丝袜传媒另类| 日韩精品国产欧美| 精品日本一线二线三线不卡| 久久福利视频一区二区| 日韩欧美国产一区二区三区| 国产一区二区三区免费在线观看| 国产午夜精品久久久久久久| 91在线视频网址| 蜜乳av一区二区| 久久女同互慰一区二区三区| 91在线一区二区三区| 日本成人超碰在线观看| 精品国产一区二区精华| 国产成人欧美日韩在线电影| 亚洲综合激情网| 欧美精品一区二区三区一线天视频| 成人高清在线视频| 日韩精品一卡二卡三卡四卡无卡| 日本一区二区三级电影在线观看 | 成人一区二区在线观看| 日韩一区日韩二区| 日韩欧美的一区| 欧美无乱码久久久免费午夜一区| 精品一区二区日韩| 亚洲女性喷水在线观看一区| 精品国产成人系列| 91精品福利在线| 粉嫩绯色av一区二区在线观看| 午夜久久久影院| 亚洲特黄一级片| 久久久亚洲午夜电影| 在线电影一区二区三区| 97超碰欧美中文字幕| 狠狠网亚洲精品| 爽爽淫人综合网网站| 亚洲精品日韩综合观看成人91| 久久婷婷国产综合国色天香| 日韩欧美国产麻豆| 欧美视频在线观看一区| 99亚偷拍自图区亚洲| 国产成人免费在线观看不卡| 免费的成人av| 日韩和欧美一区二区| 亚洲韩国精品一区| 亚洲欧美日韩系列| 欧美国产一区视频在线观看| 久久嫩草精品久久久精品 | 麻豆精品久久精品色综合| 一区二区国产视频| 最新久久zyz资源站| 国产欧美精品在线观看| 久久婷婷久久一区二区三区| 精品久久久久久综合日本欧美| 欧美日韩一级片网站| 色婷婷av一区二区三区大白胸| 粉嫩aⅴ一区二区三区四区| 国内久久精品视频| 久久国产精品72免费观看| 理论片日本一区| 国产精品一区二区三区网站| 精品亚洲国内自在自线福利| 老司机精品视频导航| 国内欧美视频一区二区| 粉嫩绯色av一区二区在线观看| 成人午夜私人影院| 91免费观看视频| 欧美色爱综合网| 毛片av一区二区| 国产精品白丝jk黑袜喷水| 成人午夜大片免费观看| 99久久精品免费看国产| 色婷婷av一区二区三区软件 | 色88888久久久久久影院按摩| 91亚洲大成网污www| 欧美性受xxxx黑人xyx性爽| 欧美影视一区二区三区| 欧美一三区三区四区免费在线看| 91精品国产美女浴室洗澡无遮挡| 欧美一级片在线看| 国产视频一区在线播放| 国产精品网站在线观看| 亚洲午夜国产一区99re久久| 久久精品999| 91在线视频在线| 日韩片之四级片| 国产精品久久久久久久久久免费看| 伊人色综合久久天天人手人婷| 91精品国产综合久久婷婷香蕉| 精品国偷自产国产一区| 1000部国产精品成人观看| 午夜精品福利在线| 国产一区二区伦理片| 欧美制服丝袜第一页| 精品国产乱码久久久久久夜甘婷婷| 中文字幕中文字幕一区| 免费不卡在线观看| 成人激情图片网| 91精品在线观看入口| 中文字幕一区二区三区乱码在线| 日韩avvvv在线播放| 99久久婷婷国产精品综合| 日韩写真欧美这视频|