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

📄 intelhex.lst

📁 msc1201 编程4
💻 LST
📖 第 1 页 / 共 2 页
字号:
MACRO ASSEMBLER INTELHEX                                    05/05/03 17:01:05 PAGE     1


WIN32 MACRO ASSEMBLER MA51 V06.04.11OBJECT MODULE PLACED IN D:\DATA\MSC1210\RIDE\MVP\INTELHEX.OBJ
ASSEMBLER INVOKED BY: MA51.EXE D:\DATA\MSC1210\RIDE\MVP\INTELHEX.A51 OJ(D:\DATA\MSC1210\RIDE\MVP\INTELHEX.OBJ) PIN(D:\RIDE\INC) PIN(D:\RIDE\INC\51\TI\) EP LINES SYNTAX(ASM51) PR(D:\DATA\MSC1210\RIDE\MVP\INTELHEX.LST) XR DB PW(80) RB(0) 

LOC     OBJ           LINE    SOURCE
                         1     $NOMOD51
                         2     $INCLUDE (REG1210.INC)
                       240     NAME 	INTEL_HEX
                       241     	PUBLIC _READ_AND_WRITE_INTEL_HEX;
                       242     	EXTRN CODE (_FPM, _TX_BYTE, RX_BYTE_ECHO, RX_HEX_ECHO)
                       243     INTEL_HEX_ROUTINES  SEGMENT  CODE
------                 244     	RSEG	INTEL_HEX_ROUTINES
  0080                 245     CPUA	EQU 80H
  0040                 246     CPUS  EQU 40H
  0001                 247     FWR	EQU 1
                       248     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                       249     ; Get, write & report result for a Intel Hex File
                       250     ; R7 define which CPU: CPUA or CPUS
                       251     _READ_AND_WRITE_INTEL_HEX: 
0000    8FAA           252     	MOV	BPL,R7
                       253     RW_INTELHEX: 
0002    120000   F     254     	CALL	INTEL_HEX_TRANSFORM
                       255     	;R7.3/R7.1/R7.0= EOF/ CheckSum Err/ Write Err
                       256     	;if R7= xx1b / x10b / 100b / 000b then print X / E / T / .
0005    EF             257     	MOV	A,R7
0006    7F58           258     	MOV	R7,#'X'
0008    20E013         259     	JB	ACC.0,INTEL_WR_ERROR
000B    7F45           260     	MOV	R7,#'E'
000D    20E10E         261     	JB	ACC.1,INTEL_CHKSUM_ERROR
0010    7F54           262     	MOV	R7,#'T'
0012    20E309         263     	JB	ACC.3,INTEL_EOF		;end of file
0015    7F2E           264     	MOV	R7, #'.'		; Successful
0017    120000   F     265     	CALL	_TX_BYTE
001A    30E3E5         266     	JNB	ACC.3, RW_INTELHEX
001D    22             267     	RET
                       268     INTEL_WR_ERROR: 
                       269     INTEL_CHKSUM_ERROR: 
                       270     INTEL_EOF: 
001E    120000   F     271     	CALL	_TX_BYTE
0021    22             272     	RET
                       273     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                       274     ; Get, write & report result for a Intel Hex Line
                       275     INTEL_HEX_TRANSFORM: 
0022    120000   F     276     	CALL	RX_BYTE_ECHO		; wait for ':'
0025    BF3AFA         277     	CJNE	R7,#':',INTEL_HEX_TRANSFORM
0028    7C00           278     	MOV	R4, #0			; reset checksum
002A    120000   F     279     	CALL	RX_HEX_ECHO_CS		; get byte count
002D    AA07           280     	MOV 	R2, REG7		; store byte count in R2
002F    120000   F     281     	CALL	RX_HEX_ECHO_CS		; get dest address-hi
0032    8F83           282     	MOV	DPH, R7
0034    120000   F     283     	CALL	RX_HEX_ECHO_CS		; get dest address-lo
0037    8F82           284     	MOV	DPL, R7
0039    120000   F     285     	CALL	RX_HEX_ECHO_CS		; get line type (data line/last line)
003C    75F000         286     	MOV	B, #00H			; B has receive line status
003F    BF0103         287     	CJNE	R7,#01, IHT_DATA_LOOP	
0042    43F008         288     	ORL	B,#08H			; last line
                       289     IHT_DATA_LOOP: 	
0045    120000   F     290     	CALL	RX_HEX_ECHO_CS		; get a data OR checksum byte
0048    BA0002         291     	CJNE	R2, #00H, IHT_DATA_BYTE	; check_byte_count
004B    802B           292     	SJMP	IHT_CHECKSUM		; R2==00h
                       293     IHT_DATA_BYTE: 
                       294     	;MOV	R5, AR7		; PLACE DATA BYTE IN R5
                       295     	;MOV	R3, #0H			; FPM mode
                       296     	;MOV	R6, DPH			; Set write address
                       297     	;MOV	R7, DPL
004D    C083           298     	PUSH	DPH
004F    C082           299     	PUSH	DPL
0051    C004           300     	PUSH	REG4
0053    C002           301     	PUSH	REG2	
0055    C0F0           302     	PUSH	REGB
0057    AB07           303     	MOV	R3,REG7		; pd
0059    AC83           304     	MOV	R4,DPH		; a
005B    AD82           305     	MOV	R5,DPL
005D    7F41           306     	MOV	R7,#41H ;BPL		; cmd
                       307     IHT_SKIP_TRANSLATE: 
005F    120000   F     308     	LCALL _FPM
                       309     ;	call	_write_src
0062    D0F0           310     	POP	REGB
0064    D002           311     	POP	REG2
0066    D004           312     	POP	REG4
                       313     IHT_WRITE_RESULT: 
0068    BF0103         314     	CJNE 	R7, #01H, IHT_GOOD_WRITE
006B    43F001         315     	ORL	B, #01H			; write error
                       316     IHT_GOOD_WRITE: 
006E    D082           317     	POP	DPL
0070    D083           318     	POP	DPH
0072    A3             319     	INC	DPTR
0073    DAD0           320     	DJNZ	R2, IHT_DATA_LOOP
0075    120000   F     321     	CALL	RX_HEX_ECHO_CS
                       322     IHT_CHECKSUM: 
0078    EC             323     	MOV 	A, R4;
0079    6003           324     	JZ	IHT_CHKSUM_PASS
                       325     IHT_CHKSUM_ERROR: 
007B    43F002         326     	ORL	B, #02	
                       327     IHT_CHKSUM_PASS: 
007E    AFF0           328     	MOV	R7, B
0080    22             329     	RET
                       330     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                       331     ; Get a byte from serial port with 
                       332     ;	hex convert/echo/checksum cal
                       333     RX_HEX_ECHO_CS: 
0081    120000   F     334     	CALL RX_HEX_ECHO;
0084    EC             335     	MOV	A, R4;
0085    2F             336     	ADD	A, R7;	ADD received byte to checksum
0086    FC             337     	MOV	R4, A;
0087    22             338     	RET
                       339     END
MACRO ASSEMBLER INTELHEX                                    05/05/03 17:01:05 PAGE     0


SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES             REFERENCES

REGB . . . . . . .  D ADDR   00F0H   A                          238# 302 310 
TXD0 . . . . . . .  B ADDR   00B0H.1 A                          167# 
INT5 . . . . . . .  B ADDR   0090H.7 A                          131# 
RCAP2H . . . . . .  D ADDR   00CBH   A                          67# 
SPITCON. . . . . .  D ADDR   009DH   A                          38# 
DPL. . . . . . . .  D ADDR   0082H   A                          13# 284 299 305 317 
                                                                
P0 . . . . . . . .  D ADDR   0080H   A                          11# 
RX_HEX_ECHO_CS . .  C ADDR   0081H   R  SEG=INTEL_HEX_ROUTINES  279 281 283 285 290 
                                                                321 333# 
SM01 . . . . . . .  B ADDR   00C0H.7 A                          180# 
TXD1 . . . . . . .  B ADDR   0090H.3 A                          135# 
HWPCO. . . . . . .  D ADDR   00E9H   A                          95# 
SBUF1. . . . . . .  D ADDR   00C1H   A                          63# 
P1 . . . . . . . .  D ADDR   0090H   A                          27# 
_FPM . . . . . . .  C ADDR   -----      EXT                     242# 308 
CP_RL2 . . . . . .  B ADDR   00C8H.0 A                          197# 
EXEN2. . . . . . .  B ADDR   00C8H.3 A                          194# 
SM11 . . . . . . .  B ADDR   00C0H.6 A                          181# 
B. . . . . . . . .  D ADDR   00F0H   A                          102# 286 288 315 
                                                                326 328 
P0DDRH . . . . . .  D ADDR   00ADH   A                          53# 
P2 . . . . . . . .  D ADDR   00A0H   A                          41# 
SM21 . . . . . . .  B ADDR   00C0H.5 A                          182# 
PS . . . . . . . .  B ADDR   00B8H.4 A                          173# 
T2EX . . . . . . .  B ADDR   0090H.1 A                          137# 
HWPC1. . . . . . .  D ADDR   00EAH   A                          96# 
P3 . . . . . . . .  D ADDR   00B0H   A                          56# 
P1DDRH . . . . . .  D ADDR   00AFH   A                          55# 
SPIEND . . . . . .  D ADDR   009FH   A                          40# 
SP . . . . . . . .  D ADDR   0081H   A                          12# 
SMOD1. . . . . . .  B ADDR   00D8H.7 A                          210# 
AC . . . . . . . .  B ADDR   00D0H.6 A                          201# 
T0 . . . . . . . .  B ADDR   00B0H.4 A                          164# 
RCAP2L . . . . . .  D ADDR   00CAH   A                          66# 
SCON1. . . . . . .  D ADDR   00C0H   A                          62# 
P2DDRH . . . . . .  D ADDR   00B2H   A                          58# 
IHT_CHKSUM_PASS. .  C ADDR   007EH   R  SEG=INTEL_HEX_ROUTINES  324 327# 
OV . . . . . . . .  B ADDR   00D0H.2 A                          205# 
T1 . . . . . . . .  B ADDR   00B0H.5 A                          163# 
REN. . . . . . . .  B ADDR   0098H.4 A                          144# 
P3DDRH . . . . . .  D ADDR   00B4H   A                          60# 
PWMHI. . . . . . .  D ADDR   00A3H   A                          44# 
EA . . . . . . . .  B ADDR   00A8H.7 A                          151# 
T2 . . . . . . . .  B ADDR   0090H.0 A                          138# 
SECINT . . . . . .  D ADDR   00F9H   A                          110# 
LVDCON . . . . . .  D ADDR   00E7H   A                          93# 
SSCON. . . . . . .  D ADDR   00E1H   A                          87# 
T2CON. . . . . . .  D ADDR   00C8H   A                          65# 
P0DDRL . . . . . .  D ADDR   00ACH   A                          52# 
AISTAT . . . . . .  D ADDR   00A7H   A                          47# 
PWMLOW . . . . . .  D ADDR   00A2H   A                          43# 
SPIDATA. . . . . .  D ADDR   009BH   A                          36# 
ACC. . . . . . . .  D ADDR   00E0H   A                          86# 259 261 263 266 
                                                                
P1DDRL . . . . . .  D ADDR   00AEH   A                          54# 
DPS. . . . . . . .  D ADDR   0086H   A                          17# 
IHT_SKIP_TRANSLATE  C ADDR   005FH   R  SEG=INTEL_HEX_ROUTINES  307# 
C_T2 . . . . . . .  B ADDR   00C8H.1 A                          196# 
P2DDRL . . . . . .  D ADDR   00B1H   A                          57# 
RW_INTELHEX. . . .  C ADDR   0002H   R  SEG=INTEL_HEX_ROUTINES  253# 266 
CPUA . . . . . . .  N NUMB   0080h                              245# 

⌨️ 快捷键说明

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