📄 bcd6.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: D:\Electronics\MiCrOConTroller\MCS51\Micro Programming\M-IDE\HEX6BCD\BCD6.asm
Object File: D:\Electronics\MiCrOConTroller\MCS51\Micro Programming\M-IDE\HEX6BCD\BCD6.hex
List File: D:\Electronics\MiCrOConTroller\MCS51\Micro Programming\M-IDE\HEX6BCD\BCD6.lst
Line I Addr Code Source
1: $MOD51
2: ;*-----------------------------------------------------------
3: ;*
4: ;* bin6bcd - routine compute from binary value to bcd
5: ;*
6: ;* Entry: reg_e:d - binary value (24 bit)
7: ;*
8: ;* Exit: reg_e:d - 8 bcd digits (0000:0000-1677:7215)
9: ;*
10: ;*-----------------------------------------------------------
11: N 0008 H1 EQU 08H
12: N 0009 H2 EQU 09H
13: N 000A H3 EQU 0AH
14:
15: N 000B D1 EQU 0BH
16: N 000C D2 EQU 0CH
17: N 000D D3 EQU 0DH
18: N 000E D4 EQU 0EH
19:
20: N 000F TMP1 EQU 0FH
21: N 0010 TMP2 EQU 10H
22: N 0011 TMP3 EQU 11H
23: N 0012 TMP4 EQU 12H
24:
25: N 0013 POINTER EQU 13H
26: N 0014 HOLD EQU 14H
27:
28: 0000 75 08 F2 MOV H1,#0F2H ;020A1B HEX
29: 0003 75 09 AB MOV H2,#0ABH ;INPUT
30: 0006 75 0A FF MOV H3,#0FFH
31: ;----------------------------------------------
32: 0009 75 0B 00 MOV D1,#00H
33: 000C 75 0C 00 MOV D2,#00H
34: 000F 75 0D 00 MOV D3,#00H
35: 0012 75 0E 00 MOV D4,#00H ;OUTPUT
36: ;----------------------------------------------
37: 0015 75 0F 00 MOV TMP1,#00H ;TEMPORARI
38: 0018 75 10 00 MOV TMP2,#00H
39: 001B 75 11 00 MOV TMP3,#00H
40: 001E 75 12 00 MOV TMP4,#00H
41: ;-------------------------------------------------------------------------------------
42: 0021 BIN6BCD:
43: 0021 75 81 20 MOV SP,#20H
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 0024 E5 0A MOV A,H3
45: 0026 78 08 MOV R0,#8
46: 0028 B8 01 0D CJNE R0,#01H,DOWN
47: 002B C3 CLR C
48: 002C 13 RRC A
49: 002D F5 14 MOV HOLD,A
50: 002F 50 07 JNC DOWN
51: 0031 E8 MOV A,R0
52: 0032 23 RL A
53: 0033 23 RL A
54: 0034 F5 13 MOV POINTER,A
55: 0036 11 6C ACALL ADDITION
56: 0038 DOWN:
57: 0038 E5 14 MOV A,HOLD
58: 003A D8 E5 DJNZ R0,BIN6BCD
59:
60: 003C E5 09 MULAI: MOV A,H2
61: 003E 78 08 MOV R0,#8
62:
63: 0040 C3 CLR C
64: 0041 13 RRC A
65: 0042 F5 14 MOV HOLD,A
66: 0044 50 09 JNC DOWNH2
67: 0046 E8 MOV A,R0
68: 0047 24 08 ADD A,#08H
69: 0049 23 RL A
70: 004A 23 RL A
71: 004B F5 13 MOV POINTER,A
72: 004D 11 6C ACALL ADDITION
73: 004F DOWNH2:
74: 004F E5 14 MOV A,HOLD
75: 0051 D8 E9 DJNZ R0,MULAI
76:
77: 0053 E5 08 TERUS: MOV A,H1
78: 0055 78 08 MOV R0,#8
79: 0057 C3 CLR C
80: 0058 13 RRC A
81: 0059 F5 14 MOV HOLD,A
82: 005B 50 09 JNC DOWNH3
83: 005D E8 MOV A,R0
84: 005E 24 10 ADD A,#10H
85: 0060 23 RL A
86: 0061 23 RL A
87: 0062 F5 13 MOV POINTER,A
88: 0064 11 6C ACALL ADDITION
89: 0066 DOWNH3:
90: 0066 E5 14 MOV A,HOLD
91: 0068 D8 E9 DJNZ R0,TERUS
92:
93:
94: 006A 80 FE BBBB: JMP BBBB
95: ;-------------------------------------------------------------------------------------
96: 006C ADDITION:
97: 006C 90 00 AC MOV DPTR,#BINBCDTAB
98: 006F 15 13 DEC POINTER
99:
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 3
Line I Addr Code Source
100: 0071 E5 13 MOV A,POINTER
101: 0073 93 MOVC A,@A+DPTR
102: 0074 F5 0F MOV TMP1,A
103:
104: 0076 E5 13 MOV A,POINTER
105: 0078 14 DEC A
106: 0079 93 MOVC A,@A+DPTR
107: 007A F5 10 MOV TMP2,A
108:
109: 007C E5 13 MOV A,POINTER
110: 007E 14 DEC A
111: 007F 14 DEC A
112: 0080 93 MOVC A,@A+DPTR
113: 0081 F5 11 MOV TMP3,A
114:
115: 0083 E5 13 MOV A,POINTER
116: 0085 14 DEC A
117: 0086 14 DEC A
118: 0087 14 DEC A
119: 0088 93 MOVC A,@A+DPTR
120: 0089 F5 12 MOV TMP4,A
121:
122: ;-------------- DO ADDITION TMP1 -------------------
123: 008B C3 CLR C
124: 008C E5 0F MOV A,TMP1
125: 008E 25 0E ADD A,D4
126: 0090 D4 DA A
127: 0091 F5 0E MOV D4,A
128:
129: 0093 E5 10 MOV A,TMP2
130: 0095 35 0D ADDC A,D3
131: 0097 D4 DA A
132: 0098 F5 0D MOV D3,A
133:
134: 009A E5 11 MOV A,TMP3
135: 009C 35 0C ADDC A,D2
136: 009E D4 DA A
137: 009F F5 0C MOV D2,A
138:
139: 00A1 E5 12 MOV A,TMP4
140: 00A3 35 0B ADDC A,D1
141: 00A5 D4 DA A
142: 00A6 F5 0B MOV D1,A
143:
144: 00A8 C3 CLR C
145:
146: 00A9 22 RET
147: ;-------------------------------------------------------------------------------------
148: 00AA 80 FE HETE: JMP HETE
149:
150:
151: 00AC BINBCDTAB:
152: 00AC 00 00 00 01 DB 00H,00H,00H,01H ; bit 0
153: 00B0 00 00 00 02 DB 00H,00H,00H,02H ; bit 1
154: 00B4 00 00 00 04 DB 00H,00H,00H,04H ; bit 2
155: 00B8 00 00 00 08 DB 00H,00H,00H,08H ; bit 3
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 4
Line I Addr Code Source
156: 00BC 00 00 00 16 DB 00H,00H,00H,16H ; bit 4
157: 00C0 00 00 00 32 DB 00H,00H,00H,32H ; bit 5
158: 00C4 00 00 00 64 DB 00H,00H,00H,64H ; bit 6
159: 00C8 00 00 01 28 DB 00H,00H,01H,28H ; bit 7
160: 00CC 00 00 02 56 DB 00H,00H,02H,56H ; bit 8
161: 00D0 00 00 05 12 DB 00H,00H,05H,12H ; bit 9
162: 00D4 00 00 10 24 DB 00H,00H,10H,24H ; bit 10
163: 00D8 00 00 20 48 DB 00H,00H,20H,48H ; bit 11
164: 00DC 00 00 40 96 DB 00H,00H,40H,96H ; bit 12
165: 00E0 00 00 81 92 DB 00H,00H,81H,92H ; bit 13
166: 00E4 00 01 63 84 DB 00H,01H,63H,84H ; bit 14
167: 00E8 00 03 27 68 DB 00H,03H,27H,68H ; bit 15
168: 00EC 00 06 55 36 DB 00H,06H,55H,36H ; bit 16
169: 00F0 00 13 10 72 DB 00H,13H,10H,72H ; bit 17
170: 00F4 00 26 21 44 DB 00H,26H,21H,44H ; bit 18
171: 00F8 00 52 42 88 DB 00H,52H,42H,88H ; bit 19
172: 00FC 01 04 85 76 DB 01H,04H,85H,76H ; bit 20
173: 0100 02 09 71 52 DB 02H,09H,71H,52H ; bit 21
174: 0104 04 19 43 04 DB 04H,19H,43H,04H ; bit 22
175: 0108 08 38 86 08 DB 08H,38H,86H,08H ; bit 23
176:
177: 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
ADDITION CODE 006C 96
B DATA F0
BBBB CODE 006A 94
BIN6BCD CODE 0021 42
BINBCDTAB CODE 00AC 151
CY BIT D7
D1 NUMBER 000B 15
D2 NUMBER 000C 16
D3 NUMBER 000D 17
D4 NUMBER 000E 18
DOWN CODE 0038 56
DOWNH2 CODE 004F 73
DOWNH3 CODE 0066 89
DPH DATA 83
DPL DATA 82
EA BIT AF
ES BIT AC
ET0 BIT A9
ET1 BIT AB
EX0 BIT A8
EX1 BIT AA
EXTI0 CODE 0003
EXTI1 CODE 0013
F0 BIT D5
H1 NUMBER 0008 11
H2 NUMBER 0009 12
H3 NUMBER 000A 13
HETE CODE 00AA 148
HOLD NUMBER 0014 26
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
MULAI CODE 003C 60
OV BIT D2
P BIT D0
P0 DATA 80
P1 DATA 90
P2 DATA A0
P3 DATA B0
PCON DATA 87
POINTER NUMBER 0013 25
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 6
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
PS BIT BC
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
RI BIT 98
RS0 BIT D3
RS1 BIT D4
RXD BIT B0
SBUF DATA 99
SCON DATA 98
SINT CODE 0023
SM0 BIT 9F
SM1 BIT 9E
SM2 BIT 9D
SP DATA 81
T0 BIT B4
T1 BIT B5
TB8 BIT 9B
TCON DATA 88
TERUS CODE 0053 77
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
TMP1 NUMBER 000F 20
TMP2 NUMBER 0010 21
TMP3 NUMBER 0011 22
TMP4 NUMBER 0012 23
TR0 BIT 8C
TR1 BIT 8E
TXD BIT B1
WR BIT B6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -