equal
deleted
inserted
replaced
85 ; Load char |
85 ; Load char |
86 lpm r8, Z |
86 lpm r8, Z |
87 |
87 |
88 ; Done |
88 ; Done |
89 ret |
89 ret |
90 |
90 |
|
91 ;; Display an 8-bit hexadecimal value on the display |
|
92 ;; Input: r16 |
|
93 LED7_ShowHex: |
|
94 ; base16 |
|
95 ldi r17, 16 |
|
96 |
|
97 ; 1's |
|
98 call div8u |
|
99 |
|
100 ; r16 = result, r15 = remainder |
|
101 mov r17, r15 |
|
102 |
|
103 ; Continue |
|
104 rjmp LED7_Show |
|
105 |
|
106 ;; Display an 8-bit decimal value on the display |
|
107 ;; Input: r16 |
|
108 LED7_ShowDec: |
|
109 ; base10 |
|
110 ldi r17, 10 |
|
111 |
|
112 ; 1's |
|
113 call div8u |
|
114 mov r8, r15 |
|
115 |
|
116 ; 10's |
|
117 call div8u |
|
118 mov r9, r16 ; 100's |
|
119 |
|
120 ; 1's from r8 |
|
121 rcall LED7_LoadChar |
|
122 mov r17, r8 |
|
123 |
|
124 ; 10's from r15 |
|
125 mov r8, r15 |
|
126 rcall LED7_LoadChar |
|
127 mov r16, r8 |
|
128 |
|
129 ; Set dots for 100's |
|
130 sbrc r9, 0 |
|
131 ori r17, 0b10000000 ; +100 |
|
132 sbrc r9, 1 |
|
133 ori r16, 0b10000000 ; +200 |
|
134 |
|
135 ; Continue |
|
136 rjmp LED7_ShowRaw |
|
137 |
91 ;; Display a single digit on the display |
138 ;; Display a single digit on the display |
92 ;; Input: r16, r17 |
139 ;; Input: r16, r17 |
93 LED7_Show: |
140 LED7_Show: |
94 mov r8, r16 |
141 mov r8, r16 |
95 rcall LED7_LoadChar |
142 rcall LED7_LoadChar |
96 mov r16, r8 |
143 mov r16, r8 |
97 |
144 |
98 mov r8, r16 |
145 mov r8, r17 |
99 rcall LED7_LoadChar |
146 rcall LED7_LoadChar |
100 mov r16, r8 |
147 mov r17, r8 |
101 |
148 |
102 ;; Continue |
149 ;; Continue |
103 |
150 |
104 ;; Display a raw segment mask |
151 ;; Display a raw segment mask |
105 ;; Input: r16, r17 |
152 ;; Input: r16, r17 |