⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdrv_msg.s01

📁 一种彩屏驱动以及画点,填充图片和填充数据的一些程序
💻 S01
字号:
	NAME	sdrv_msg(16)
	RSEG	BAC_MSG(0)
	RSEG	BAD_MSG(0)
	RSEG	BAS_MSG(0)
	EXTERN	BAPI_PutS
	PUBLIC	Sdrv_MsgBox
	EXTERN	Sdrv_SetTextPos
	PUBLIC	i
	PUBLIC	message
	PUBLIC	string
	EXTERN	?CLZ80L_4_04_L00
	EXTERN	?SS_RSH_L02
	RSEG	BAC_MSG
Sdrv_MsgBox:
; 1.	/*
; 2.	********************************************************************************
; 3.	*                       ACTOS
; 4.	*                  Show String
; 5.	*
; 6.	*                (c) Copyright 2002-2003, Actions Co,Ld.
; 7.	*                        All Right Reserved
; 8.	*
; 9.	* File   : Sdrv_msg.msa
; 10.	* By     : Chliang
; 11.	* Version: 1> v1.00     first version     date
; 12.	********************************************************************************
; 13.	*/
; 14.	
; 15.	#include "display.h"
; 16.	#include "Drv_S6B33B0A.h"
; 17.	
; 18.	#pragma memory=dataseg(BAD_MSG)
; 19.	char string[7];
; 20.	char i;
; 21.	//region_t updrgn;                        
; 22.	//int mb_m,mb_n; 
; 23.	#pragma memory=default
; 24.	
; 25.	#pragma memory=constseg(BAS_MSG)
; 26.	char message[]="  MsgNo:0x";
; 27.	#pragma memory=default
; 28.	
; 29.	
; 30.	#pragma codeseg(BAC_MSG)
; 31.	void Sdrv_MsgBox(int MsgNo,char x,char y)
; 32.	{
	PUSH	IX
	PUSH	BC
	PUSH	DE
	POP	IX
; 33.	        string[4]=' ';
	LD	A,32
	LD	(string+4),A
; 34.	        string[5]=' ';
	LD	(string+5),A
; 35.	        i= (MsgNo >>12) & 0x0f;
	LD	B,12
	CALL	?0020
; 36.	        if(i<0x0a)
	JR	NC,?0001
?0000:
; 37.	                string[0] = i + '0';
	ADD	A,48
	JR	?0016
; 38.	        else
?0001:
; 39.	                string[0] = i + 'A' -10;
	ADD	A,55
?0016:
	LD	(string),A
?0002:
; 40.	
; 41.	
; 42.	        i= (MsgNo >>8) & 0x0f;
	LD	B,8
	PUSH	IX
	POP	DE
	CALL	?0020
; 43.	        if(i<0x0a)
	JR	NC,?0004
?0003:
; 44.	                string[1] = i + '0';
	ADD	A,48
	JR	?0017
; 45.	        else
?0004:
; 46.	                string[1] = i + 'A' -10;
	ADD	A,55
?0017:
	LD	(string+1),A
?0005:
; 47.	
; 48.	
; 49.	        i= (MsgNo >> 4) & 0x0f;
	LD	B,4
	PUSH	IX
	POP	DE
	CALL	?SS_RSH_L02
	LD	A,E
	AND	15
; 50.	        if(i< 0x0a )
	CP	10
	JR	NC,?0007
?0006:
; 51.	                string[2] = i + '0';
	ADD	A,48
	JR	?0018
; 52.	        else
?0007:
; 53.	                string[2] = i + 'A' -10;
	ADD	A,55
?0018:
	LD	(string+2),A
?0008:
; 54.	
; 55.	
; 56.	        i= MsgNo & 0x0f;
	PUSH	IX
	POP	HL
	LD	A,L
	AND	15
	LD	(i),A
; 57.	        if(i<0x0a)
	CP	10
	JR	NC,?0010
?0009:
; 58.	                string[3] = i + '0';
	ADD	A,48
	JR	?0019
; 59.	        else
?0010:
; 60.	                string[3] = i + 'A' -10;
	ADD	A,55
?0019:
	LD	(string+3),A
?0011:
; 61.	
; 62.	        Sdrv_SetTextPos(x,y);
	LD	HL,6
	ADD	HL,SP
	LD	C,(HL)
	LD	HL,0
	ADD	HL,SP
	LD	E,(HL)
	CALL	Sdrv_SetTextPos
; 63.	        BAPI_PutS(message,-1); 
	LD	C,255
	LD	DE,message
	CALL	BAPI_PutS
; 64.	        BAPI_PutS(string,6);
	LD	C,6
	LD	DE,string
	CALL	BAPI_PutS
; 65.	        //Sdrv_PutS(message,-1); 
; 66.	        //Sdrv_PutS(string,6);
; 67.	        return; 
; 68.	}   
	POP	HL
	POP	IX
	RET
?0020:
	CALL	?SS_RSH_L02
	LD	A,E
	AND	15
	LD	(i),A
	CP	10
	RET
; 69.	 
	RSEG	BAD_MSG
string:
	DEFS	7
i:
	DEFS	1
	RSEG	BAS_MSG
message:
	DEFB	'  MsgNo:0x'
	DEFB	0
	END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -