📄 div.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 + -