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

📄 div.lst

📁 Library for the 8051 microcontroller. such as math routine, hexBCD, LCD, Keyboard, I2C, Remote, Ke
💻 LST
字号:

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 1





       MCS-51 Family Macro Assembler   A S E M - 5 1   V 1.3
       =====================================================



	Source File:	E:\MiCrOConTroller\Coba_M-IDE\32BITDIV\DIV.asm
	Object File:	E:\MiCrOConTroller\Coba_M-IDE\32BITDIV\DIV.hex
	List File:	E:\MiCrOConTroller\Coba_M-IDE\32BITDIV\DIV.lst



 Line  I  Addr  Code            Source

    1:
    2:				    	; Sub routine for Division.
    3:
    4:		N      0008	S1	EQU	08H
    5:		N      0009	S2	EQU	09H
    6:		N      000A	S3	EQU	0AH
    7:		N      000B	S4	EQU	0BH
    8:
    9:		N      000C	E1	EQU	0CH
   10:		N      000D	E2	EQU	0DH
   11:		N      000E	E3	EQU	0EH
   12:		N      000F	E4	EQU	0FH
   13:
   14:		N      0010	W1	EQU	10H
   15:		N      0011	W2	EQU	11H
   16:		N      0012	W3	EQU	12H
   17:		N      0013	W4	EQU	13H
   18:
   19:		N      0014	K1	EQU	14H
   20:		N      0015	K2	EQU	15H
   21:		N      0016	K3	EQU	16H
   22:		N      0017	K4	EQU	17H
   23:
   24:		N      0018	CNT	EQU	18H
   25:
   26:	  0000	75 81 30	MOV SP,#30H
   27:
   28:	  0003	75 0C 32	MOV E1,#32H
   29:	  0006	75 0D 0D	MOV E2,#0DH
   30:	  0009	75 0E 00	MOV E3,#00H
   31:	  000C	75 0F 43	MOV E4,#43H
   32:
   33:	  000F	75 08 10	MOV S1,#10H
   34:	  0012	75 09 00	MOV S2,#00H
   35:	  0015	75 0A 50	MOV S3,#50H
   36:	  0018	75 0B 0F	MOV S4,#0FH
   37:
   38:
   39:	  001B	75 14 00	MOV K1,#00H
   40:	  001E	75 15 00	MOV K2,#00H
   41:	  0021	75 16 00	MOV K3,#00H
   42:	  0024	75 17 00	MOV K4,#00H
   43:

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:
   45:				;-----------------------32BIT / 32BIT DIVISION RUTINE-------------------
   46:				; avoide devide by zero error E/S = result(k)
   47:	  0027	E5 08			MOV A,S1
   48:	  0029	25 09			ADD A,S2
   49:	  002B	70 06			JNZ DOWN
   50:	  002D	E5 0A			MOV A,S3
   51:	  002F	25 0B			ADD A,S4
   52:	  0031	70 00			JNZ DOWN
   53:	  0033				ERROR:
   54:	  0033			DOWN:
   55:				; shift until substraction become less than zero, keep counting----------
   56:	  0033	75 18 00		MOV CNT,#00H
   57:	  0036	12 00 D6		CALL SUB3224
   58:	  0039	40 60			JC ENDIT
   59:
   60:	  003B				 DOAGAIN:
   61:	  003B	05 18			 	INC CNT
   62:	  003D	12 00 BF			CALL SHIFTER24BITL
   63:	  0040	12 00 D6			CALL SUB3224
   64:
   65:	  0043	50 08				JNC KHALI1
   66:	  0045	12 00 A8			CALL SHIFTER24BITR
   67:	  0048	02 00 52			JMP LOOPBACK
   68:	  004B	15 18				DEC CNT
   69:	  004D			KHALI1:
   70:
   71:	  004D	E5 08				MOV A,S1
   72:	  004F	30 E7 E9		        JNB ACC.7,DOAGAIN
   73:
   74:
   75:	  0052			LOOPBACK:
   76:	  0052	12 00 D6		 	CALL SUB3224
   77:	  0055	40 25			 	JC BELOW
   78:	  0057	85 10 0C		 	MOV E1,W1
   79:	  005A	85 11 0D		 	MOV E2,W2
   80:	  005D	85 12 0E		 	MOV E3,W3
   81:	  0060	85 13 0F		 	MOV E4,W4
   82:				;PUT ONE
   83:	  0063	D3			SETB C
   84:	  0064	E5 14			MOV A,K1
   85:	  0066	33			RLC A
   86:	  0067	F5 14			MOV K1,A
   87:
   88:	  0069	E5 15			MOV A,K2
   89:	  006B	33			RLC A
   90:	  006C	F5 15			MOV K2,A
   91:
   92:	  006E	E5 16			MOV A,K3
   93:	  0070	33			RLC A
   94:	  0071	F5 16			MOV K3,A
   95:
   96:	  0073	E5 17			MOV A,K4
   97:	  0075	33			RLC A
   98:	  0076	F5 17			MOV K4,A
   99:

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

  100:	  0078	C3			CLR C
  101:				;-------------
  102:	  0079	02 00 92	JMP OOOOO
  103:	  007C				 BELOW:
  104:				;PUT ZERO
  105:	  007C	C3		 	CLR C
  106:
  107:	  007D	E5 14			MOV A,K1
  108:	  007F	25 14			ADD A,K1
  109:	  0081	F5 14			MOV K1,A
  110:
  111:	  0083	E5 15			MOV A,K2
  112:	  0085	33			RLC A
  113:	  0086	F5 15			MOV K2,A
  114:
  115:	  0088	E5 16			MOV A,K3
  116:	  008A	33			RLC A
  117:	  008B	F5 16			MOV K3,A
  118:
  119:	  008D	E5 17			MOV A,K4
  120:	  008F	33			RLC A
  121:	  0090	F5 17			MOV K4,A
  122:
  123:	  0092	C3		OOOOO:	CLR C
  124:				;-------------
  125:	  0093	12 00 A8			CALL SHIFTER24BITR
  126:	  0096	D5 18 B9		 	DJNZ CNT,LOOPBACK
  127:	  0099	80 FE		RETT:	JMP RETT
  128:
  129:
  130:
  131:	  009B			ENDIT:
  132:	  009B	75 14 00	  	MOV K1,#00H
  133:	  009E	75 15 00	  	MOV K2,#00H
  134:	  00A1	75 16 00	  	MOV K3,#00H
  135:	  00A4	75 17 01	  	MOV K4,#01H
  136:	  00A7	22		RET
  137:				;-----------------    24-bit Shifter    -----------------------------
  138:	  00A8			SHIFTER24BITR:
  139:				;S1:S2:S3:S4
  140:	  00A8	C3			CLR C
  141:	  00A9	E5 08			MOV A,S1
  142:	  00AB	13			RRC A
  143:	  00AC	F5 08			MOV S1,A
  144:
  145:	  00AE	E5 09			MOV A,S2
  146:	  00B0	13			RRC A
  147:	  00B1	F5 09			MOV S2,A
  148:
  149:	  00B3	E5 0A			MOV A,S3
  150:	  00B5	13			RRC A
  151:	  00B6	F5 0A			MOV S3,A
  152:
  153:	  00B8	E5 0B			MOV A,S4
  154:	  00BA	13			RRC A
  155:	  00BB	F5 0B			MOV S4,A

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 4



 Line  I  Addr  Code            Source

  156:
  157:	  00BD	C3			CLR C
  158:	  00BE	22		RET
  159:
  160:	  00BF			SHIFTER24BITL:
  161:	  00BF	E5 0B			MOV A,S4
  162:	  00C1	25 0B			ADD A,S4 ;RLC A
  163:	  00C3	F5 0B			MOV S4,A
  164:
  165:	  00C5	E5 0A			MOV A,S3
  166:	  00C7	33			RLC A
  167:	  00C8	F5 0A			MOV S3,A
  168:
  169:	  00CA	E5 09			MOV A,S2
  170:	  00CC	33			RLC A
  171:	  00CD	F5 09			MOV S2,A
  172:
  173:	  00CF	E5 08			MOV A,S1
  174:	  00D1	33			RLC A
  175:	  00D2	F5 08			MOV S1,A
  176:
  177:	  00D4	C3			CLR C
  178:
  179:	  00D5	22		RET
  180:				;-----------------    32-BIT-24-BIT SUBSTARCTOR ---------------------
  181:	  00D6			SUB3224:
  182:				;E1:E2:E3:E4 - S1:S2:S3:S4 = W1:W2:W3:W4
  183:	  00D6	C3			CLR C
  184:	  00D7	E5 0F			MOV A,E4
  185:	  00D9	95 0B			SUBB A,S4
  186:	  00DB	F5 13			MOV W4,A
  187:
  188:	  00DD	E5 0E			MOV A,E3
  189:	  00DF	95 0A			SUBB A,S3
  190:	  00E1	F5 12			MOV W3,A
  191:
  192:	  00E3	E5 0D			MOV A,E2
  193:	  00E5	95 09			SUBB A,S2
  194:	  00E7	F5 11			MOV W2,A
  195:
  196:	  00E9	E5 0C			MOV A,E1
  197:	  00EB	95 08			SUBB A,S1
  198:	  00ED	F5 10			MOV W1,A
  199:	  00EF	22		RET
  200:				END





                     register banks used:  ---

                     no errors




ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 5





	       L I S T   O F   S Y M B O L S
	       =============================


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
??ASEM_51			  NUMBER    8051
??VERSION			  NUMBER    0130
AC				  BIT	      D6
ACC				  DATA	      E0
B				  DATA	      F0
BELOW				  CODE	    007C	 103
CNT				  NUMBER    0018	  24
CY				  BIT	      D7
DOAGAIN				  CODE	    003B	  60
DOWN				  CODE	    0033	  54
DPH				  DATA	      83
DPL				  DATA	      82
E1				  NUMBER    000C	   9
E2				  NUMBER    000D	  10
E3				  NUMBER    000E	  11
E4				  NUMBER    000F	  12
EA				  BIT	      AF
ENDIT				  CODE	    009B	 131
ERROR				  CODE	    0033	  53
ES				  BIT	      AC
ET0				  BIT	      A9
ET1				  BIT	      AB
EX0				  BIT	      A8
EX1				  BIT	      AA
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
F0				  BIT	      D5
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
K1				  NUMBER    0014	  19
K2				  NUMBER    0015	  20
K3				  NUMBER    0016	  21
K4				  NUMBER    0017	  22
KHALI1				  CODE	    004D	  69
LOOPBACK			  CODE	    0052	  75
OOOOO				  CODE	    0092	 123
OV				  BIT	      D2
P				  BIT	      D0
P0				  DATA	      80
P1				  DATA	      90
P2				  DATA	      A0
P3				  DATA	      B0
PCON				  DATA	      87
PS				  BIT	      BC

