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

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

?? lcd.asm

?? 液晶屏啟動程序
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
				R3 += 1				
				[x] = R3
				CMP		R3,[x1]
				JNE		?_Lcd_Block_MiddlePage1
				R3 = [y]
				R3 += 4					//[y]換到下一頁起始位置
				[y] = R3
				R3 = [ysize]
				R3 = R3 -4 
				[ysize] = R3			//計算還要寫的行值	
				R3 = [R_LcdStartDot]
				R3 &= 0xFF				//得到x0指針
				[x] = R3		
				GOTO	?_Lcd_Block_MiddlePage
				
?_Lcd_Block_LastPage:					//說明是最后一頁				
				R3 = [ysize]
				CMP		R3,0
				JNE		?_Lcd_Block_LastPage0
				GOTO	?_Lcd_Block_End
?_Lcd_Block_LastPage0:
				R4 = maskcode			//說明是最后一頁
				R4 += [ysize]			//低ysize位為1
				R4 =[R4]				//讀取maskcode碼
				R4 = R4 XOR 0xFFFF		//取反
				R4 &= 0x00ff			//取低8位有效			
		R1	= r4
		call	F_LCDData_Change
		r4	= r1			
				[mask] = R4				//保存屏蔽碼				
?_Lcd_Block_LastPage1:
				R3 = 0xFF
				[LcdBuffer] = R3
				R1 = [y]
				R1 = R1 LSR	2			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 1					//寫入長度為1個字節
				CALL	__LcdPageWrite	//調用頁寫入程序
				R3 = [x]
				R3 += 1				
				[x] = R3
				CMP		R3,[x1]
				JNE		?_Lcd_Block_LastPage1				
				GOTO	?_Lcd_Block_End
?_Lcd_Block_JustOnePage:
				R3 = 0x01
				R5 = [k]
				CALL	_LCDShiftL		//R3 = R3左移K位
				R5 = R3
				R4 = [ysize]
?_Lcd_Block_CalMask:		
				R4 -= 1
				CMP		R4,C_Null
				JE		?_Lcd_Block_JustOnePage1
				R3 = R3 LSL 1
				R5 |= R3				//R5的[ysize+k --K位為1]
				JMP		?_Lcd_Block_CalMask
?_Lcd_Block_JustOnePage1:				
			R1	= r5
			call	F_LCDData_Change
			r5	= r1
				[mask] = R5				//得到mask值
?_Lcd_Block_JustOnePage2:
				R3 = 0xFF				
				[LcdBuffer] = R3
				R1 = [y]
				R1 = R1 LSR	2			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 1					//寫入長度為1個字節
				CALL	__LcdPageWrite	//調用頁寫入程序
				R3 = [x]
				R3 += 1				
				[x] = R3
				CMP		R3,[x1]
				JNE		?_Lcd_Block_JustOnePage2
				GOTO	?_Lcd_Block_End
?_Lcd_Block_WholePage:
				R3 = 0xff
				[mask] = R3				//		
				R3 = [ysize]
				CMP	 R3 ,4				//看是否還要寫一滿頁?
				JB		?_Lcd_Block_WPage1
				R3 = 0xFF
				[LcdBuffer] = R3
				R1 = [y]
				R1 = R1 LSR	2			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 1					//寫入長度為1個字節
				CALL	__LcdPageWrite	//調用頁寫入程序
				R3 = [x]				
				R3 += 1				
				[x] = R3
				CMP		R3,[x1]
				JNE		?_Lcd_Block_WholePage
				R3 = [y]
				R3 += 4					//[y]換到下一頁起始位置
				[y] = R3
				R3 = [ysize]
				R3 = R3 -4 
				[ysize] = R3			//計算還要寫的行值	
				R3 = [R_LcdStartDot]
				R3 &= 0xFF				//得到x0指針
				[x] = R3		
				GOTO	?_Lcd_Block_WholePage
?_Lcd_Block_WPage1:	
				R3 = [ysize]
				CMP	 R3 ,C_Null
				JNE		?_Lcd_Block_WPage2
				GOTO	?_Lcd_Block_End
?_Lcd_Block_WPage2:	
				R4 = maskcode			//說明是最后一頁
				R4 += [ysize]			//低ysize位為1
				R4 =[R4]				//讀取maskcode碼
				R4 = R4 XOR 0xFFFF		//取反
				R4 &= 0x00ff			//取低8位有效			
				[mask] = R4				//保存屏蔽碼				
				R3 = 0xFF
				[LcdBuffer] = R3
				R1 = [y]
				R1 = R1 LSR	2			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 1					//寫入長度為1個字節
				CALL	__LcdPageWrite	//調用頁寫入程序
				R3 = [x]				
				R3 += 1				
				[x] = R3
				CMP		R3,[x1]
				JNE		?_Lcd_Block_WPage2											
?_Lcd_Block_End:
			R1	= 0xffff
			[R_LcdGray]	= r1
				POP		R1,R5 FROM [SP]
				RETF
//----------------------------------------------------------//
//功能:位圖操作,顯示位圖
//入口:起始坐標R_LcdStartDot(x,y),終止坐標R_LcdEndDot(x,y),
//		R1-位圖地址(ROM地址),模式控制 R_LcdStatus,位圖所在BANK固定為0
//出口:無
//            x:顯示列值
//			  y:顯示行值,這兩個用于確認顯示地址
//			  K:寫入字符的首頁的頁內偏移量,用于確認字符的起始行
//			  mask:屏蔽碼,用于標識寫入字節的有效位
//            maskcode:對應不同的屏蔽碼,根據K值得到相應的屏蔽碼
//			  LcdBuffer:用于存儲從字庫中讀取到的數據
//            R_TempBuffer:顯示數據轉換后得到的顯示緩沖區,用于一頁內的連續顯示
//            R1save:保存位圖地址起始值
//			  xsize:用于保存位圖列向長度
//			  ysize:用于保存位圖行向長度
//			  xword:用于保存位圖列向所占的字地址長度
//影響寄存器:無
//----------------------------------------------------------//
.public		F_Lcd_BitMap
F_Lcd_BitMap:
				PUSH	R1,R5 TO [SP]
				[R_LcdStringPtr] = R2			//暫存
				[R1save] = R1					//保存位圖初始值
				PUSH	R1 TO [SP]				//保存位圖地址
				CALL	_Cal_Dot_Correct		//判斷起終坐標是否符合要求
				CMP		R1,C_False
				JNE		?_Lcd_BitMap11
				POP		R1 FROM [SP]				
				GOTO	?_Lcd_BitMap_End
?_Lcd_BitMap11:  
				POP	 R1 FROM [SP]
				R4 = [x1]						//如果x0>x1則結束
				R3 = [x]
				CMP  R3,R4
				JB	 ?_Lcd_BitMap21
				GOTO ?_Lcd_BitMap_End
?_Lcd_BitMap21:		
				R4 -= R3
				R4 = R4 LSR 1
				[xsize] = R4					//得到xsize
				R4 = [y1]
				R3 = [y]						//如果y0>y1則結束
				CMP		R3,R4
				JB		?_Lcd_BitMap22
				GOTO	?_Lcd_BitMap_End
?_Lcd_BitMap22:				
				R4 -= R3
				[ysize] = R4					//得到ysize
				CALL	_CAL_maskcode			//初始化maskcode值 8word
				R3 = [y]
				R3 &= 0x03						//取低三位
				[k] = R3						//得到頁內偏移量
				CMP		R3,C_Null
				JNE		?_Lcd_BitMap_Page
				GOTO	?_Lcd_BitMap_WholePage
?_Lcd_BitMap_Page:				
				R4 = R4 + R3					//R4 = k + ysize
				CMP		R4,8					//看是否滿一頁
				JA		?_Lcd_BitMap_FirstPage
				GOTO	?_Lcd_BitMap_JustOnePage
?_Lcd_BitMap_FirstPage:						//firstpage 高[8-k]位有效 
				R4 = maskcode			//說明只需兩頁顯示
				R4 += [k]				//顯示第一頁
				R4 =[R4]				//讀取maskcode碼			
				[mask] = R4				//保存屏蔽碼
?_Lcd_BitMap_FirstPage1:
				CALL F_Lcd_BitMap_Data	//取要顯示的字
				R1 += 1
				[LcdBuffer] = R3
				R5 = [k]
				CALL	_LCDShiftL		//要顯示的字左移K位==>R3
				[LcdBuffer] = R3
				PUSH	R1 TO [SP]
				R1 = [y]
				R1 = R1 LSR	3			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 1					//寫入長度為2個字節	
				CALL	__LcdPageWrite	//調用頁寫入程序
				POP		R1 FROM [SP]
				R3 = [x]
				R3 += 2				
				[x] = R3
				CMP		R3,[x1]
				JB		?_Lcd_BitMap_FirstPage1	
				R3 = [y]
				R3 &= 0xf8
				R3 += 8					//[y]換到下一頁起始位置
				[y] = R3
				R3 = [ysize]
				R3 = R3 -8 
				R3 += [k]
				[ysize] = R3			//計算還要寫的行值	
				R3 = [R_LcdStartDot]
				R3 &= 0xFF				//得到x0指針
				[x] = R3		
				R1 = [R1save]
?_Lcd_BitMap_MiddlePage:
				R3 = 0xff
				[mask] = R3				//		
				R3 = [ysize]
				CMP	 R3 ,8				//看是否還要寫一滿頁?
				JB		?_Lcd_BitMap_LastPage
?_Lcd_BitMap_MiddlePage1:
				CALL F_Lcd_BitMap_Data	//取要顯示的字
				R5 = -[k]				//R1指針數據右移(8-k)位
				R5 += 8
				CALL	_LCDShiftR		//入口:R5 R3				
				R4 = R3					//R4暫存第一個數據				
				PUSH	R1,R2 TO [SP]
				R1 += [xsize]		//得到要累加數據指針
				CALL F_Lcd_BitMap_Data	//取要顯示的字
				R5 = [k]
				CALL	_LCDShiftL		//(R1+R2)指針數據左移K位
				R3 += R4				//兩次轉換結果相加
				[LcdBuffer] = R3
				R1 = [y]
				R1 = R1 LSR	3			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 1					//寫入長度為2個字節
				CALL	__LcdPageWrite	//調用頁寫入程序
				POP		R1,R2 FROM [SP]
				R1 += 1
				R3 = [x]				//向下移一個字
				R3 += 2				
				[x] = R3
				CMP		R3,[x1]
				JB		?_Lcd_BitMap_MiddlePage1
				R3 = [y]
				R3 += 8					//[y]換到下一頁起始位置
				[y] = R3
				R3 = [ysize]
				R3 = R3 -8 
				[ysize] = R3			//計算還要寫的行值	
				R3 = [R_LcdStartDot]
				R3 &= 0xFF				//得到x0指針
				[x] = R3		
				GOTO	?_Lcd_BitMap_MiddlePage
				
?_Lcd_BitMap_LastPage:							//說明是最后一頁				
				R3 = [ysize]
				CMP		R3,0
				JNE		?_Lcd_BitMap_LastPage0
				GOTO	?_Lcd_BitMap_End
?_Lcd_BitMap_LastPage0:
				R4 = maskcode			//說明是最后一頁
				R4 += [ysize]			//低ysize位為1
				R4 =[R4]				//讀取maskcode碼
				R4 = R4 XOR 0xFFFF		//取反
				R4 &= 0x00ff			//取低8位有效			
				[mask] = R4				//保存屏蔽碼				
?_Lcd_BitMap_LastPage1:
				CALL F_Lcd_BitMap_Data	//取要顯示的字
				R5 = -[k]
				R5 += 8
				CALL	_LCDShiftR		//要顯示的字右移8-K位==>R3
				R4 = R3
				[LcdBuffer] = R3
				PUSH	R1 TO [SP]
				R3 = [ysize]
				CMP		R3,[k]
				JNA		?_Lcd_BitMap_LastPage2
				R1 += [xsize]		//得到要累加數據指針
				R3 = [R1]
				R5 = [k]
				CALL	_LCDShiftL		//(R1+R2)指針數據左移K位
				R3 += R4				//得到兩次轉換值的和								
				[LcdBuffer] = R3
?_Lcd_BitMap_LastPage2:				
				R1 = [y]
				R1 = R1 LSR	3			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 2					//寫入長度為2個字節
				CALL	__LcdPageWrite	//調用頁寫入程序
				POP		R1 FROM [SP]
				R1 += 1 				//取下一個顯示字
				R3 = [x]
				R3 += 2				
				[x] = R3
				CMP		R3,[x1]
				JB		?_Lcd_BitMap_LastPage1
				GOTO	?_Lcd_BitMap_End
?_Lcd_BitMap_JustOnePage:
				R3 = 0x01
				R5 = [k]
				CALL	_LCDShiftL		//R3 = R3左移K位
				R5 = R3
				R4 = [ysize]
?_Lcd_BitMap_CalMask:		
				R4 -= 1
				CMP		R4,C_Null
				JE		?_Lcd_BitMap_JustOnePage1
				R3 = R3 LSL 1
				R5 |= R3				//R5的[ysize+k --K位為1]
				JMP		?_Lcd_BitMap_CalMask
?_Lcd_BitMap_JustOnePage1:				
				[mask] = R5				//得到mask值
?_Lcd_BitMap_JustOnePage2:
				CALL F_Lcd_BitMap_Data	//取要顯示的字
				[LcdBuffer] = R3
				R1 += 1 				//取下一個顯示字
				R5 = [k]
				CALL	_LCDShiftL		//要顯示的字左移K位==>R3
				PUSH	R1 TO [SP]
				R1 = [y]
				R1 = R1 LSR	3			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 2					//寫入長度為2個字節
				CALL	__LcdPageWrite	//調用頁寫入程序
				POP		R1 FROM [SP]
				R3 = [x]
				R3 += 2				
				[x] = R3
				CMP		R3,[x1]
				JB		?_Lcd_BitMap_JustOnePage2
				GOTO	?_Lcd_BitMap_End
?_Lcd_BitMap_WholePage:
				R3 = 0xff
				[mask] = R3				//		
				R3 = [ysize]
				CMP	 R3 ,4				//看是否還要寫一滿頁?
				JB		?_Lcd_BitMap_WPage1
				CALL F_Lcd_BitMap_Data	//取要顯示的字
				[LcdBuffer] = R3
				PUSH	R1 TO [SP]
				R1 = [y]
				R1 = R1 LSR	2			//得到寫入頁值
				R2 = [x]				//得到寫入列值
				R3 = LcdBuffer
				R4 = 2					//寫入長度為2個字節
				CALL	__LcdPageWrite	//test for new lcd	//CALL	F_LcdPageWrite_New//	//調用頁寫入程序
				POP		R1 FROM [SP]
				R1 += 1					//向下移一個字
				R3 = [x]				
				R3 += 2				
				[x] = R3
				CMP		R3,[x1]
				JB		?_Lcd_BitMap_WholePage
