📄 bin.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\BIN2ASC\BIN.asm
Object File: E:\MiCrOConTroller\Coba_M-IDE\BIN2ASC\BIN.hex
List File: E:\MiCrOConTroller\Coba_M-IDE\BIN2ASC\BIN.lst
Line I Addr Code Source
1: ;
2: ; +-------------------------------------------------------------------------+
3: ; | Purpose: Routine to convert a 16bit binary number in ASCII
4: ; | |
5: ; | INPUT : R2 (Lsb) and R3 (Msb) ( binary) |
6: ; | |
7: ; | OUPUT : 30h,31h,32h,33h,34h (internal RAM address) (ASCII) |
8: ; | msb--^ ^------lsb |
9: ; | |
10: ; | Destroy all registers |
11: ; | |
12: ; | PROGRAMMER: Bruno Marcio Diogo Venancio ( bruno.marcio@bol.com.br ) |
13: ; | BRAZIL 07/19/2002 |
14: ; | THIS CODE CAN BE FREELY DISTRIBUTED WITH CHANGES |
15: ; +-------------------------------------------------------------------------+
16: ;
17: ; Contoh:
18: ;
19: ; START:
20: ; MOV R2,#low(1234)
21: ; MOV R3,#high(1234)
22: ; LCALL BINTOASC
23: ;
24: ; in 30h until 34h of internal RAM will be :'0','1',' 2',','3','4' ( ASCII)
25:
26:
27: 0000 BINTOASC:
28:
29: 0000 78 30 MOV R0,#30h ; R0 = POUT
30: 0002 90 00 2D MOV DPTR,#TAB ; R=TAB(P)
31:
32: 0005 COM1:
33:
34: 0005 E4 CLR A ; P <- 0
35: 0006 93 MOVC A,@A+DPTR ; R <- TAB(P)
36: 0007 FF MOV R7,A
37: 0008 A3 INC DPTR
38: 0009 E4 CLR A
39: 000A 93 MOVC A,@A+DPTR
40: 000B FE MOV R6,A
41:
42: 000C 7C 30 MOV R4,#'0' ; C <- '0'
43:
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 2
Line I Addr Code Source
44:
45: 000E SOMA: ; N <- N-R
46: 000E C3 CLR C ;
47: 000F EA MOV A,R2 ;
48: 0010 9E SUBB A,R6 ;
49: 0011 FA MOV R2,A ;
50:
51: 0012 EB MOV A,R3 ;
52: 0013 9F SUBB A,R7 ;
53: 0014 FB MOV R3,A ;
54: 0015 40 03 JC SAIDA ; If < 0 goto SAIDA
55: 0017 0C INC R4 ; If >0 then C <- C +1
56: 0018 80 F4 SJMP SOMA ; goto SOMA
57: 001A SAIDA:
58: 001A EC MOV A,R4
59: 001B F6 MOV @R0,A ;TABOUT (POUT) <- C
60:
61: 001C EA MOV A,R2
62: 001D 2E ADD A,R6 ; N=N+R
63: 001E FA MOV R2,A
64:
65: 001F EB MOV A,R3
66: 0020 3F ADDC A,R7
67: 0021 FB MOV R3,A
68:
69: 0022 08 INC R0 ; PSAIDA=PSAIDA +1
70:
71: 0023 E4 CLR A
72: 0024 93 MOVC A,@A+DPTR
73: 0025 B4 01 01 CJNE A,#1,INCREMENTA ; TAB(P) = 1 ?
74: 0028 22 RET ; If yes, END
75:
76: 0029 INCREMENTA: ; If No, P <- P+1
77: 0029 A3 INC DPTR
78: 002A 02 00 05 LJMP COM1 ; goto COM1
79:
80:
81: 002D TAB:
82: 002D 27 10 Dw 10000
83: 002F 03 E8 Dw 1000
84: 0031 00 64 Dw 100
85: 0033 00 0A Dw 10
86: 0035 00 01 Dw 1
87:
88: END
register banks used: ---
no errors
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 3
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
BINTOASC CODE 0000 27
COM1 CODE 0005 32
CY BIT D7
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
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INCREMENTA CODE 0029 76
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
OV BIT D2
P BIT D0
P0 DATA 80
P1 DATA 90
P2 DATA A0
P3 DATA B0
PCON DATA 87
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
SAIDA CODE 001A 57
ASEM-51 V1.3 Copyright (c) 2002 by W.W. Heinz PAGE 4
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
SBUF DATA 99
SCON DATA 98
SINT CODE 0023
SM0 BIT 9F
SM1 BIT 9E
SM2 BIT 9D
SOMA CODE 000E 45
SP DATA 81
T0 BIT B4
T1 BIT B5
TAB CODE 002D 81
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
WR BIT B6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -