Lookup-Tabellen (LUT) bieten einen Geschwindigkeitsvorteil, wenn aufwendige Berechnungen zur Laufzeit, durch bereits kalkulierte Wertereihen ersetzt werden können. Wenn also alle möglichen Ergebnisse im Vorhinein bekannt sind, können diese zu einerTabelle zusammengefasst werden. Eine variable Größe dient dabei als Indizierungshilfe. Mithilfe des Index kann der entsprechende Eintrag aus derTabelle geladen werden.
Lookup-Tabellen sind also endliche und geordnete Datenreihen und unterscheiden sich grundsätzlich nicht von anderen Data-Zeilen die in den Programmspeicher gebracht werden.
Eine Lookup-Tabelle weiß also nicht, dass sie eine ist. Es gelten damit dieselben Regeln wie unter Data beschrieben.
Bei der Erstellung einer LUT sind folgende Punkte zu beachten.
'Int(sin(alpha * Pi / 180) * 127 + 127)
Sine_table:
Data 127 , 129 , 131 , 134 , 136 , 138 , 140 , 142
Data 145 , 147 , 149 , 151 , 153 , 156 , 158 , 160
Data 162 , 164 , 166 , 168 , 170 , 172 , 175 , 177
Data 179 , 181 , 183 , 185 , 187 , 189 , 190 , 192
Data 194 , 196 , 198 , 200 , 202 , 203 , 205 , 207
Data 209 , 210 , 212 , 214 , 215 , 217 , 218 , 220
Data 221 , 223 , 224 , 226 , 227 , 228 , 230 , 231
Data 232 , 233 , 235 , 236 , 237 , 238 , 239 , 240
Data 241 , 242 , 243 , 244 , 245 , 246 , 246 , 247
Data 248 , 248 , 249 , 250 , 250 , 251 , 251 , 252
Data 252 , 252 , 253 , 253 , 253 , 254 , 254 , 254
Data 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254
Data 253 , 253 , 253 , 252 , 252 , 252 , 251 , 251
Data 250 , 250 , 249 , 248 , 248 , 247 , 246 , 246
Data 245 , 244 , 243 , 242 , 241 , 240 , 239 , 238
Data 237 , 236 , 235 , 234 , 232 , 231 , 230 , 229
Data 227 , 226 , 224 , 223 , 221 , 220 , 218 , 217
Data 215 , 214 , 212 , 210 , 209 , 207 , 205 , 204
Data 202 , 200 , 198 , 196 , 194 , 193 , 191 , 189
Data 187 , 185 , 183 , 181 , 179 , 177 , 175 , 173
Data 171 , 169 , 166 , 164 , 162 , 160 , 158 , 156
Data 154 , 151 , 149 , 147 , 145 , 143 , 140 , 138
Data 136 , 134 , 132 , 129
'....
'....
Data 92 , 94 , 96 , 98 , 100 , 102 , 105 , 107
Data 109 , 111 , 113 , 116 , 118 , 120 , 122 , 124
Sine_table_end:
Lookup-Tabellen sind also endliche und geordnete Datenreihen und unterscheiden sich grundsätzlich nicht von anderen Data-Zeilen die in den Programmspeicher gebracht werden.
Eine Lookup-Tabelle weiß also nicht, dass sie eine ist. Es gelten damit dieselben Regeln wie unter Data beschrieben.
Bei der Erstellung einer LUT sind folgende Punkte zu beachten.
- Eine LUT ist mit einer Programmarke zu versehen.
- Alle Daten sind vom selben Typ.
- Der erste Eintrag, bzw. das erste Element hat den Index 0.
- Der Index ist fortlaufend. Jedes Element bildet mit seinem Index ein Schlüssel-Wertepaar.
- Die Daten liegen im FlashROM und sind damit zur Laufzeit unveränderlich.
- Die Anzahl möglicher Daten ist nur die Größe des FlashRom begrenzt.
'Int(sin(alpha * Pi / 180) * 127 + 127)
Sine_table:
Data 127 , 129 , 131 , 134 , 136 , 138 , 140 , 142
Data 145 , 147 , 149 , 151 , 153 , 156 , 158 , 160
Data 162 , 164 , 166 , 168 , 170 , 172 , 175 , 177
Data 179 , 181 , 183 , 185 , 187 , 189 , 190 , 192
Data 194 , 196 , 198 , 200 , 202 , 203 , 205 , 207
Data 209 , 210 , 212 , 214 , 215 , 217 , 218 , 220
Data 221 , 223 , 224 , 226 , 227 , 228 , 230 , 231
Data 232 , 233 , 235 , 236 , 237 , 238 , 239 , 240
Data 241 , 242 , 243 , 244 , 245 , 246 , 246 , 247
Data 248 , 248 , 249 , 250 , 250 , 251 , 251 , 252
Data 252 , 252 , 253 , 253 , 253 , 254 , 254 , 254
Data 254 , 254 , 254 , 254 , 254 , 254 , 254 , 254
Data 253 , 253 , 253 , 252 , 252 , 252 , 251 , 251
Data 250 , 250 , 249 , 248 , 248 , 247 , 246 , 246
Data 245 , 244 , 243 , 242 , 241 , 240 , 239 , 238
Data 237 , 236 , 235 , 234 , 232 , 231 , 230 , 229
Data 227 , 226 , 224 , 223 , 221 , 220 , 218 , 217
Data 215 , 214 , 212 , 210 , 209 , 207 , 205 , 204
Data 202 , 200 , 198 , 196 , 194 , 193 , 191 , 189
Data 187 , 185 , 183 , 181 , 179 , 177 , 175 , 173
Data 171 , 169 , 166 , 164 , 162 , 160 , 158 , 156
Data 154 , 151 , 149 , 147 , 145 , 143 , 140 , 138
Data 136 , 134 , 132 , 129
'....
'....
Data 92 , 94 , 96 , 98 , 100 , 102 , 105 , 107
Data 109 , 111 , 113 , 116 , 118 , 120 , 122 , 124
Sine_table_end:
4.736 mal gelesen