diff options
Diffstat (limited to 'demo/ledmatrix.rst')
-rw-r--r-- | demo/ledmatrix.rst | 494 |
1 files changed, 0 insertions, 494 deletions
diff --git a/demo/ledmatrix.rst b/demo/ledmatrix.rst deleted file mode 100644 index 9a26795..0000000 --- a/demo/ledmatrix.rst +++ /dev/null @@ -1,494 +0,0 @@ - 1 ;-------------------------------------------------------- - 2 ; File Created by SDCC : free open source ANSI-C Compiler - 3 ; Version 2.9.0 #5416 (Oct 6 2009) (UNIX) - 4 ; This file was generated Mon Oct 19 23:11:07 2009 - 5 ;-------------------------------------------------------- - 6 .module ledmatrix - 7 .optsdcc -mmcs51 --model-small - 8 - 9 ;-------------------------------------------------------- - 10 ; Public variables in this module - 11 ;-------------------------------------------------------- - 12 .globl _main - 13 .globl _CY - 14 .globl _AC - 15 .globl _F0 - 16 .globl _RS1 - 17 .globl _RS0 - 18 .globl _OV - 19 .globl _FL - 20 .globl _P - 21 .globl _PS - 22 .globl _PT1 - 23 .globl _PX1 - 24 .globl _PT0 - 25 .globl _PX0 - 26 .globl _RD - 27 .globl _WR - 28 .globl _T1 - 29 .globl _T0 - 30 .globl _INT1 - 31 .globl _INT0 - 32 .globl _TXD - 33 .globl _RXD - 34 .globl _P3_7 - 35 .globl _P3_6 - 36 .globl _P3_5 - 37 .globl _P3_4 - 38 .globl _P3_3 - 39 .globl _P3_2 - 40 .globl _P3_1 - 41 .globl _P3_0 - 42 .globl _EA - 43 .globl _ES - 44 .globl _ET1 - 45 .globl _EX1 - 46 .globl _ET0 - 47 .globl _EX0 - 48 .globl _P2_7 - 49 .globl _P2_6 - 50 .globl _P2_5 - 51 .globl _P2_4 - 52 .globl _P2_3 - 53 .globl _P2_2 - 54 .globl _P2_1 - 55 .globl _P2_0 - 56 .globl _SM0 - 57 .globl _SM1 - 58 .globl _SM2 - 59 .globl _REN - 60 .globl _TB8 - 61 .globl _RB8 - 62 .globl _TI - 63 .globl _RI - 64 .globl _P1_7 - 65 .globl _P1_6 - 66 .globl _P1_5 - 67 .globl _P1_4 - 68 .globl _P1_3 - 69 .globl _P1_2 - 70 .globl _P1_1 - 71 .globl _P1_0 - 72 .globl _TF1 - 73 .globl _TR1 - 74 .globl _TF0 - 75 .globl _TR0 - 76 .globl _IE1 - 77 .globl _IT1 - 78 .globl _IE0 - 79 .globl _IT0 - 80 .globl _P0_7 - 81 .globl _P0_6 - 82 .globl _P0_5 - 83 .globl _P0_4 - 84 .globl _P0_3 - 85 .globl _P0_2 - 86 .globl _P0_1 - 87 .globl _P0_0 - 88 .globl _B - 89 .globl _A - 90 .globl _ACC - 91 .globl _PSW - 92 .globl _IP - 93 .globl _P3 - 94 .globl _IE - 95 .globl _P2 - 96 .globl _SBUF - 97 .globl _SCON - 98 .globl _P1 - 99 .globl _TH1 - 100 .globl _TH0 - 101 .globl _TL1 - 102 .globl _TL0 - 103 .globl _TMOD - 104 .globl _TCON - 105 .globl _PCON - 106 .globl _DPH - 107 .globl _DPL - 108 .globl _SP - 109 .globl _P0 - 110 ;-------------------------------------------------------- - 111 ; special function registers - 112 ;-------------------------------------------------------- - 113 .area RSEG (DATA) - 0080 114 G$P0$0$0 == 0x0080 - 0080 115 _P0 = 0x0080 - 0081 116 G$SP$0$0 == 0x0081 - 0081 117 _SP = 0x0081 - 0082 118 G$DPL$0$0 == 0x0082 - 0082 119 _DPL = 0x0082 - 0083 120 G$DPH$0$0 == 0x0083 - 0083 121 _DPH = 0x0083 - 0087 122 G$PCON$0$0 == 0x0087 - 0087 123 _PCON = 0x0087 - 0088 124 G$TCON$0$0 == 0x0088 - 0088 125 _TCON = 0x0088 - 0089 126 G$TMOD$0$0 == 0x0089 - 0089 127 _TMOD = 0x0089 - 008A 128 G$TL0$0$0 == 0x008a - 008A 129 _TL0 = 0x008a - 008B 130 G$TL1$0$0 == 0x008b - 008B 131 _TL1 = 0x008b - 008C 132 G$TH0$0$0 == 0x008c - 008C 133 _TH0 = 0x008c - 008D 134 G$TH1$0$0 == 0x008d - 008D 135 _TH1 = 0x008d - 0090 136 G$P1$0$0 == 0x0090 - 0090 137 _P1 = 0x0090 - 0098 138 G$SCON$0$0 == 0x0098 - 0098 139 _SCON = 0x0098 - 0099 140 G$SBUF$0$0 == 0x0099 - 0099 141 _SBUF = 0x0099 - 00A0 142 G$P2$0$0 == 0x00a0 - 00A0 143 _P2 = 0x00a0 - 00A8 144 G$IE$0$0 == 0x00a8 - 00A8 145 _IE = 0x00a8 - 00B0 146 G$P3$0$0 == 0x00b0 - 00B0 147 _P3 = 0x00b0 - 00B8 148 G$IP$0$0 == 0x00b8 - 00B8 149 _IP = 0x00b8 - 00D0 150 G$PSW$0$0 == 0x00d0 - 00D0 151 _PSW = 0x00d0 - 00E0 152 G$ACC$0$0 == 0x00e0 - 00E0 153 _ACC = 0x00e0 - 00E0 154 G$A$0$0 == 0x00e0 - 00E0 155 _A = 0x00e0 - 00F0 156 G$B$0$0 == 0x00f0 - 00F0 157 _B = 0x00f0 - 158 ;-------------------------------------------------------- - 159 ; special function bits - 160 ;-------------------------------------------------------- - 161 .area RSEG (DATA) - 0080 162 G$P0_0$0$0 == 0x0080 - 0080 163 _P0_0 = 0x0080 - 0081 164 G$P0_1$0$0 == 0x0081 - 0081 165 _P0_1 = 0x0081 - 0082 166 G$P0_2$0$0 == 0x0082 - 0082 167 _P0_2 = 0x0082 - 0083 168 G$P0_3$0$0 == 0x0083 - 0083 169 _P0_3 = 0x0083 - 0084 170 G$P0_4$0$0 == 0x0084 - 0084 171 _P0_4 = 0x0084 - 0085 172 G$P0_5$0$0 == 0x0085 - 0085 173 _P0_5 = 0x0085 - 0086 174 G$P0_6$0$0 == 0x0086 - 0086 175 _P0_6 = 0x0086 - 0087 176 G$P0_7$0$0 == 0x0087 - 0087 177 _P0_7 = 0x0087 - 0088 178 G$IT0$0$0 == 0x0088 - 0088 179 _IT0 = 0x0088 - 0089 180 G$IE0$0$0 == 0x0089 - 0089 181 _IE0 = 0x0089 - 008A 182 G$IT1$0$0 == 0x008a - 008A 183 _IT1 = 0x008a - 008B 184 G$IE1$0$0 == 0x008b - 008B 185 _IE1 = 0x008b - 008C 186 G$TR0$0$0 == 0x008c - 008C 187 _TR0 = 0x008c - 008D 188 G$TF0$0$0 == 0x008d - 008D 189 _TF0 = 0x008d - 008E 190 G$TR1$0$0 == 0x008e - 008E 191 _TR1 = 0x008e - 008F 192 G$TF1$0$0 == 0x008f - 008F 193 _TF1 = 0x008f - 0090 194 G$P1_0$0$0 == 0x0090 - 0090 195 _P1_0 = 0x0090 - 0091 196 G$P1_1$0$0 == 0x0091 - 0091 197 _P1_1 = 0x0091 - 0092 198 G$P1_2$0$0 == 0x0092 - 0092 199 _P1_2 = 0x0092 - 0093 200 G$P1_3$0$0 == 0x0093 - 0093 201 _P1_3 = 0x0093 - 0094 202 G$P1_4$0$0 == 0x0094 - 0094 203 _P1_4 = 0x0094 - 0095 204 G$P1_5$0$0 == 0x0095 - 0095 205 _P1_5 = 0x0095 - 0096 206 G$P1_6$0$0 == 0x0096 - 0096 207 _P1_6 = 0x0096 - 0097 208 G$P1_7$0$0 == 0x0097 - 0097 209 _P1_7 = 0x0097 - 0098 210 G$RI$0$0 == 0x0098 - 0098 211 _RI = 0x0098 - 0099 212 G$TI$0$0 == 0x0099 - 0099 213 _TI = 0x0099 - 009A 214 G$RB8$0$0 == 0x009a - 009A 215 _RB8 = 0x009a - 009B 216 G$TB8$0$0 == 0x009b - 009B 217 _TB8 = 0x009b - 009C 218 G$REN$0$0 == 0x009c - 009C 219 _REN = 0x009c - 009D 220 G$SM2$0$0 == 0x009d - 009D 221 _SM2 = 0x009d - 009E 222 G$SM1$0$0 == 0x009e - 009E 223 _SM1 = 0x009e - 009F 224 G$SM0$0$0 == 0x009f - 009F 225 _SM0 = 0x009f - 00A0 226 G$P2_0$0$0 == 0x00a0 - 00A0 227 _P2_0 = 0x00a0 - 00A1 228 G$P2_1$0$0 == 0x00a1 - 00A1 229 _P2_1 = 0x00a1 - 00A2 230 G$P2_2$0$0 == 0x00a2 - 00A2 231 _P2_2 = 0x00a2 - 00A3 232 G$P2_3$0$0 == 0x00a3 - 00A3 233 _P2_3 = 0x00a3 - 00A4 234 G$P2_4$0$0 == 0x00a4 - 00A4 235 _P2_4 = 0x00a4 - 00A5 236 G$P2_5$0$0 == 0x00a5 - 00A5 237 _P2_5 = 0x00a5 - 00A6 238 G$P2_6$0$0 == 0x00a6 - 00A6 239 _P2_6 = 0x00a6 - 00A7 240 G$P2_7$0$0 == 0x00a7 - 00A7 241 _P2_7 = 0x00a7 - 00A8 242 G$EX0$0$0 == 0x00a8 - 00A8 243 _EX0 = 0x00a8 - 00A9 244 G$ET0$0$0 == 0x00a9 - 00A9 245 _ET0 = 0x00a9 - 00AA 246 G$EX1$0$0 == 0x00aa - 00AA 247 _EX1 = 0x00aa - 00AB 248 G$ET1$0$0 == 0x00ab - 00AB 249 _ET1 = 0x00ab - 00AC 250 G$ES$0$0 == 0x00ac - 00AC 251 _ES = 0x00ac - 00AF 252 G$EA$0$0 == 0x00af - 00AF 253 _EA = 0x00af - 00B0 254 G$P3_0$0$0 == 0x00b0 - 00B0 255 _P3_0 = 0x00b0 - 00B1 256 G$P3_1$0$0 == 0x00b1 - 00B1 257 _P3_1 = 0x00b1 - 00B2 258 G$P3_2$0$0 == 0x00b2 - 00B2 259 _P3_2 = 0x00b2 - 00B3 260 G$P3_3$0$0 == 0x00b3 - 00B3 261 _P3_3 = 0x00b3 - 00B4 262 G$P3_4$0$0 == 0x00b4 - 00B4 263 _P3_4 = 0x00b4 - 00B5 264 G$P3_5$0$0 == 0x00b5 - 00B5 265 _P3_5 = 0x00b5 - 00B6 266 G$P3_6$0$0 == 0x00b6 - 00B6 267 _P3_6 = 0x00b6 - 00B7 268 G$P3_7$0$0 == 0x00b7 - 00B7 269 _P3_7 = 0x00b7 - 00B0 270 G$RXD$0$0 == 0x00b0 - 00B0 271 _RXD = 0x00b0 - 00B1 272 G$TXD$0$0 == 0x00b1 - 00B1 273 _TXD = 0x00b1 - 00B2 274 G$INT0$0$0 == 0x00b2 - 00B2 275 _INT0 = 0x00b2 - 00B3 276 G$INT1$0$0 == 0x00b3 - 00B3 277 _INT1 = 0x00b3 - 00B4 278 G$T0$0$0 == 0x00b4 - 00B4 279 _T0 = 0x00b4 - 00B5 280 G$T1$0$0 == 0x00b5 - 00B5 281 _T1 = 0x00b5 - 00B6 282 G$WR$0$0 == 0x00b6 - 00B6 283 _WR = 0x00b6 - 00B7 284 G$RD$0$0 == 0x00b7 - 00B7 285 _RD = 0x00b7 - 00B8 286 G$PX0$0$0 == 0x00b8 - 00B8 287 _PX0 = 0x00b8 - 00B9 288 G$PT0$0$0 == 0x00b9 - 00B9 289 _PT0 = 0x00b9 - 00BA 290 G$PX1$0$0 == 0x00ba - 00BA 291 _PX1 = 0x00ba - 00BB 292 G$PT1$0$0 == 0x00bb - 00BB 293 _PT1 = 0x00bb - 00BC 294 G$PS$0$0 == 0x00bc - 00BC 295 _PS = 0x00bc - 00D0 296 G$P$0$0 == 0x00d0 - 00D0 297 _P = 0x00d0 - 00D1 298 G$FL$0$0 == 0x00d1 - 00D1 299 _FL = 0x00d1 - 00D2 300 G$OV$0$0 == 0x00d2 - 00D2 301 _OV = 0x00d2 - 00D3 302 G$RS0$0$0 == 0x00d3 - 00D3 303 _RS0 = 0x00d3 - 00D4 304 G$RS1$0$0 == 0x00d4 - 00D4 305 _RS1 = 0x00d4 - 00D5 306 G$F0$0$0 == 0x00d5 - 00D5 307 _F0 = 0x00d5 - 00D6 308 G$AC$0$0 == 0x00d6 - 00D6 309 _AC = 0x00d6 - 00D7 310 G$CY$0$0 == 0x00d7 - 00D7 311 _CY = 0x00d7 - 312 ;-------------------------------------------------------- - 313 ; overlayable register banks - 314 ;-------------------------------------------------------- - 315 .area REG_BANK_0 (REL,OVR,DATA) - 0000 316 .ds 8 - 317 ;-------------------------------------------------------- - 318 ; internal ram data - 319 ;-------------------------------------------------------- - 320 .area DSEG (DATA) - 321 ;-------------------------------------------------------- - 322 ; overlayable items in internal ram - 323 ;-------------------------------------------------------- - 324 .area OSEG (OVR,DATA) - 325 ;-------------------------------------------------------- - 326 ; Stack segment in internal ram - 327 ;-------------------------------------------------------- - 328 .area SSEG (DATA) - 0008 329 __start__stack: - 0008 330 .ds 1 - 331 - 332 ;-------------------------------------------------------- - 333 ; indirectly addressable internal ram data - 334 ;-------------------------------------------------------- - 335 .area ISEG (DATA) - 336 ;-------------------------------------------------------- - 337 ; absolute internal ram data - 338 ;-------------------------------------------------------- - 339 .area IABS (ABS,DATA) - 340 .area IABS (ABS,DATA) - 341 ;-------------------------------------------------------- - 342 ; bit data - 343 ;-------------------------------------------------------- - 344 .area BSEG (BIT) - 345 ;-------------------------------------------------------- - 346 ; paged external ram data - 347 ;-------------------------------------------------------- - 348 .area PSEG (PAG,XDATA) - 349 ;-------------------------------------------------------- - 350 ; external ram data - 351 ;-------------------------------------------------------- - 352 .area XSEG (XDATA) - 353 ;-------------------------------------------------------- - 354 ; absolute external ram data - 355 ;-------------------------------------------------------- - 356 .area XABS (ABS,XDATA) - 357 ;-------------------------------------------------------- - 358 ; external initialized ram data - 359 ;-------------------------------------------------------- - 360 .area XISEG (XDATA) - 361 .area HOME (CODE) - 362 .area GSINIT0 (CODE) - 363 .area GSINIT1 (CODE) - 364 .area GSINIT2 (CODE) - 365 .area GSINIT3 (CODE) - 366 .area GSINIT4 (CODE) - 367 .area GSINIT5 (CODE) - 368 .area GSINIT (CODE) - 369 .area GSFINAL (CODE) - 370 .area CSEG (CODE) - 371 ;-------------------------------------------------------- - 372 ; interrupt vector - 373 ;-------------------------------------------------------- - 374 .area HOME (CODE) - 0000 375 __interrupt_vect: - 0000 02 00 08 376 ljmp __sdcc_gsinit_startup - 377 ;-------------------------------------------------------- - 378 ; global & static initialisations - 379 ;-------------------------------------------------------- - 380 .area HOME (CODE) - 381 .area GSINIT (CODE) - 382 .area GSFINAL (CODE) - 383 .area GSINIT (CODE) - 384 .globl __sdcc_gsinit_startup - 385 .globl __sdcc_program_startup - 386 .globl __start__stack - 387 .globl __mcs51_genXINIT - 388 .globl __mcs51_genXRAMCLEAR - 389 .globl __mcs51_genRAMCLEAR - 390 .area GSFINAL (CODE) - 0061 02 00 03 391 ljmp __sdcc_program_startup - 392 ;-------------------------------------------------------- - 393 ; Home - 394 ;-------------------------------------------------------- - 395 .area HOME (CODE) - 396 .area HOME (CODE) - 0003 397 __sdcc_program_startup: - 0003 12 00 64 398 lcall _main - 399 ; return from main will lock up - 0006 80 FE 400 sjmp . - 401 ;-------------------------------------------------------- - 402 ; code - 403 ;-------------------------------------------------------- - 404 .area CSEG (CODE) - 405 ;------------------------------------------------------------ - 406 ;Allocation info for local variables in function 'main' - 407 ;------------------------------------------------------------ - 408 ;i Allocated to registers r2 r3 - 409 ;------------------------------------------------------------ - 0000 410 G$main$0$0 ==. - 0000 411 C$ledmatrix.c$27$0$0 ==. - 412 ; ledmatrix.c:27: int main() - 413 ; ----------------------------------------- - 414 ; function main - 415 ; ----------------------------------------- - 0064 416 _main: - 0002 417 ar2 = 0x02 - 0003 418 ar3 = 0x03 - 0004 419 ar4 = 0x04 - 0005 420 ar5 = 0x05 - 0006 421 ar6 = 0x06 - 0007 422 ar7 = 0x07 - 0000 423 ar0 = 0x00 - 0001 424 ar1 = 0x01 - 0000 425 C$ledmatrix.c$30$1$1 ==. - 426 ; ledmatrix.c:30: while(1) { - 0064 427 00102$: - 0000 428 C$ledmatrix.c$31$2$2 ==. - 429 ; ledmatrix.c:31: for(i=0; i<8; i++) { - 0064 7A 00 430 mov r2,#0x00 - 0066 7B 00 431 mov r3,#0x00 - 0068 432 00104$: - 0068 C3 433 clr c - 0069 EA 434 mov a,r2 - 006A 94 08 435 subb a,#0x08 - 006C EB 436 mov a,r3 - 006D 64 80 437 xrl a,#0x80 - 006F 94 80 438 subb a,#0x80 - 0071 50 F1 439 jnc 00102$ - 000F 440 C$ledmatrix.c$32$3$3 ==. - 441 ; ledmatrix.c:32: P1 = 0xff; - 0073 75 90 FF 442 mov _P1,#0xFF - 0012 443 C$ledmatrix.c$33$3$3 ==. - 444 ; ledmatrix.c:33: P0 = image[i]; - 0076 EA 445 mov a,r2 - 0077 24 A7 446 add a,#_image - 0079 F5 82 447 mov dpl,a - 007B EB 448 mov a,r3 - 007C 34 00 449 addc a,#(_image >> 8) - 007E F5 83 450 mov dph,a - 0080 E4 451 clr a - 0081 93 452 movc a,@a+dptr - 0082 F5 80 453 mov _P0,a - 0020 454 C$ledmatrix.c$34$3$3 ==. - 455 ; ledmatrix.c:34: P1 = (1 << i) ^ 255; - 0084 8A F0 456 mov b,r2 - 0086 05 F0 457 inc b - 0088 7C 01 458 mov r4,#0x01 - 008A 7D 00 459 mov r5,#0x00 - 008C 80 06 460 sjmp 00115$ - 008E 461 00114$: - 008E EC 462 mov a,r4 - 008F 2C 463 add a,r4 - 0090 FC 464 mov r4,a - 0091 ED 465 mov a,r5 - 0092 33 466 rlc a - 0093 FD 467 mov r5,a - 0094 468 00115$: - 0094 D5 F0 F7 469 djnz b,00114$ - 0097 74 FF 470 mov a,#0xFF - 0099 6C 471 xrl a,r4 - 009A F5 90 472 mov _P1,a - 0038 473 C$ledmatrix.c$31$2$2 ==. - 474 ; ledmatrix.c:31: for(i=0; i<8; i++) { - 009C 0A 475 inc r2 - 009D BA 00 C8 476 cjne r2,#0x00,00104$ - 00A0 0B 477 inc r3 - 003D 478 C$ledmatrix.c$37$1$1 ==. - 003D 479 XG$main$0$0 ==. - 00A1 80 C5 480 sjmp 00104$ - 481 .area CSEG (CODE) - 482 .area CONST (CODE) - 0000 483 Fledmatrix$image$0$0 == . - 00A7 484 _image: - 00A7 B1 485 .db #0xB1 - 00A8 9D 486 .db #0x9D - 00A9 BD 487 .db #0xBD - 00AA B1 488 .db #0xB1 - 00AB B7 489 .db #0xB7 - 00AC B7 490 .db #0xB7 - 00AD 11 491 .db #0x11 - 00AE FF 492 .db #0xFF - 493 .area XINIT (CODE) - 494 .area CABS (ABS,CODE) |