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

📄 e93lc46.lst

📁 对合泰单片机的内部EEPROGRAM读写的例程
💻 LST
字号:
文件:E93LC46.c    盛群编译器版本 2.86 页次1



;  36: {
  36  0000              @READ .SECTION 'CODE'
  36  0000              PUBLIC _READ
  36  0000              _READ PROC

;  35: UC READ(UC EEADDR)
  35  0000              PUBLIC READ0
  35  0000  00          LOCAL READ0 DB ? ; EEADDR

;  39: 	_cs = 1;
  39  0000  3202        SET [02H].4

;  41: 	Shift(cREAD,3);				//OP Code
  41  0001  0FC0        MOV A,0c0h
  41  0002  0080     R  MOV Shift0,A
  41  0003  0F03        MOV A,03h
  41  0004  0080     R  MOV Shift1,A
  41  0005  2000     R  CALL _Shift

;  42: 	_rl(&EEADDR);
  42  0006  1880     R  RL READ0

;  43: 	Shift(EEADDR,7);			//Address
  43  0007  0700     R  MOV A,READ0
  43  0008  0080     R  MOV Shift0,A
  43  0009  0F07        MOV A,07h
  43  000A  0080     R  MOV Shift1,A
  43  000B  2000     R  CALL _Shift

;  44: 	EEDATA = Shift(0x00,8);
  44  000C  0F00        MOV A,00h
  44  000D  0080     R  MOV Shift0,A
  44  000E  0F08        MOV A,08h
  44  000F  0080     R  MOV Shift1,A
  44  0010  2000     R  CALL _Shift
  44  0011  0080     R  MOV CR1,A

;  46: 	_cs = 0;
  46  0012  3602        CLR [02H].4

;  48: 	return EEDATA;
  48  0013  0700     R  MOV A,CR1
  48  0014              L1:
  48  0014  0003        RET
  48  0001  00          LOCAL b0_1 DB ?

;  37: 	UC EEDATA;
  37  0002  00          LOCAL CR1 DB ? ; EEDATA
  37  0015              _READ ENDP

;  56: {
  56  0000              @ERASE .SECTION 'CODE'
  56  0000              PUBLIC _ERASE
  56  0000              _ERASE PROC

;  55: void ERASE(UC EEADDR)
  55  0000              PUBLIC ERASE0
文件:E93LC46.c    盛群编译器版本 2.86 页次2 

  55  0000  00          LOCAL ERASE0 DB ? ; EEADDR

;  57: 	_cs = 1;
  57  0000  3202        SET [02H].4

;  59: 	Shift(cERASE,3);			//OP Code
文件:E93LC46.C    盛群编译器版本 2.86 页次2

  59  0001  0FE0        MOV A,0e0h
  59  0002  0080     R  MOV Shift0,A
  59  0003  0F03        MOV A,03h
  59  0004  0080     R  MOV Shift1,A
  59  0005  2000     R  CALL _Shift

;  60: 	_rl(&EEADDR);	
  60  0006  1880     R  RL ERASE0

;  61: 	Shift(EEADDR,7);			//Address
  61  0007  0700     R  MOV A,ERASE0
  61  0008  0080     R  MOV Shift0,A
  61  0009  0F07        MOV A,07h
  61  000A  0080     R  MOV Shift1,A
  61  000B  2000     R  CALL _Shift

;  63: 	_cs = 0;
  63  000C  3602        CLR [02H].4

;  65: 	ChkBusy();
  65  000D  2000     R  CALL _ChkBusy
  65  000E              L2:
  65  000E  0003        RET
  65  0001  00          LOCAL b0_2 DB ?
  65  000F              _ERASE ENDP

;  73: {
  73  0000              @WRITE .SECTION 'CODE'
  73  0000              PUBLIC _WRITE
  73  0000              _WRITE PROC

;  72: void WRITE(UC EEADDR, UC EEDATA)
  72  0000              PUBLIC WRITE0
  72  0000  00          LOCAL WRITE0 DB ? ; EEADDR
  72  0000              PUBLIC WRITE1
  72  0001  00          LOCAL WRITE1 DB ? ; EEDATA

;  74: 	_cs = 1;
  74  0000  3202        SET [02H].4

;  76: 	Shift(cWRITE,3);			//OP Code
  76  0001  0FA0        MOV A,0a0h
  76  0002  0080     R  MOV Shift0,A
  76  0003  0F03        MOV A,03h
  76  0004  0080     R  MOV Shift1,A
  76  0005  2000     R  CALL _Shift

;  77: 	_rl(&EEADDR);	
  77  0006  1880     R  RL WRITE0

;  78: 	Shift(EEADDR,7);			//Address
  78  0007  0700     R  MOV A,WRITE0
文件:E93LC46.c    盛群编译器版本 2.86 页次3 

  78  0008  0080     R  MOV Shift0,A
  78  0009  0F07        MOV A,07h
  78  000A  0080     R  MOV Shift1,A
  78  000B  2000     R  CALL _Shift

;  79: 	Shift(EEDATA,8);			//Address	
  79  000C  0700     R  MOV A,WRITE1
  79  000D  0080     R  MOV Shift0,A
  79  000E  0F08        MOV A,08h
  79  000F  0080     R  MOV Shift1,A
  79  0010  2000     R  CALL _Shift

;  81: 	_cs = 0;
  81  0011  3602        CLR [02H].4

;  83: 	ChkBusy();
文件:E93LC46.C    盛群编译器版本 2.86 页次3

  83  0012  2000     R  CALL _ChkBusy
  83  0013              L3:
  83  0013  0003        RET
  83  0002  00          LOCAL b0_3 DB ?
  83  0014              _WRITE ENDP

;  91: {
  91  0000              @EWEN .SECTION 'CODE'
  91  0000              PUBLIC _EWEN
  91  0000              _EWEN PROC

;  92: 	_cs = 1;
  92  0000  3202        SET [02H].4

;  94: 	Shift(cEWEN,3);			//OP Code
  94  0001  0F80        MOV A,080h
  94  0002  0080     R  MOV Shift0,A
  94  0003  0F03        MOV A,03h
  94  0004  0080     R  MOV Shift1,A
  94  0005  2000     R  CALL _Shift

;  95: 	Shift(0xc0,7);
  95  0006  0FC0        MOV A,0c0h
  95  0007  0080     R  MOV Shift0,A
  95  0008  0F07        MOV A,07h
  95  0009  0080     R  MOV Shift1,A
  95  000A  2000     R  CALL _Shift

;  97: 	_cs = 0;
  97  000B  3602        CLR [02H].4
  97  000C              L4:
  97  000C  0003        RET
  97  0000  00          LOCAL b0_4 DB ?
  97  000D              _EWEN ENDP

; 105: {
 105  0000              @EWDS .SECTION 'CODE'
 105  0000              PUBLIC _EWDS
 105  0000              _EWDS PROC

; 106: 	_cs = 1;
 106  0000  3202        SET [02H].4
文件:E93LC46.c    盛群编译器版本 2.86 页次4 


; 108: 	Shift(cEWDS,3);			//OP Code
 108  0001  0F80        MOV A,080h
 108  0002  0080     R  MOV Shift0,A
 108  0003  0F03        MOV A,03h
 108  0004  0080     R  MOV Shift1,A
 108  0005  2000     R  CALL _Shift

; 109: 	Shift(0x00,7);
 109  0006  0F00        MOV A,00h
 109  0007  0080     R  MOV Shift0,A
 109  0008  0F07        MOV A,07h
 109  0009  0080     R  MOV Shift1,A
 109  000A  2000     R  CALL _Shift

; 111: 	_cs = 0;
 111  000B  3602        CLR [02H].4
 111  000C              L5:
 111  000C  0003        RET
 111  0000  00          LOCAL b0_5 DB ?
 111  000D              _EWDS ENDP

; 119: {
 119  0000              @ERAL .SECTION 'CODE'
 119  0000              PUBLIC _ERAL
 119  0000              _ERAL PROC
文件:E93LC46.C    盛群编译器版本 2.86 页次4


; 120: 	_cs = 1;
 120  0000  3202        SET [02H].4

; 122: 	Shift(cERAL,3);				//OP Code
 122  0001  0F80        MOV A,080h
 122  0002  0080     R  MOV Shift0,A
 122  0003  0F03        MOV A,03h
 122  0004  0080     R  MOV Shift1,A
 122  0005  2000     R  CALL _Shift

; 123: 	Shift(0x80,7);				//Address
 123  0006  0F80        MOV A,080h
 123  0007  0080     R  MOV Shift0,A
 123  0008  0F07        MOV A,07h
 123  0009  0080     R  MOV Shift1,A
 123  000A  2000     R  CALL _Shift

; 125: 	_cs = 0;
 125  000B  3602        CLR [02H].4

; 127: 	ChkBusy();
 127  000C  2000     R  CALL _ChkBusy
 127  000D              L6:
 127  000D  0003        RET
 127  0000  00          LOCAL b0_6 DB ?
 127  000E              _ERAL ENDP

; 135: {
 135  0000              @WRAL .SECTION 'CODE'
 135  0000              PUBLIC _WRAL
 135  0000              _WRAL PROC
文件:E93LC46.c    盛群编译器版本 2.86 页次5 


; 134: void WRAL(UC EEDATA)
 134  0000              PUBLIC WRAL0
 134  0000  00          LOCAL WRAL0 DB ? ; EEDATA

; 136: 	_cs = 1;
 136  0000  3202        SET [02H].4

; 138: 	Shift(cWRAL,3);				//OP Code
 138  0001  0F80        MOV A,080h
 138  0002  0080     R  MOV Shift0,A
 138  0003  0F03        MOV A,03h
 138  0004  0080     R  MOV Shift1,A
 138  0005  2000     R  CALL _Shift

; 139: 	Shift(0x40,7);
 139  0006  0F40        MOV A,040h
 139  0007  0080     R  MOV Shift0,A
 139  0008  0F07        MOV A,07h
 139  0009  0080     R  MOV Shift1,A
 139  000A  2000     R  CALL _Shift

; 140: 	Shift(EEDATA,8);			//Address	
 140  000B  0700     R  MOV A,WRAL0
 140  000C  0080     R  MOV Shift0,A
 140  000D  0F08        MOV A,08h
 140  000E  0080     R  MOV Shift1,A
 140  000F  2000     R  CALL _Shift

; 142: 	_cs = 0;
 142  0010  3602        CLR [02H].4

; 144: 	ChkBusy();
 144  0011  2000     R  CALL _ChkBusy
 144  0012              L7:
 144  0012  0003        RET
 144  0001  00          LOCAL b0_7 DB ?
 144  0013              _WRAL ENDP
文件:E93LC46.C    盛群编译器版本 2.86 页次5


; 152: {
 152  0000              @Shift .SECTION 'CODE'
 152  0000              PUBLIC _Shift
 152  0000              _Shift PROC

; 151: UC Shift(UC buf, UC cnt)
 151  0000              PUBLIC Shift0
 151  0000  00          LOCAL Shift0 DB ? ; buf
 151  0000              PUBLIC Shift1
 151  0001  00          LOCAL Shift1 DB ? ; cnt
 151  0000              L9:

; 155: 		if(buf & cTestb7)
 155  0000  3800     R  SNZ Shift0.7
 155  0001  2800     R  JMP L12

; 156: 			_di = 1;
 156  0002  3302        SET [02H].6
 156  0003  2800     R  JMP L13
文件:E93LC46.c    盛群编译器版本 2.86 页次6 

 156  0004              L12:

; 158: 			_di = 0;
 158  0004  3702        CLR [02H].6
 158  0005              L13:

; 160: 		_sk = 1;
 160  0005  3282        SET [02H].5

; 162: 		_rl(&buf);
 162  0006  1880     R  RL Shift0

; 163: 		if(_do)
 163  0007  3B82        SNZ [02H].7
 163  0008  2800     R  JMP L14

; 164: 			buf |= cSetb0;
 164  0009  3000     R  SET Shift0.0
 164  000A  2800     R  JMP L15
 164  000B              L14:

; 166: 			buf &= cClrb0;
 166  000B  3400     R  CLR Shift0.0
 166  000C              L15:

; 168: 		_sk = 0;
 168  000C  3682        CLR [02H].5
 168  000D              L10:

; 170: 	}while(--cnt);
 170  000D  1500     R  DECA Shift1
 170  000E  0080     R  MOV b0_8,A
 170  000F  0700     R  MOV A,b0_8
 170  0010  0080     R  MOV Shift1,A
 170  0011  1080     R  SZ b0_8
 170  0012  2800     R  JMP L9

; 172: 	return buf;
 172  0013  0700     R  MOV A,Shift0
 172  0014              L8:
 172  0014  0003        RET
 172  0002  00          LOCAL b0_8 DB ?
 172  0015              _Shift ENDP

; 180: {
文件:E93LC46.C    盛群编译器版本 2.86 页次6

 180  0000              @ChkBusy .SECTION 'CODE'
 180  0000              PUBLIC _ChkBusy
 180  0000              _ChkBusy PROC

; 181: 	_cs = 1;
 181  0000  3202        SET [02H].4
 181  0001  2800     R  JMP L18
 181  0002              L17:

; 185: 		_nop();
 185  0002  0000        NOP

; 186: 		_nop();
文件:E93LC46.c    盛群编译器版本 2.86 页次7 

 186  0003  0000        NOP

; 187: 		_sk = 1;
 187  0004  3282        SET [02H].5

; 188: 		_nop();
 188  0005  0000        NOP

; 189: 		if(_do)
 189  0006  3B82        SNZ [02H].7
 189  0007  2800     R  JMP L20

; 190: 			break;
 190  0008  2800     R  JMP L19
 190  0009              L20:

; 192: 		_nop();
 192  0009  0000        NOP

; 193: 		_sk = 0;
 193  000A  3682        CLR [02H].5
 193  000B              L18:

; 183: 	while(1)
 183  000B  2800     R  JMP L17
 183  000C              L19:

; 196: 	_sk = 0;
 196  000C  3682        CLR [02H].5

; 197: 	_cs = 0;
 197  000D  3602        CLR [02H].4
 197  000E              L16:
 197  000E  0003        RET
 197  000F              _ChkBusy ENDP


        0 Errors

⌨️ 快捷键说明

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