📄 com.lis
字号:
*** H8/300H ASSEMBLER (Evaluation software) Ver.1.0 *** 12/26/02 17:14:07 PAGE 1
PROGRAM NAME =
1 1 ;H8/Tiny(3664)梡捠怣儌僕儏乕儖
2 2 .CPU 300HN ;Tiny H8偼僲乕儅儖儌乕僪偺傒摦嶌偡傞
3 3
4 4 ;-----僔儞儃儖偺愝掕-----
5 0000FFAD 5 RDR .EQU H'FFAD ;儗僔乕僽僨乕僞儗僕僗僞
6 0000FFAB 6 TDR .EQU H'FFAB ;僩儔儞僗儈僢僩僨乕僞儗僕僗僞
7 0000FFA8 7 SMR .EQU H'FFA8 ;僔儕傾儖儌乕僪儗僕僗僞
8 0000FFAA 8 SCR3 .EQU H'FFAA ;僔儕傾儖僐儞僩儘乕儖儗僕僗僞
9 9 RIE .BEQU 6,SCR3
10 10 TIE .BEQU 7,SCR3
11 0000FFE0 11 PMR1 .EQU H'FFE0 ;億乕僩儌乕僪儗僕僗僞侾
12 12 TXD .BEQU 1,PMR1
13 0000FFAC 13 SSR .EQU H'FFAC ;僔儕傾儖僗僥乕僞僗儗僕僗僞
14 14 TDRE .BEQU 7,SSR
15 15 RDRF .BEQU 6,SSR
16 16 TEND .BEQU 2,SSR
17 17 OER .BEQU 5,SSR
18 18 FER .BEQU 4,SSR
19 19 PER .BEQU 3,SSR
20 0000FFA9 20 BRR .EQU H'FFA9 ;價僢僩儗乕僩儗僕僗僞
21 21
22 0000 22 .SECTION BASM,CODE,ALIGN=2
23 00000020 23 RBUF_SZ .EQU 32 ;庴怣儕儞僌僶僢僼傽僒僀僘
24 00000040 24 SBUF_SZ .EQU 64 ;憲怣儕儞僌僶僢僼傽僒僀僘
25 0000 00000020 25 RBUF: .RES.B RBUF_SZ ;庴怣儕儞僌僶僢僼傽
26 0020 00000040 26 SBUF: .RES.B SBUF_SZ ;憲怣儕儞僌僶僢僼傽
27 0060 00000002 27 SWptr: .RES.W 1 ;憲怣彂崬傒億僀儞僞
28 0062 00000002 28 SRptr: .RES.W 1 ;憲怣撉崬傒億僀儞僞
29 0064 00000002 29 RWptr: .RES.W 1 ;庴怣彂崬傒億僀儞僞
30 0066 00000002 30 RRptr: .RES.W 1 ;庴怣撉崬傒億僀儞僞
31 31
32 0000 32 .SECTION PASM,CODE,ALIGN=2
33 33
34 34 ;-----SCI弶婜壔張棟-----
35 35 ;CALL宍幃: void SCI_Init( unsigned char BRRValue );
36 36 ;堷悢偼BRR儗僕僗僞偵戙擖偡傞抣
37 37 .EXPORT _SCI_Init
38 0000 38 _SCI_Init:
39 0000 38A9 39 MOV.B R0L,@BRR ;BRR偺愝掕
40 40 ;億僀儞僞偺弶婜壔
41 0002 7A0000000000 41 MOV.L #SBUF,ER0
42 0008 6B800000 42 MOV.W R0,@SWptr
43 000C 6B800000 43 MOV.W R0,@SRptr
44 0010 7A0000000000 44 MOV.L #RBUF,ER0
45 0016 6B800000 45 MOV.W R0,@RWptr
46 001A 6B800000 46 MOV.W R0,@RRptr
47 47 ;
48 001E 1588 48 XOR.B R0L,R0L
49 0020 38AA 49 MOV.B R0L,@SCR3 ;TE=0, RE=0, CKE1=0, CKE0=0
50 0022 38A8 50 MOV.B R0L,@SMR ;SMR= 0000 0000 (n=0)
51 51
52 52 ; MOV.B #25,R0L ;BRR偺愝掕
53 53 ; MOV.B R0L,@BRR ;BRR偺愝掕
54 54
55 55 ;
56 0024 79000118 56 MOV.W #280,R0 ;僟儈乕偺儖乕僾
57 0028 57 SCI_INIT_WAIT:
*** H8/300H ASSEMBLER (Evaluation software) Ver.1.0 *** 12/26/02 17:14:07 PAGE 2
PROGRAM NAME =
58 0028 1B50 58 DEC.W #1,R0
59 002A 46FC 59 BNE SCI_INIT_WAIT
60 002C F830 60 MOV.B #H'30,R0L
61 002E 38AA 61 MOV.B R0L,@SCR3 ;SCR3=0011 0000 (RIE=1,TE=1,RE=1)
62 0030 7FE07010 62 BSET TXD
63 0034 28AC 63 MOV.B @SSR,R0L ;Dummy Read
64 0036 F880 64 MOV.B #H'80,R0L
65 0038 38AC 65 MOV.B R0L,@SSR ;Clear Error Flag (TDRE=1)
66 003A 7FAA7060 66 BSET RIE ;庴怣妱崬傒偺嫋壜
67 003E 5470 67 RTS
68 68
69 69 ;-----妱傝崬傒張棟-----
70 70 .EXPORT _SCI_Int
71 0040 71 _SCI_Int:
72 0040 7EAC7360 72 BTST.B RDRF ;庴怣妱崬傒偺妋擣
73 0044 4702 73 BEQ SCI_Int_1
74 0046 5518 74 BSR RX_Int
75 0048 75 SCI_Int_1:
76 0048 7EAC7370 76 BTST.B TDRE ;憲怣妱崬傒偺妋擣
77 004C 4702 77 BEQ SCI_Int_2
78 004E 5542 78 BSR TX_Int
79 0050 79 SCI_Int_2:
80 0050 7EAC7350 80 BTST.B OER ;僄儔乕偺応崌偺張棟
81 0054 4708 81 BEQ SCI_Int_END
82 0056 20AD 82 MOV.B @RDR,R0H ;暥帤偺庢崬傒
83 0058 28AC 83 MOV.B @SSR,R0L
84 005A E8CF 84 AND.B #H'CF,R0L
85 005C 38AC 85 MOV.B R0L,@SSR ;Clear Error Flag (TDRE=1)
86 005E 86 SCI_Int_END:
87 005E 5470 87 RTS ;妱傝崬傒偐傜偺暅婣
88 88
89 89 ;-----庴怣妱崬傒張棟-----
90 0060 90 RX_Int:
91 0060 7FAA7260 91 BCLR RIE ;妱傝崬傒掆巭
92 0064 7FAC7260 92 BCLR RDRF ;RDRFbit偺僋儕傾
93 0068 20AD 93 MOV.B @RDR,R0H ;暥帤偺庢崬傒
94 94 ;庴怣僶僢僼傽偵嬻偒偑桳傞帠傪妋擣偟傕偟嬻偒偑柍偗傟偽廔椆偡傞丅
95 006A 6B010000 95 MOV.W @RWptr,R1 ;彂崬傒億僀儞僞偲
96 006E 0D18 96 MOV.W R1,E0 ;尰嵼偺彂崬傒億僀儞僞傪曐懚
97 0070 6B090000 97 MOV.W @RRptr,E1 ;撉崬傒億僀儞僞傪庢摼偟
98 0074 0B51 98 INC.W #1,R1 ;彂崬傒億僀儞僞傪僀儞僋儕儊儞僩偟偰
99 0076 79210000 99 CMP.W #(RBUF + RBUF_SZ),R1 ;儕儞僌僶僢僼傽偺嵟屻偵払偟偰偄傞偐傪敾抐
100 007A 4604 100 BNE RX_Int_1 ;払偟偰偄側偄帪偼RX_1偵僕儍儞僾
101 007C 79010000 101 MOV.W #RBUF,R1 ;払偟偰偄偨帪偼僶僢僼傽偺愭摢傾僪儗僗偵愝掕
102 0080 102 RX_Int_1:
103 0080 1D19 103 CMP.W R1,E1 ;偙偺擇偮傪斾妑
104 0082 4708 104 BEQ RX_Int_END ;撉崬傒億僀儞僞偵捛偄偮偄偨帪偼壗傕偣偢偵廔
105 0084 6B810000 105 MOV.W R1,@RWptr ;彂崬傒億僀儞僞傪曐懚
106 0088 0D81 106 MOV.W E0,R1 ;曐懚偟偰偍偄偨彂崬傒億僀儞僞偵僨乕僞傪曐懚
107 008A 6890 107 MOV.B R0H,@ER1 ;彂崬傒億僀儞僞偺帵偡傾僪儗僗偵庴怣僨乕僞傪奿擺
108 008C 108 RX_Int_END:
109 008C 7FAA7060 109 BSET RIE ;妱傝崬傒嵞奐
110 0090 5470 110 RTS ;廔椆
111 111
112 112 ;-----憲怣妱崬傒張棟-----
113 0092 113 TX_Int:
114 0092 7FAA7270 114 BCLR TIE ;妱傝崬傒掆巭
*** H8/300H ASSEMBLER (Evaluation software) Ver.1.0 *** 12/26/02 17:14:07 PAGE 3
PROGRAM NAME =
115 0096 6B090000 115 MOV.W @SWptr,E1 ;彂崬傒億僀儞僞偲
116 009A 6B010000 116 MOV.W @SRptr,R1 ;撉崬傒億僀儞僞傪庢摼偟
117 009E 1D91 117 CMP.W E1,R1 ;僨乕僞偑懚嵼偟偰偄傞偐傪妋擣偡傞
118 00A0 4722 118 BEQ TX_Int_END ;摨偠傾僪儗僗摨巑偺帪偼懚嵼偟偰偄側偄
119 00A2 6818 119 MOV.B @ER1,R0L ;憲怣僶僢僼傽偐傜1byte庢摼
120 00A4 0B51 120 INC.W #1,R1 ;撉崬傒億僀儞僞傪僀儞僋儕儊儞僩偡傞
121 00A6 79210000 121 CMP.W #(SBUF + SBUF_SZ),R1 ;儕儞僌僶僢僼傽偺嵟屻傪妋擣
122 00AA 4604 122 BNE TX_Int_2 ;嵟屻偵払偟偰偄側偗傟偽TX_Int_2偵僕儍儞僾
123 00AC 79010000 123 MOV.W #SBUF,R1 ;儕儞僌僶僢僼傽偺嵟弶偵栠偡
124 00B0 124 TX_Int_2:
125 00B0 6B810000 125 MOV.W R1,@SRptr ;撉崬傒億僀儞僞偺峏怴
126 00B4 38AB 126 MOV.B R0L,@TDR ;憲怣
127 00B6 127 TX_Int_3:
128 00B6 7EAC7320 128 BTST.B TEND ;憲怣姰椆傑偱懸偮
129 00BA 47FA 129 BEQ TX_Int_3
130 00BC 7FAC7220 130 BCLR TEND ;TENDbit偺僋儕傾
131 00C0 7FAA7070 131 BSET TIE ;憲怣妱崬傒傪嫋壜
132 00C4 132 TX_Int_END:
133 00C4 5470 133 RTS
134 134
135 135 ;-----堦暥帤憲怣張棟-----
136 136 ;CALL宍幃: int SCI_Putc( char c );
137 137 ;堷悢偼憲怣暥帤
138 138 ;傕偟憲怣僶僢僼傽偵嬻偒偑桳傟偽憲怣僶僢僼傽偵曐懚偟丄憲怣妱崬傒傪嫋壜偡傞
139 139 ;扐偟僶僢僼傽僼儖偺帪偼栠傝抣偵-1傪曉偟丄惓忢偵彂偒崬傔偨傜0傪曉偡丅
140 140 .EXPORT _SCI_Putc
141 00C6 141 _SCI_Putc:
142 00C6 01006DF1 142 PUSH.L ER1
143 00CA 7FAA7270 143 BCLR TIE ;憲怣妱崬傒傪嬛巭
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -