

HI-TECH Software PIC PRO Macro Assembler V9.83 build 10920 
                                                                                               Thu Dec 02 17:07:00 2021

HI-TECH Software Omniscient Code Generator (PRO mode) build 10920
     1  0000                     opt subtitle "HI-TECH Software Omniscient Code Generator (PRO mode) build 10920"
     2                           
     3                           opt pagewidth 120
     4                           
     5                           	opt pm
     6                           
     7                           	processor	16F685
     8                           clrc	macro
     9                           	bcf	3,0
    10  0000                     	endm
    11                           clrz	macro
    12                           	bcf	3,2
    13  0000                     	endm
    14                           setc	macro
    15                           	bsf	3,0
    16  0000                     	endm
    17                           setz	macro
    18                           	bsf	3,2
    19  0000                     	endm
    20                           skipc	macro
    21                           	btfss	3,0
    22  0000                     	endm
    23                           skipz	macro
    24                           	btfss	3,2
    25  0000                     	endm
    26                           skipnc	macro
    27                           	btfsc	3,0
    28  0000                     	endm
    29                           skipnz	macro
    30                           	btfsc	3,2
    31  0000                     	endm
    32  0000                     indf	equ	0
    33  0000                     indf0	equ	0
    34  0002                     pc	equ	2
    35  0002                     pcl	equ	2
    36  0003                     status	equ	3
    37  0004                     fsr	equ	4
    38  0004                     fsr0	equ	4
    39  0001                     c	equ	1
    40  0000                     z	equ	0
    41  000A                     pclath	equ	10
    42                           	FNCALL	_main,_GPIO_Init
    43                           	FNCALL	_main,_EEPROM_Write_1Byte
    44                           	FNCALL	_main,_EEPROM_Read_1Byte
    45                           	FNCALL	_main,_delay_ms
    46                           	FNCALL	_EEPROM_Write_1Byte,_delay_ms
    47                           	FNROOT	_main
    48                           	global	_PORTA
    49                           psect	text64,local,class=CODE,delta=2
    50                           global __ptext64
    51  0000                     __ptext64:
    52  0005                     _PORTA	set	5
    53                           	global	_PORTB
    54  0006                     _PORTB	set	6
    55                           	global	_FPB0
    56  0030                     _FPB0	set	48
    57                           	global	_OPTION_REG
    58  0081                     _OPTION_REG	set	129
    59                           	global	_TRISA
    60  0085                     _TRISA	set	133
    61                           	global	_TRISB
    62  0086                     _TRISB	set	134
    63                           	global	_EEADR
    64  010D                     _EEADR	set	269
    65                           	global	_EECON
    66  0110                     _EECON	set	272
    67                           	global	_EEDATL
    68  010E                     _EEDATL	set	270
    69                           	global	_FERASEEE
    70  0882                     _FERASEEE	set	2178
    71                           	global	_FPROGEE
    72  0881                     _FPROGEE	set	2177
    73                           	global	_FREADEE
    74  0880                     _FREADEE	set	2176
    75                           	global	_FTIMEEE
    76  0886                     _FTIMEEE	set	2182
    77                           	file	"HS16F3211_EEPROM.as"
    78                           	line	#
    79                           psect cinit,class=CODE,delta=2
    80                           global start_initialization
    81  078F                     start_initialization:
    82                           
    83                           psect cinit,class=CODE,delta=2
    84                           global end_of_initialization
    85                           
    86                           ;End of C runtime variable initialization code
    87                           
    88  078F                     end_of_initialization:
    89  078F  0183               clrf status
    90  0790  2FAB               ljmp _main	;jump to C main() function
    91                           psect	cstackCOMMON,class=COMMON,space=1
    92                           global __pcstackCOMMON
    93  0070                     __pcstackCOMMON:
    94                           	global	?_GPIO_Init
    95  0070                     ?_GPIO_Init:	; 0 bytes @ 0x0
    96                           	global	??_GPIO_Init
    97  0070                     ??_GPIO_Init:	; 0 bytes @ 0x0
    98                           	global	?_delay_ms
    99  0070                     ?_delay_ms:	; 0 bytes @ 0x0
   100                           	global	??_EEPROM_Read_1Byte
   101  0070                     ??_EEPROM_Read_1Byte:	; 0 bytes @ 0x0
   102                           	global	?_main
   103  0070                     ?_main:	; 0 bytes @ 0x0
   104                           	global	?_EEPROM_Read_1Byte
   105  0070                     ?_EEPROM_Read_1Byte:	; 1 bytes @ 0x0
   106                           	global	EEPROM_Read_1Byte@EEPROM_Addr
   107  0070                     EEPROM_Read_1Byte@EEPROM_Addr:	; 1 bytes @ 0x0
   108                           	global	delay_ms@x
   109  0070                     delay_ms@x:	; 2 bytes @ 0x0
   110  0070                     	ds	1
   111                           	global	EEPROM_Read_1Byte@ReadEeprom_Data
   112  0071                     EEPROM_Read_1Byte@ReadEeprom_Data:	; 1 bytes @ 0x1
   113  0071                     	ds	1
   114                           	global	??_delay_ms
   115  0072                     ??_delay_ms:	; 0 bytes @ 0x2
   116                           	global	delay_ms@m
   117  0072                     delay_ms@m:	; 2 bytes @ 0x2
   118  0072                     	ds	2
   119                           	global	delay_ms@n
   120  0074                     delay_ms@n:	; 2 bytes @ 0x4
   121  0074                     	ds	2
   122                           	global	?_EEPROM_Write_1Byte
   123  0076                     ?_EEPROM_Write_1Byte:	; 0 bytes @ 0x6
   124                           	global	EEPROM_Write_1Byte@EEPROM_Data
   125  0076                     EEPROM_Write_1Byte@EEPROM_Data:	; 1 bytes @ 0x6
   126  0076                     	ds	1
   127                           	global	??_EEPROM_Write_1Byte
   128  0077                     ??_EEPROM_Write_1Byte:	; 0 bytes @ 0x7
   129                           	global	EEPROM_Write_1Byte@EEPROM_Addr
   130  0077                     EEPROM_Write_1Byte@EEPROM_Addr:	; 1 bytes @ 0x7
   131  0077                     	ds	1
   132                           	global	??_main
   133  0078                     ??_main:	; 0 bytes @ 0x8
   134 ;;Data sizes: Strings 0, constant 0, data 0, bss 0, persistent 0 stack 0
   135 ;;Auto spaces:   Size  Autos    Used
   136 ;; COMMON          14      8       8
   137 ;; BANK0           80      0       0
   138 ;; BANK1           32      0       0
   139                           
   140 ;;
   141 ;; Pointer list with targets:
   142                           
   143                           
   144                           
   145 ;;
   146 ;; Critical Paths under _main in COMMON
   147 ;;
   148 ;;   _main->_EEPROM_Write_1Byte
   149 ;;   _EEPROM_Write_1Byte->_delay_ms
   150 ;;
   151 ;; Critical Paths under _main in BANK0
   152 ;;
   153 ;;   None.
   154 ;;
   155 ;; Critical Paths under _main in BANK1
   156 ;;
   157 ;;   None.
   158                           
   159 ;;
   160 ;;Main: autosize = 0, tempsize = 0, incstack = 0, save=0
   161 ;;
   162                           
   163 ;;
   164 ;;Call Graph Tables:
   165 ;;
   166 ;; ---------------------------------------------------------------------------------
   167 ;; (Depth) Function   	        Calls       Base Space   Used Autos Params    Refs
   168 ;; ---------------------------------------------------------------------------------
   169 ;; (0) _main                                                 0     0      0     180
   170 ;;                          _GPIO_Init
   171 ;;                 _EEPROM_Write_1Byte
   172 ;;                  _EEPROM_Read_1Byte
   173 ;;                           _delay_ms
   174 ;; ---------------------------------------------------------------------------------
   175 ;; (1) _EEPROM_Write_1Byte                                   2     1      1      90
   176 ;;                                              6 COMMON     2     1      1
   177 ;;                           _delay_ms
   178 ;; ---------------------------------------------------------------------------------
   179 ;; (1) _EEPROM_Read_1Byte                                    2     2      0      30
   180 ;;                                              0 COMMON     2     2      0
   181 ;; ---------------------------------------------------------------------------------
   182 ;; (1) _delay_ms                                             6     4      2      60
   183 ;;                                              0 COMMON     6     4      2
   184 ;; ---------------------------------------------------------------------------------
   185 ;; (1) _GPIO_Init                                            0     0      0       0
   186 ;; ---------------------------------------------------------------------------------
   187 ;; Estimated maximum stack depth 1
   188 ;; ---------------------------------------------------------------------------------
   189                           
   190 ;; Call Graph Graphs:
   191                           
   192 ;; _main (ROOT)
   193 ;;   _GPIO_Init
   194 ;;   _EEPROM_Write_1Byte
   195 ;;     _delay_ms
   196 ;;   _EEPROM_Read_1Byte
   197 ;;   _delay_ms
   198 ;;
   199                           
   200 ;; Address spaces:
   201                           
   202 ;;Name               Size   Autos  Total    Cost      Usage
   203 ;;BITCOMMON            E      0       0       0        0.0%
   204 ;;NULL                 0      0       0       0        0.0%
   205 ;;CODE                 0      0       0       0        0.0%
   206 ;;COMMON               E      8       8       1       57.1%
   207 ;;BITSFR0              0      0       0       1        0.0%
   208 ;;SFR0                 0      0       0       1        0.0%
   209 ;;BITSFR1              0      0       0       2        0.0%
   210 ;;SFR1                 0      0       0       2        0.0%
   211 ;;STACK                0      0       2       2        0.0%
   212 ;;ABS                  0      0       0       3        0.0%
   213 ;;BITBANK0            50      0       0       4        0.0%
   214 ;;BITSFR3              0      0       0       4        0.0%
   215 ;;SFR3                 0      0       0       4        0.0%
   216 ;;BANK0               50      0       0       5        0.0%
   217 ;;BITSFR2              0      0       0       5        0.0%
   218 ;;SFR2                 0      0       0       5        0.0%
   219 ;;BITBANK1            20      0       0       6        0.0%
   220 ;;BANK1               20      0       0       7        0.0%
   221 ;;DATA                 0      0       0       8        0.0%
   222                           
   223                           	global	_main
   224                           psect	maintext,global,class=CODE,delta=2
   225                           global __pmaintext
   226  07AB                     __pmaintext:
   227                           
   228 ;; *************** function _main *****************
   229 ;; Defined at:
   230 ;;		line 117 in file "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16F3211_EEPROM.c"
   231 ;; Parameters:    Size  Location     Type
   232 ;;		None
   233 ;; Auto vars:     Size  Location     Type
   234 ;;		None
   235 ;; Return value:  Size  Location     Type
   236 ;;		None               void
   237 ;; Registers used:
   238 ;;		wreg, status,2, status,0, pclath, cstack
   239 ;; Tracked objects:
   240 ;;		On entry : 17F/0
   241 ;;		On exit  : 0/0
   242 ;;		Unchanged: FFE00/0
   243 ;; Data sizes:     COMMON   BANK0   BANK1
   244 ;;      Params:         0       0       0
   245 ;;      Locals:         0       0       0
   246 ;;      Temps:          0       0       0
   247 ;;      Totals:         0       0       0
   248 ;;Total ram usage:        0 bytes
   249 ;; Hardware stack levels required when called:    2
   250 ;; This function calls:
   251 ;;		_GPIO_Init
   252 ;;		_EEPROM_Write_1Byte
   253 ;;		_EEPROM_Read_1Byte
   254 ;;		_delay_ms
   255 ;; This function is called by:
   256 ;;		Startup code after reset
   257 ;; This function uses a non-reentrant model
   258 ;;
   259                           psect	maintext
   260                           	file	"E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16
                                 F3211_EEPROM.c"
   261                           	line	117
   262                           	global	__size_of_main
   263  0017                     	__size_of_main	equ	__end_of_main-_main
   264                           	
   265  07AB                     _main:	
   266                           	opt	stack 6
   267                           ; Regs used in _main: [wreg+status,2+status,0+pclath+cstack]
   268                           	line	118
   269                           	
   270  07AB                     l1235:	
   271                           # 118 "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16
                                 F3211_EEPROM.c"
   272  07AB  0064               clrwdt ;#
   273                           psect	maintext
   274                           	line	119
   275                           	
   276  07AC                     l1237:	
   277                           ;HS16F3211_EEPROM.c: 119: GPIO_Init();
   278  07AC  2791               	fcall	_GPIO_Init
   279                           	line	120
   280                           	
   281  07AD                     l1239:	
   282                           ;HS16F3211_EEPROM.c: 120: EEPROM_Write_1Byte(0X10,0X5A);
   283  07AD  305A               	movlw	(05Ah)
   284  07AE  00F6               	movwf	(?_EEPROM_Write_1Byte)
   285  07AF  3010               	movlw	(010h)
   286  07B0  27C2               	fcall	_EEPROM_Write_1Byte
   287                           	line	123
   288                           	
   289  07B1                     l1241:	
   290                           # 123 "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16
                                 F3211_EEPROM.c"
   291  07B1  0064               clrwdt ;#
   292                           psect	maintext
   293                           	line	124
   294                           	
   295  07B2                     l1243:	
   296                           ;HS16F3211_EEPROM.c: 124: if(EEPROM_Read_1Byte(0X10)==0X5A)
   297  07B2  3010               	movlw	(010h)
   298  07B3  279D               	fcall	_EEPROM_Read_1Byte
   299  07B4  3A5A               	xorlw	05Ah
   300  07B5  1D03               	skipz
   301  07B6  2FB8               	goto	u51
   302  07B7  2FB9               	goto	u50
   303  07B8                     u51:
   304  07B8  2FBC               	goto	l1247
   305  07B9                     u50:
   306                           	line	126
   307                           	
   308  07B9                     l1245:	
   309                           ;HS16F3211_EEPROM.c: 125: {
   310                           ;HS16F3211_EEPROM.c: 126: FPB0=~FPB0;
   311  07B9  3001               	movlw	1<<((48)&7)
   312  07BA  1303               	bcf	status, 6	;RP1=0, select bank0
   313  07BB  0686               	xorwf	((48)/8),f
   314                           	line	128
   315                           	
   316  07BC                     l1247:	
   317                           ;HS16F3211_EEPROM.c: 127: }
   318                           ;HS16F3211_EEPROM.c: 128: delay_ms(100);
   319  07BC  3064               	movlw	064h
   320  07BD  00F0               	movwf	(?_delay_ms)
   321  07BE  01F1               	clrf	(?_delay_ms+1)
   322  07BF  27E0               	fcall	_delay_ms
   323  07C0  2FB1               	goto	l1241
   324                           	global	start
   325  07C1  2800               	ljmp	start
   326                           	opt stack 0
   327                           psect	maintext
   328                           	line	130
   329                           GLOBAL	__end_of_main
   330  07C2                     	__end_of_main:
   331 ;; =============== function _main ends ============
   332                           
   333                           	signat	_main,88
   334                           	global	_EEPROM_Write_1Byte
   335                           psect	text65,local,class=CODE,delta=2
   336                           global __ptext65
   337  07C2                     __ptext65:
   338                           
   339 ;; *************** function _EEPROM_Write_1Byte *****************
   340 ;; Defined at:
   341 ;;		line 66 in file "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16F3211_EEPROM.c"
   342 ;; Parameters:    Size  Location     Type
   343 ;;  EEPROM_Addr     1    wreg     unsigned char 
   344 ;;  EEPROM_Data     1    6[COMMON] unsigned char 
   345 ;; Auto vars:     Size  Location     Type
   346 ;;  EEPROM_Addr     1    7[COMMON] unsigned char 
   347 ;; Return value:  Size  Location     Type
   348 ;;		None               void
   349 ;; Registers used:
   350 ;;		wreg, status,2, status,0, pclath, cstack
   351 ;; Tracked objects:
   352 ;;		On entry : 60/20
   353 ;;		On exit  : 0/0
   354 ;;		Unchanged: FFE00/0
   355 ;; Data sizes:     COMMON   BANK0   BANK1
   356 ;;      Params:         1       0       0
   357 ;;      Locals:         1       0       0
   358 ;;      Temps:          0       0       0
   359 ;;      Totals:         2       0       0
   360 ;;Total ram usage:        2 bytes
   361 ;; Hardware stack levels used:    1
   362 ;; Hardware stack levels required when called:    1
   363 ;; This function calls:
   364 ;;		_delay_ms
   365 ;; This function is called by:
   366 ;;		_main
   367 ;; This function uses a non-reentrant model
   368 ;;
   369                           psect	text65
   370                           	file	"E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16
                                 F3211_EEPROM.c"
   371                           	line	66
   372                           	global	__size_of_EEPROM_Write_1Byte
   373  001E                     	__size_of_EEPROM_Write_1Byte	equ	__end_of_EEPROM_Write_1Byte-_EEPROM_Write_1Byte
   374                           	
   375  07C2                     _EEPROM_Write_1Byte:	
   376                           	opt	stack 6
   377                           ; Regs used in _EEPROM_Write_1Byte: [wreg+status,2+status,0+pclath+cstack]
   378                           ;EEPROM_Write_1Byte@EEPROM_Addr stored from wreg
   379  07C2  00F7               	movwf	(EEPROM_Write_1Byte@EEPROM_Addr)
   380                           	line	67
   381                           	
   382  07C3                     l1217:	
   383                           ;HS16F3211_EEPROM.c: 67: EECON = 0x00;
   384  07C3  1283               	bcf	status, 5	;RP0=0, select bank2
   385  07C4  1703               	bsf	status, 6	;RP1=1, select bank2
   386  07C5  0190               	clrf	(272)^0100h	;volatile
   387                           	line	77
   388                           	
   389  07C6                     l1219:	
   390                           ;HS16F3211_EEPROM.c: 77: FTIMEEE = 1;
   391  07C6  1710               	bsf	(2182/8)^0100h,(2182)&7
   392                           	line	78
   393                           	
   394  07C7                     l1221:	
   395                           ;HS16F3211_EEPROM.c: 78: EEADR = EEPROM_Addr;
   396  07C7  0877               	movf	(EEPROM_Write_1Byte@EEPROM_Addr),w
   397  07C8  008D               	movwf	(269)^0100h	;volatile
   398                           	line	79
   399                           	
   400  07C9                     l1223:	
   401                           # 79 "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16F
                                 3211_EEPROM.c"
   402  07C9  0000               NOP ;#
   403                           psect	text65
   404                           	line	80
   405                           	
   406  07CA                     l1225:	
   407                           ;HS16F3211_EEPROM.c: 80: FERASEEE = 1;
   408  07CA  1283               	bcf	status, 5	;RP0=0, select bank2
   409  07CB  1703               	bsf	status, 6	;RP1=1, select bank2
   410  07CC  1510               	bsf	(2178/8)^0100h,(2178)&7
   411                           	line	81
   412                           	
   413  07CD                     l1227:	
   414                           # 81 "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16F
                                 3211_EEPROM.c"
   415  07CD  0000               NOP ;#
   416                           psect	text65
   417                           	line	82
   418                           ;HS16F3211_EEPROM.c: 82: while(FERASEEE);
   419                           	
   420  07CE                     l800:	
   421  07CE  1283               	bcf	status, 5	;RP0=0, select bank2
   422  07CF  1703               	bsf	status, 6	;RP1=1, select bank2
   423  07D0  1910               	btfsc	(2178/8)^0100h,(2178)&7
   424  07D1  2FD3               	goto	u31
   425  07D2  2FD4               	goto	u30
   426  07D3                     u31:
   427  07D3  2FCE               	goto	l800
   428  07D4                     u30:
   429                           	line	83
   430                           	
   431  07D4                     l1229:	
   432                           ;HS16F3211_EEPROM.c: 83: EEDATL = EEPROM_Data;
   433  07D4  0876               	movf	(EEPROM_Write_1Byte@EEPROM_Data),w
   434  07D5  008E               	movwf	(270)^0100h	;volatile
   435                           	line	84
   436                           	
   437  07D6                     l1231:	
   438                           ;HS16F3211_EEPROM.c: 84: FPROGEE = 1;
   439  07D6  1490               	bsf	(2177/8)^0100h,(2177)&7
   440                           	line	85
   441                           ;HS16F3211_EEPROM.c: 85: while(FPROGEE);
   442                           	
   443  07D7                     l803:	
   444  07D7  1890               	btfsc	(2177/8)^0100h,(2177)&7
   445  07D8  2FDA               	goto	u41
   446  07D9  2FDB               	goto	u40
   447  07DA                     u41:
   448  07DA  2FD7               	goto	l803
   449  07DB                     u40:
   450                           	line	86
   451                           	
   452  07DB                     l1233:	
   453                           ;HS16F3211_EEPROM.c: 86: delay_ms(5);
   454  07DB  3005               	movlw	05h
   455  07DC  00F0               	movwf	(?_delay_ms)
   456  07DD  01F1               	clrf	(?_delay_ms+1)
   457  07DE  27E0               	fcall	_delay_ms
   458                           	line	88
   459                           	
   460  07DF                     l806:	
   461  07DF  0008               	return
   462                           	opt stack 0
   463                           GLOBAL	__end_of_EEPROM_Write_1Byte
   464  07E0                     	__end_of_EEPROM_Write_1Byte:
   465 ;; =============== function _EEPROM_Write_1Byte ends ============
   466                           
   467                           	signat	_EEPROM_Write_1Byte,8312
   468                           	global	_EEPROM_Read_1Byte
   469                           psect	text66,local,class=CODE,delta=2
   470                           global __ptext66
   471  079D                     __ptext66:
   472                           
   473 ;; *************** function _EEPROM_Read_1Byte *****************
   474 ;; Defined at:
   475 ;;		line 97 in file "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16F3211_EEPROM.c"
   476 ;; Parameters:    Size  Location     Type
   477 ;;  EEPROM_Addr     1    wreg     unsigned char 
   478 ;; Auto vars:     Size  Location     Type
   479 ;;  EEPROM_Addr     1    0[COMMON] unsigned char 
   480 ;;  ReadEeprom_D    1    1[COMMON] unsigned char 
   481 ;; Return value:  Size  Location     Type
   482 ;;                  1    wreg      unsigned char 
   483 ;; Registers used:
   484 ;;		wreg, status,2
   485 ;; Tracked objects:
   486 ;;		On entry : 0/20
   487 ;;		On exit  : 60/40
   488 ;;		Unchanged: FFE00/0
   489 ;; Data sizes:     COMMON   BANK0   BANK1
   490 ;;      Params:         0       0       0
   491 ;;      Locals:         2       0       0
   492 ;;      Temps:          0       0       0
   493 ;;      Totals:         2       0       0
   494 ;;Total ram usage:        2 bytes
   495 ;; Hardware stack levels used:    1
   496 ;; This function calls:
   497 ;;		Nothing
   498 ;; This function is called by:
   499 ;;		_main
   500 ;; This function uses a non-reentrant model
   501 ;;
   502                           psect	text66
   503                           	file	"E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16
                                 F3211_EEPROM.c"
   504                           	line	97
   505                           	global	__size_of_EEPROM_Read_1Byte
   506  000E                     	__size_of_EEPROM_Read_1Byte	equ	__end_of_EEPROM_Read_1Byte-_EEPROM_Read_1Byte
   507                           	
   508  079D                     _EEPROM_Read_1Byte:	
   509                           	opt	stack 7
   510                           ; Regs used in _EEPROM_Read_1Byte: [wreg+status,2]
   511                           ;EEPROM_Read_1Byte@EEPROM_Addr stored from wreg
   512                           	line	99
   513  079D  00F0               	movwf	(EEPROM_Read_1Byte@EEPROM_Addr)
   514                           	line	98
   515                           	
   516  079E                     l1203:	
   517                           	line	99
   518                           ;HS16F3211_EEPROM.c: 99: EECON = 0x00;
   519  079E  1283               	bcf	status, 5	;RP0=0, select bank2
   520  079F  1703               	bsf	status, 6	;RP1=1, select bank2
   521  07A0  0190               	clrf	(272)^0100h	;volatile
   522                           	line	108
   523                           	
   524  07A1                     l1205:	
   525                           ;HS16F3211_EEPROM.c: 108: EEADR = EEPROM_Addr;
   526  07A1  0870               	movf	(EEPROM_Read_1Byte@EEPROM_Addr),w
   527  07A2  008D               	movwf	(269)^0100h	;volatile
   528                           	line	109
   529                           	
   530  07A3                     l1207:	
   531                           ;HS16F3211_EEPROM.c: 109: FREADEE = 1;
   532  07A3  1410               	bsf	(2176/8)^0100h,(2176)&7
   533                           	line	110
   534                           	
   535  07A4                     l1209:	
   536                           # 110 "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16
                                 F3211_EEPROM.c"
   537  07A4  0000               NOP ;#
   538                           psect	text66
   539                           	line	111
   540                           	
   541  07A5                     l1211:	
   542                           ;HS16F3211_EEPROM.c: 111: ReadEeprom_Data = EEDATL;
   543  07A5  1283               	bcf	status, 5	;RP0=0, select bank2
   544  07A6  1703               	bsf	status, 6	;RP1=1, select bank2
   545  07A7  080E               	movf	(270)^0100h,w	;volatile
   546  07A8  00F1               	movwf	(EEPROM_Read_1Byte@ReadEeprom_Data)
   547                           	line	112
   548                           	
   549  07A9                     l1213:	
   550                           ;HS16F3211_EEPROM.c: 112: return ReadEeprom_Data;
   551  07A9  0871               	movf	(EEPROM_Read_1Byte@ReadEeprom_Data),w
   552                           	line	113
   553                           	
   554  07AA                     l809:	
   555  07AA  0008               	return
   556                           	opt stack 0
   557                           GLOBAL	__end_of_EEPROM_Read_1Byte
   558  07AB                     	__end_of_EEPROM_Read_1Byte:
   559 ;; =============== function _EEPROM_Read_1Byte ends ============
   560                           
   561                           	signat	_EEPROM_Read_1Byte,4217
   562                           	global	_delay_ms
   563                           psect	text67,local,class=CODE,delta=2
   564                           global __ptext67
   565  07E0                     __ptext67:
   566                           
   567 ;; *************** function _delay_ms *****************
   568 ;; Defined at:
   569 ;;		line 50 in file "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16F3211_EEPROM.c"
   570 ;; Parameters:    Size  Location     Type
   571 ;;  x               2    0[COMMON] unsigned int 
   572 ;; Auto vars:     Size  Location     Type
   573 ;;  n               2    4[COMMON] unsigned int 
   574 ;;  m               2    2[COMMON] unsigned int 
   575 ;; Return value:  Size  Location     Type
   576 ;;		None               void
   577 ;; Registers used:
   578 ;;		wreg, status,2, status,0
   579 ;; Tracked objects:
   580 ;;		On entry : 20/40
   581 ;;		On exit  : 0/0
   582 ;;		Unchanged: FFE00/0
   583 ;; Data sizes:     COMMON   BANK0   BANK1
   584 ;;      Params:         2       0       0
   585 ;;      Locals:         4       0       0
   586 ;;      Temps:          0       0       0
   587 ;;      Totals:         6       0       0
   588 ;;Total ram usage:        6 bytes
   589 ;; Hardware stack levels used:    1
   590 ;; This function calls:
   591 ;;		Nothing
   592 ;; This function is called by:
   593 ;;		_EEPROM_Write_1Byte
   594 ;;		_main
   595 ;; This function uses a non-reentrant model
   596 ;;
   597                           psect	text67
   598                           	file	"E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16
                                 F3211_EEPROM.c"
   599                           	line	50
   600                           	global	__size_of_delay_ms
   601  0020                     	__size_of_delay_ms	equ	__end_of_delay_ms-_delay_ms
   602                           	
   603  07E0                     _delay_ms:	
   604                           	opt	stack 7
   605                           ; Regs used in _delay_ms: [wreg+status,2+status,0]
   606                           	line	52
   607                           	
   608  07E0                     l1187:	
   609                           ;HS16F3211_EEPROM.c: 51: unsigned int m,n;
   610                           ;HS16F3211_EEPROM.c: 52: for(m=0;m<x;m++)
   611  07E0  01F2               	clrf	(delay_ms@m)
   612  07E1  01F3               	clrf	(delay_ms@m+1)
   613  07E2  2FF5               	goto	l1201
   614                           	line	54
   615                           	
   616  07E3                     l1189:	
   617                           ;HS16F3211_EEPROM.c: 53: {
   618                           ;HS16F3211_EEPROM.c: 54: for(n=0;n<140;n++)
   619  07E3  01F4               	clrf	(delay_ms@n)
   620  07E4  01F5               	clrf	(delay_ms@n+1)
   621                           	line	55
   622                           	
   623  07E5                     l794:	
   624                           # 55 "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16F
                                 3211_EEPROM.c"
   625  07E5  0064               clrwdt ;#
   626                           psect	text67
   627                           	line	54
   628                           	
   629  07E6                     l1195:	
   630  07E6  0AF4               	incf	(delay_ms@n),f
   631  07E7  1903               	skipnz
   632  07E8  0AF5               	incf	(delay_ms@n+1),f
   633                           	
   634  07E9                     l1197:	
   635  07E9  3000               	movlw	high(08Ch)
   636  07EA  0275               	subwf	(delay_ms@n+1),w
   637  07EB  308C               	movlw	low(08Ch)
   638  07EC  1903               	skipnz
   639  07ED  0274               	subwf	(delay_ms@n),w
   640  07EE  1C03               	skipc
   641  07EF  2FF1               	goto	u11
   642  07F0  2FF2               	goto	u10
   643  07F1                     u11:
   644  07F1  2FE5               	goto	l794
   645  07F2                     u10:
   646                           	line	52
   647                           	
   648  07F2                     l1199:	
   649  07F2  0AF2               	incf	(delay_ms@m),f
   650  07F3  1903               	skipnz
   651  07F4  0AF3               	incf	(delay_ms@m+1),f
   652                           	
   653  07F5                     l1201:	
   654  07F5  0871               	movf	(delay_ms@x+1),w
   655  07F6  0273               	subwf	(delay_ms@m+1),w
   656  07F7  1D03               	skipz
   657  07F8  2FFB               	goto	u25
   658  07F9  0870               	movf	(delay_ms@x),w
   659  07FA  0272               	subwf	(delay_ms@m),w
   660  07FB                     u25:
   661  07FB  1C03               	skipc
   662  07FC  2FFE               	goto	u21
   663  07FD  2FFF               	goto	u20
   664  07FE                     u21:
   665  07FE  2FE3               	goto	l1189
   666  07FF                     u20:
   667                           	line	57
   668                           	
   669  07FF                     l797:	
   670  07FF  0008               	return
   671                           	opt stack 0
   672                           GLOBAL	__end_of_delay_ms
   673  0800                     	__end_of_delay_ms:
   674 ;; =============== function _delay_ms ends ============
   675                           
   676                           	signat	_delay_ms,4216
   677                           	global	_GPIO_Init
   678                           psect	text68,local,class=CODE,delta=2
   679                           global __ptext68
   680  0791                     __ptext68:
   681                           
   682 ;; *************** function _GPIO_Init *****************
   683 ;; Defined at:
   684 ;;		line 28 in file "E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16F3211_EEPROM.c"
   685 ;; Parameters:    Size  Location     Type
   686 ;;		None
   687 ;; Auto vars:     Size  Location     Type
   688 ;;		None
   689 ;; Return value:  Size  Location     Type
   690 ;;		None               void
   691 ;; Registers used:
   692 ;;		status,2
   693 ;; Tracked objects:
   694 ;;		On entry : 0/0
   695 ;;		On exit  : 60/20
   696 ;;		Unchanged: FFF9F/0
   697 ;; Data sizes:     COMMON   BANK0   BANK1
   698 ;;      Params:         0       0       0
   699 ;;      Locals:         0       0       0
   700 ;;      Temps:          0       0       0
   701 ;;      Totals:         0       0       0
   702 ;;Total ram usage:        0 bytes
   703 ;; Hardware stack levels used:    1
   704 ;; This function calls:
   705 ;;		Nothing
   706 ;; This function is called by:
   707 ;;		_main
   708 ;; This function uses a non-reentrant model
   709 ;;
   710                           psect	text68
   711                           	file	"E:\PROJECT\应用方案\@应用相关文档整理\HS16F3211应用示范例程\HS16F3211_EEPROM\HS16
                                 F3211_EEPROM.c"
   712                           	line	28
   713                           	global	__size_of_GPIO_Init
   714  000C                     	__size_of_GPIO_Init	equ	__end_of_GPIO_Init-_GPIO_Init
   715                           	
   716  0791                     _GPIO_Init:	
   717                           	opt	stack 7
   718                           ; Regs used in _GPIO_Init: [status,2]
   719                           	line	29
   720                           	
   721  0791                     l1185:	
   722                           ;HS16F3211_EEPROM.c: 29: OPTION_REG= 0b00000000;
   723  0791  1683               	bsf	status, 5	;RP0=1, select bank1
   724  0792  1303               	bcf	status, 6	;RP1=0, select bank1
   725  0793  0181               	clrf	(129)^080h	;volatile
   726                           	line	36
   727                           ;HS16F3211_EEPROM.c: 36: PORTA = 0b00000000;
   728  0794  1283               	bcf	status, 5	;RP0=0, select bank0
   729  0795  0185               	clrf	(5)	;volatile
   730                           	line	37
   731                           ;HS16F3211_EEPROM.c: 37: TRISA = 0b00000000;
   732  0796  1683               	bsf	status, 5	;RP0=1, select bank1
   733  0797  0185               	clrf	(133)^080h	;volatile
   734                           	line	39
   735                           ;HS16F3211_EEPROM.c: 39: PORTB = 0b00000000;
   736  0798  1283               	bcf	status, 5	;RP0=0, select bank0
   737  0799  0186               	clrf	(6)	;volatile
   738                           	line	40
   739                           ;HS16F3211_EEPROM.c: 40: TRISB = 0b00000000;
   740  079A  1683               	bsf	status, 5	;RP0=1, select bank1
   741  079B  0186               	clrf	(134)^080h	;volatile
   742                           	line	42
   743                           	
   744  079C                     l789:	
   745  079C  0008               	return
   746                           	opt stack 0
   747                           GLOBAL	__end_of_GPIO_Init
   748  079D                     	__end_of_GPIO_Init:
   749 ;; =============== function _GPIO_Init ends ============
   750                           
   751                           	signat	_GPIO_Init,88
   752                           psect	text69,local,class=CODE,delta=2
   753                           global __ptext69
   754  0000                     __ptext69:
   755                           	global	btemp
   756  007E                     	btemp set 07Eh
   757                           
   758                           	DABS	1,126,2	;btemp
   759                           	global	wtemp0
   760  007E                     	wtemp0 set btemp


HI-TECH Software PICC Macro Assembler V9.83 build 10920 
Symbol Table                                                                                   Thu Dec 02 17:07:00 2021

                              u10 07F2                                u11 07F1                                u20 07FF  
                              u21 07FE                                u30 07D4                                u31 07D3  
                              u40 07DB                                u25 07FB                                u41 07DA  
                              u50 07B9                                u51 07B8        __size_of_EEPROM_Read_1Byte 000E  
                             l800 07CE                               l803 07D7                               l806 07DF  
                             l809 07AA                               l794 07E5                               l789 079C  
                             l797 07FF                              l1201 07F5                              l1211 07A5  
                            l1203 079E                              l1213 07A9                              l1205 07A1  
                            l1221 07C7                              l1207 07A3                              l1231 07D6  
                            l1223 07C9                              l1209 07A4                              l1233 07DB  
                            l1225 07CA                              l1217 07C3                              l1241 07B1  
                            l1227 07CD                              l1219 07C6                              l1243 07B2  
                            l1235 07AB                              l1229 07D4                              l1245 07B9  
                            l1237 07AC                              l1247 07BC                              l1239 07AD  
                            l1185 0791                              l1195 07E6                              l1187 07E0  
                            l1197 07E9                              l1189 07E3                              l1199 07F2  
                            _FPB0 0030                              _main 07AB                              btemp 007E  
                            start 0000                __size_of_GPIO_Init 000C                             ?_main 0070  
                           _EEADR 010D                             _EECON 0110                             _PORTA 0005  
                           _PORTB 0006                             _TRISA 0085                             _TRISB 0086  
                           status 0003                             wtemp0 007E                      __end_of_main 07C2  
                          ??_main 0078                 __end_of_GPIO_Init 079D                            _EEDATL 010E  
                __end_of_delay_ms 0800                    __pcstackCOMMON 0070       __size_of_EEPROM_Write_1Byte 001E  
                      __pmaintext 07AB                           _FREADEE 0880                           _FTIMEEE 0886  
                         _FPROGEE 0881                         ?_delay_ms 0070                        ??_delay_ms 0072  
                       _GPIO_Init 0791              end_of_initialization 078F                        ?_GPIO_Init 0070  
             start_initialization 078F  EEPROM_Read_1Byte@ReadEeprom_Data 0071        __end_of_EEPROM_Write_1Byte 07E0  
                     ??_GPIO_Init 0070                 __size_of_delay_ms 0020                          _FERASEEE 0882  
                       delay_ms@m 0072                         delay_ms@n 0074                         delay_ms@x 0070  
               _EEPROM_Read_1Byte 079D                ?_EEPROM_Read_1Byte 0070                          _delay_ms 07E0  
                        __ptext64 0000                          __ptext65 07C2                          __ptext66 079D  
                        __ptext67 07E0                          __ptext68 0791                          __ptext69 0000  
             ??_EEPROM_Read_1Byte 0070                     __size_of_main 0017         __end_of_EEPROM_Read_1Byte 07AB  
              _EEPROM_Write_1Byte 07C2               ?_EEPROM_Write_1Byte 0076     EEPROM_Write_1Byte@EEPROM_Addr 0077  
   EEPROM_Write_1Byte@EEPROM_Data 0076                        _OPTION_REG 0081              ??_EEPROM_Write_1Byte 0077  
    EEPROM_Read_1Byte@EEPROM_Addr 0070  