//---------
//				CALL F_Delay_BitMap
//-------------
				R3 = [y]
				R3 += 4					//[y]換到下一頁起始位置
				[y] = R3
				R3 = [ysize]
				R3 = R3 -4 
				[ysize] = R3			//計算還要寫的行值	
				R3 = [R_LcdStartDot]
				R3 &= 0xFF				//得到x0指針
				[x] = R3		

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产三级久久久| 精品一区二区久久久| 免费在线观看成人| 成人精品鲁一区一区二区| 91精品在线免费| 亚洲欧美aⅴ...| 国产精品一线二线三线| 欧美喷水一区二区| 亚洲私人影院在线观看| 国产成人欧美日韩在线电影| 51久久夜色精品国产麻豆| 亚洲精选免费视频| 成人免费毛片嘿嘿连载视频| 日韩三级精品电影久久久| 亚洲一区二区高清| 91精品办公室少妇高潮对白| 国产精品另类一区| 国产精品资源在线看| 日韩精品最新网址| 日韩专区一卡二卡| 欧美婷婷六月丁香综合色| 亚洲女人****多毛耸耸8| 成人黄色小视频在线观看| 日本一区二区免费在线观看视频 | 国精品**一区二区三区在线蜜桃| 一本一道久久a久久精品综合蜜臀| 国产亚洲精品bt天堂精选| 精品亚洲porn| 久久久久国产精品麻豆ai换脸| 日本一道高清亚洲日美韩| 欧美日韩高清一区二区三区| 亚洲一区中文日韩| 欧美日韩一区二区三区四区五区 | 欧美日韩的一区二区| 亚洲欧美色图小说| 91麻豆免费观看| 亚洲综合成人在线| 欧美三级韩国三级日本三斤| 亚洲已满18点击进入久久| 精品视频一区二区不卡| 亚欧色一区w666天堂| 337p亚洲精品色噜噜| 蜜桃视频一区二区| 国产三区在线成人av| 国产福利一区二区三区| 中文字幕一区二区三区四区| 91麻豆文化传媒在线观看| 日韩av中文字幕一区二区| 欧美日韩国产精品成人| 精品影院一区二区久久久| 久久亚洲捆绑美女| 国产不卡视频在线播放| 国产精品大尺度| 欧美最猛黑人xxxxx猛交| 无码av免费一区二区三区试看| 91精品国产综合久久久久久| 精品一区二区三区免费| 国产精品久久精品日日| 欧美日韩综合色| 久久国产麻豆精品| 1000部国产精品成人观看| 欧美在线观看18| 久久爱另类一区二区小说| 国产精品麻豆一区二区| 欧美日韩视频在线一区二区| 久久国产乱子精品免费女| 中文字幕一区二区三区蜜月 | 日韩福利视频导航| 欧美国产精品久久| 7777精品伊人久久久大香线蕉最新版 | 麻豆91在线观看| 国产精品热久久久久夜色精品三区 | 亚洲不卡av一区二区三区| 欧美mv日韩mv亚洲| 91色.com| 久久成人免费日本黄色| 最新不卡av在线| 欧美xxxxx牲另类人与| 国产91在线看| 亚洲v精品v日韩v欧美v专区| 国产丝袜欧美中文另类| 欧美日韩一二三| a亚洲天堂av| 精品一区免费av| 亚洲国产一区在线观看| 国产欧美一区二区精品婷婷| 国产精品毛片大码女人| 欧美人体做爰大胆视频| 91美女片黄在线| 国产91色综合久久免费分享| 婷婷久久综合九色综合伊人色| 国产精品少妇自拍| 日韩三级在线观看| 欧美精品第1页| av在线不卡观看免费观看| 免费观看在线综合| 亚洲国产综合在线| 中文字幕视频一区二区三区久| 日韩欧美国产高清| 欧美蜜桃一区二区三区| 91天堂素人约啪| 国产91高潮流白浆在线麻豆| 另类中文字幕网| 日本v片在线高清不卡在线观看| 亚洲欧美经典视频| 亚洲婷婷综合久久一本伊一区| 精品sm在线观看| 欧美成人vps| 日韩精品一区二区三区中文不卡| 欧美色电影在线| 欧美日韩国产色站一区二区三区| 成人av在线播放网址| 成人午夜激情视频| 成年人国产精品| 国产成人aaa| 99久久国产综合精品色伊| 99国产精品视频免费观看| 成人综合婷婷国产精品久久| 国产suv一区二区三区88区| 国产乱对白刺激视频不卡| 精品一区二区三区免费毛片爱| 麻豆成人久久精品二区三区小说| 美日韩一区二区| 国产精品一区专区| av电影在线观看不卡| 99视频精品在线| 欧美午夜精品一区二区蜜桃| 欧美性色综合网| 欧美日韩高清一区二区不卡| 日韩欧美中文字幕公布| 日韩欧美的一区二区| 久久夜色精品国产噜噜av| 欧美国产精品v| 亚洲国产视频一区二区| 首页国产欧美日韩丝袜| 九九久久精品视频| 成人午夜精品在线| 精品视频123区在线观看| 欧美一区二视频| 2019国产精品| 亚洲柠檬福利资源导航| 五月婷婷另类国产| 国产精一区二区三区| 91色乱码一区二区三区| 欧美一区二区三区人| 久久精品亚洲国产奇米99| 捆绑紧缚一区二区三区视频| 国产综合色在线视频区| 99精品视频在线观看| 欧美精品久久久久久久久老牛影院 | 国产性做久久久久久| 亚洲日本青草视频在线怡红院 | 精品免费视频.| 中文字幕一区二区三区色视频| 日韩中文字幕一区二区三区| 国产米奇在线777精品观看| 99久久久无码国产精品| 日韩一区二区三区四区五区六区| 久久久精品免费网站| 一区二区三区在线免费播放| 韩国一区二区视频| 欧美午夜一区二区三区| 国产日韩亚洲欧美综合| 午夜精品久久久久久久久久| 国产一区二区女| 91精品国产综合久久婷婷香蕉 | 色婷婷久久综合| 精品久久国产字幕高潮| 亚洲午夜国产一区99re久久| 国产精品原创巨作av| 欧美日韩1区2区| 亚洲精品中文字幕乱码三区| 久88久久88久久久| 5858s免费视频成人| 亚洲特级片在线| 成人国产精品视频| 亚洲精品一区二区三区精华液| 亚洲成人免费电影| 色一情一伦一子一伦一区| 国产欧美精品一区| 国产另类ts人妖一区二区| 日韩欧美国产1| 日本成人在线看| 欧美日韩一区中文字幕| 亚洲综合激情另类小说区| www.亚洲人| 中文字幕欧美三区| 国产一区二区三区日韩| 精品国产露脸精彩对白| 青青草国产精品97视觉盛宴| 欧美乱熟臀69xxxxxx| 亚洲一区二区在线免费观看视频 | 尤物视频一区二区| va亚洲va日韩不卡在线观看| 欧美国产精品一区二区| 处破女av一区二区| 最新热久久免费视频| 成人爱爱电影网址| 亚洲视频小说图片| 色一情一乱一乱一91av|