ASEM-51 V1.3                                         Copyright (c) 2002 by W.W. Heinz                                         PAGE 6



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
PSW				  DATA	      D0
PT0				  BIT	      B9
PT1				  BIT	      BB
PX0				  BIT	      B8
PX1				  BIT	      BA
RB8				  BIT	      9A
RD				  BIT	      B7
REN				  BIT	      9C
RESET				  CODE	    0000
RETT				  CODE	    0099	 127
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
S1				  NUMBER    0008	   4
S2				  NUMBER    0009	   5
S3				  NUMBER    000A	   6
S4				  NUMBER    000B	   7
SBUF				  DATA	      99
SCON				  DATA	      98
SHIFTER24BITL			  CODE	    00BF	 160
SHIFTER24BITR			  CODE	    00A8	 138
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
SUB3224				  CODE	    00D6	 181
T0				  BIT	      B4
T1				  BIT	      B5
TB8				  BIT	      9B
TCON				  DATA	      88
TF0				  BIT	      8D
TF1				  BIT	      8F
TH0				  DATA	      8C
TH1				  DATA	      8D
TI				  BIT	      99
TIMER0				  CODE	    000B
TIMER1				  CODE	    001B
TL0				  DATA	      8A
TL1				  DATA	      8B
TMOD				  DATA	      89
TR0				  BIT	      8C
TR1				  BIT	      8E
TXD				  BIT	      B1
W1				  NUMBER    0010	  14
W2				  NUMBER    0011	  15
W3				  NUMBER    0012	  16
W4				  NUMBER    0013	  17
WR				  BIT	      B6

⌨️ 快捷键说明

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