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

📄 ht48f06edemo.lst

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



;  32: {
  32  0000              __pcc EQU [017H]
  32  0000              __pc EQU [016H]
  32  0000              __pbc EQU [015H]
  32  0000              __pb EQU [014H]
  32  0000              __pac EQU [013H]
  32  0000              __pa EQU [012H]
  32  0000              __tmrc EQU [0eH]
  32  0000              __tmr EQU [0dH]
  32  0000              __intc EQU [0bH]
  32  0000              __status EQU [0aH]
  32  0000              __wdts EQU [09H]
  32  0000              __tblh EQU [08H]
  32  0000              __tblp EQU [07H]
  32  0000              __pcl EQU [06H]
  32  0000              __acc EQU [05H]
  32  0000              __bp EQU [04H]
  32  0000              __mp1 EQU [03H]
  32  0000              __iar1 EQU [02H]
  32  0000              __mp0 EQU [01H]
  32  0000              __iar0 EQU [00H]
  32  0000              @MAIN .SECTION 'CODE'
  32  0000              _main PROC
  32  0000              begin:

;  35: 	_bp = 1;
  35  0000  0F01        MOV A,01h
  35  0001  0084        MOV __bp,A

;  36: 	_mp1 = 0x40;
  36  0002  0F40        MOV A,040h
  36  0003  0083        MOV __mp1,A

;  38: 	EWEN();
  38  0004  2000     E  CALL _EWEN

;  40: 	ERAL();												//Test1, Erase All test
  40  0005  2000     E  CALL _ERAL

;  41: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)
  41  0006  1F00     R  CLR CR1
  41  0007  2800     R  JMP L5
  41  0008              L2:

;  43: 		if(READ(EEADDR) != 0xff)
  43  0008  0700     R  MOV A,CR1
  43  0009  0080     E  MOV READ0,A
  43  000A  2000     E  CALL _READ
  43  000B  0080     R  MOV b0_1,A
  43  000C  0700     R  MOV A,b0_1
  43  000D  0CFF        XOR A,0ffh
  43  000E  3D0A        SZ [0ah].2
  43  000F  2800     R  JMP L6

;  44: 			goto Error;
  44  0010  2800     R  JMP L8
  44  0011              L6:
文件:HT48F06EDEMO.c 盛群编译器版本 2.86 页次2 

  44  0011              L3:

;  41: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)
  41  0011  1480     R  INC CR1
文件:HT48F06EDEMO.C 盛群编译器版本 2.86 页次2

  41  0012              L5:
  41  0012  0700     R  MOV A,CR1
  41  0013  0A80        SUB A,080h
  41  0014  380A        SNZ [0ah].0
  41  0015  2800     R  JMP L2

;  47: 	ERAL();												//Test2, Write All using 55 test
  47  0016  2000     E  CALL _ERAL

;  48: 	WRAL(0x55);
  48  0017  0F55        MOV A,055h
  48  0018  0080     E  MOV WRAL0,A
  48  0019  2000     E  CALL _WRAL

;  49: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)
  49  001A  1F00     R  CLR CR1
  49  001B  2800     R  JMP L12
  49  001C              L9:

;  51: 		if(READ(EEADDR) != 0x55)
  51  001C  0700     R  MOV A,CR1
  51  001D  0080     E  MOV READ0,A
  51  001E  2000     E  CALL _READ
  51  001F  0080     R  MOV b0_1,A
  51  0020  0700     R  MOV A,b0_1
  51  0021  0C55        XOR A,055h
  51  0022  3D0A        SZ [0ah].2
  51  0023  2800     R  JMP L13

;  52: 			goto Error;
  52  0024  2800     R  JMP L8
  52  0025              L13:
  52  0025              L10:

;  49: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)
  49  0025  1480     R  INC CR1
  49  0026              L12:
  49  0026  0700     R  MOV A,CR1
  49  0027  0A80        SUB A,080h
  49  0028  380A        SNZ [0ah].0
  49  0029  2800     R  JMP L9

;  55: 	ERAL();												//Test3, Write All using AA test
  55  002A  2000     E  CALL _ERAL

;  56: 	WRAL(0xaa);
  56  002B  0FAA        MOV A,0aah
  56  002C  0080     E  MOV WRAL0,A
  56  002D  2000     E  CALL _WRAL

;  57: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)
  57  002E  1F00     R  CLR CR1
  57  002F  2800     R  JMP L18
  57  0030              L15:
文件:HT48F06EDEMO.c 盛群编译器版本 2.86 页次3 


;  59: 		if(READ(EEADDR) != 0xaa)
  59  0030  0700     R  MOV A,CR1
  59  0031  0080     E  MOV READ0,A
  59  0032  2000     E  CALL _READ
  59  0033  0080     R  MOV b0_1,A
  59  0034  0700     R  MOV A,b0_1
  59  0035  0CAA        XOR A,0aah
  59  0036  3D0A        SZ [0ah].2
文件:HT48F06EDEMO.C 盛群编译器版本 2.86 页次3

  59  0037  2800     R  JMP L19

;  60: 			goto Error;
  60  0038  2800     R  JMP L8
  60  0039              L19:
  60  0039              L16:

;  57: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)
  57  0039  1480     R  INC CR1
  57  003A              L18:
  57  003A  0700     R  MOV A,CR1
  57  003B  0A80        SUB A,080h
  57  003C  380A        SNZ [0ah].0
  57  003D  2800     R  JMP L15

;  63: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR=EEADDR+2)		//Test4, Write one by one using 55 and AA test
  63  003E  1F00     R  CLR CR1
  63  003F  2800     R  JMP L24
  63  0040              L21:

;  65: 		WRITE(EEADDR, 0x55);
  65  0040  0700     R  MOV A,CR1
  65  0041  0080     E  MOV WRITE0,A
  65  0042  0F55        MOV A,055h
  65  0043  0080     E  MOV WRITE1,A
  65  0044  2000     E  CALL _WRITE

;  66: 		WRITE(EEADDR+1, 0xaa);		
  66  0045  1400     R  INCA CR1
  66  0046  0080     R  MOV b0_1,A
  66  0047  0700     R  MOV A,b0_1
  66  0048  0080     E  MOV WRITE0,A
  66  0049  0FAA        MOV A,0aah
  66  004A  0080     E  MOV WRITE1,A
  66  004B  2000     E  CALL _WRITE
  66  004C              L22:

;  63: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR=EEADDR+2)		//Test4, Write one by one using 55 and AA test
  63  004C  0F02        MOV A,02h
  63  004D  0380     R  ADDM A,CR1
  63  004E              L24:
  63  004E  0700     R  MOV A,CR1
  63  004F  0A80        SUB A,080h
  63  0050  380A        SNZ [0ah].0
  63  0051  2800     R  JMP L21

;  69: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR=EEADDR+2)
  69  0052  1F00     R  CLR CR1
  69  0053  2800     R  JMP L28
文件:HT48F06EDEMO.c 盛群编译器版本 2.86 页次4 

  69  0054              L25:

;  71: 		if(READ(EEADDR) != 0x55)
  71  0054  0700     R  MOV A,CR1
  71  0055  0080     E  MOV READ0,A
  71  0056  2000     E  CALL _READ
  71  0057  0080     R  MOV b0_1,A
  71  0058  0700     R  MOV A,b0_1
  71  0059  0C55        XOR A,055h
  71  005A  3D0A        SZ [0ah].2
  71  005B  2800     R  JMP L29
文件:HT48F06EDEMO.C 盛群编译器版本 2.86 页次4


;  72: 			goto Error;
  72  005C  2800     R  JMP L8
  72  005D              L29:

;  73: 		if(READ(EEADDR+1) != 0xaa)
  73  005D  1400     R  INCA CR1
  73  005E  0080     R  MOV b0_1,A
  73  005F  0700     R  MOV A,b0_1
  73  0060  0080     E  MOV READ0,A
  73  0061  2000     E  CALL _READ
  73  0062  0080     R  MOV b0_1,A
  73  0063  0700     R  MOV A,b0_1
  73  0064  0CAA        XOR A,0aah
  73  0065  3D0A        SZ [0ah].2
  73  0066  2800     R  JMP L31

;  74: 			goto Error;			
  74  0067  2800     R  JMP L8
  74  0068              L31:
  74  0068              L26:

;  69: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR=EEADDR+2)
  69  0068  0F02        MOV A,02h
  69  0069  0380     R  ADDM A,CR1
  69  006A              L28:
  69  006A  0700     R  MOV A,CR1
  69  006B  0A80        SUB A,080h
  69  006C  380A        SNZ [0ah].0
  69  006D  2800     R  JMP L25

;  77: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)				//Test5, Write one by one using ADDRESS as the writing data test
  77  006E  1F00     R  CLR CR1
  77  006F  2800     R  JMP L36
  77  0070              L33:

;  79: 		WRITE(EEADDR, EEADDR);
  79  0070  0700     R  MOV A,CR1
  79  0071  0080     R  MOV b0_1,A
  79  0072  0700     R  MOV A,b0_1
  79  0073  0080     E  MOV WRITE0,A
  79  0074  0700     R  MOV A,b0_1
  79  0075  0080     E  MOV WRITE1,A
  79  0076  2000     E  CALL _WRITE
  79  0077              L34:

;  77: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)				//Test5, Write one by one using ADDRESS as the writing data test
文件:HT48F06EDEMO.c 盛群编译器版本 2.86 页次5 

  77  0077  1480     R  INC CR1
  77  0078              L36:
  77  0078  0700     R  MOV A,CR1
  77  0079  0A80        SUB A,080h
  77  007A  380A        SNZ [0ah].0
  77  007B  2800     R  JMP L33

;  82: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)
  82  007C  1F00     R  CLR CR1
  82  007D  2800     R  JMP L40
  82  007E              L37:

;  84: 		if(READ(EEADDR) != EEADDR)
  84  007E  0700     R  MOV A,CR1
文件:HT48F06EDEMO.C 盛群编译器版本 2.86 页次5

  84  007F  0080     E  MOV READ0,A
  84  0080  2000     E  CALL _READ
  84  0081  0080     R  MOV b0_1,A
  84  0082  0700     R  MOV A,b0_1
  84  0083  0400     R  XOR A,CR1
  84  0084  3D0A        SZ [0ah].2
  84  0085  2800     R  JMP L41

;  85: 			goto Error;
  85  0086  2800     R  JMP L8
  85  0087              L41:
  85  0087              L38:

;  82: 	for(EEADDR=0 ; EEADDR<0x80 ; EEADDR++)
  82  0087  1480     R  INC CR1
  82  0088              L40:
  82  0088  0700     R  MOV A,CR1
  82  0089  0A80        SUB A,080h
  82  008A  380A        SNZ [0ah].0
  82  008B  2800     R  JMP L37
  82  008C              L43:

;  90: 		EWDS();
  90  008C  2000     E  CALL _EWDS
  90  008D              L44:
  90  008D              L45:

;  91: 		while(1);		
  91  008D  2800     R  JMP L44
  91  008E              L8:

;  95: 		EWDS();
  95  008E  2000     E  CALL _EWDS
  95  008F              L47:
  95  008F              L48:

;  96: 		while(1);
  96  008F  2800     R  JMP L47
  96  0090              L1:

;  97: }
  97  0090  2800     R  JMP $
  97  0000  00          LOCAL b0_1 DB ?

;  33: 	UC EEADDR;
文件:HT48F06EDEMO.c 盛群编译器版本 2.86 页次6 

  33  0001  00          LOCAL CR1 DB ? ; EEADDR
  33  0091              _main ENDP
  33  0091              EXTERN WRITE1:BYTE
  33  0091              EXTERN WRITE0:BYTE
  33  0091              EXTERN WRAL0:BYTE
  33  0091              EXTERN READ0:BYTE
  33  0091              EXTERN _WRAL:NEAR
  33  0091              EXTERN _ERAL:NEAR
  33  0091              EXTERN _EWDS:NEAR
  33  0091              EXTERN _EWEN:NEAR
  33  0091              EXTERN _WRITE:NEAR
  33  0091              EXTERN _READ:NEAR

;  31: void main(void)
  31  0000              STARTSEC .SECTION 'CODE'
  31  0000              STARTUP:
  31  0000  0003        RET
  31  0000              @CODE .SECTION AT 0 'CODE'
  31  0000  2800     R  JMP begin
  31  0001              @DUMMY PROC
文件:HT48F06EDEMO.C 盛群编译器版本 2.86 页次6

  31  0001  2000     R  CALL _main
  31  0002              @DUMMY ENDP


        0 Errors

⌨️ 快捷键说明

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