math1200.asm
1 | ; reassembly of "math1200.hex"
| 2 | ; created by ReAVR 2.4
| 3 | ; at 2005/05/18 - 16:36:49
| 4 | ; for Atmel AVR assembler
| 5 | ;---------------------------------------
| 6 | .cseg
| 7 | .org 0x0000
| 8 | ;---------------------------------------
| 9 | ; byte constants:
| 10 | ;
| 11 | .equ k00 = 0x00 ;
| 12 | .equ k01 = 0x01 ;
| 13 | .equ k02 = 0x02 ;
| 14 | .equ k03 = 0x03 ;
| 15 | .equ k04 = 0x04 ;
| 16 | .equ k05 = 0x05 ;
| 17 | .equ k06 = 0x06 ;
| 18 | .equ k08 = 0x08 ;
| 19 | .equ k0A = 0x0A ;
| 20 | .equ k0F = 0x0F ;
| 21 | .equ k10 = 0x10 ;
| 22 | .equ k13 = 0x13 ;
| 23 | .equ k14 = 0x14 ;
| 24 | .equ k19 = 0x19 ;
| 25 | .equ k1D = 0x1D ;
| 26 | .equ k28 = 0x28 ; '('
| 27 | .equ k2B = 0x2B ; '+'
| 28 | .equ k3B = 0x3B ; ';'
| 29 | .equ k3C = 0x3C ; '<'
| 30 | .equ k40 = 0x40 ; '@'
| 31 | .equ k50 = 0x50 ; 'P'
| 32 | .equ k53 = 0x53 ; 'S'
| 33 | .equ k64 = 0x64 ; 'd'
| 34 | .equ k7F = 0x7F ; ''
| 35 | .equ k80 = 0x80 ;
| 36 | .equ k9C = 0x9C ;
| 37 | .equ kC8 = 0xC8 ; 'È'
| 38 | .equ kE3 = 0xE3 ; 'ã'
| 39 | .equ kF9 = 0xF9 ; 'ù'
| 40 | .equ kFB = 0xFB ; 'û'
| 41 | ;
| 42 | ; io register addresses:
| 43 | ;
| 44 | .equ p08 = 0x08
| 45 | .equ p10 = 0x10
| 46 | .equ p11 = 0x11
| 47 | .equ p12 = 0x12
| 48 | .equ p16 = 0x16
| 49 | .equ p17 = 0x17
| 50 | .equ p18 = 0x18
| 51 | .equ p21 = 0x21
| 52 | .equ p33 = 0x33
| 53 | .equ p35 = 0x35
| 54 | .equ p39 = 0x39
| 55 | .equ p3B = 0x3B
| 56 | .equ p3F = 0x3F
| 57 | ;
| 58 | ; pointer offsets:
| 59 | ;
| 60 | .equ o00 = 0x00
| 61 | ;
| 62 | ; bit numbers
| 63 | ;
| 64 | .equ b0 = 0x00
| 65 | .equ b1 = 0x01
| 66 | .equ b2 = 0x02
| 67 | .equ b3 = 0x03
| 68 | .equ b4 = 0x04
| 69 | .equ b5 = 0x05
| 70 | .equ b6 = 0x06
| 71 | .equ b7 = 0x07
| 72 | ;---------------------------------------
| 73 | ;
| 74 | L0000:
| 75 | rjmp _reset ; L0004
| 76 | rjmp L00D1
| 77 | rjmp L0171
| 78 | rjmp L0171
| 79 | ;
| 80 | _reset:
| 81 | ; L0004:
| 82 | ldi r28,k0F
| 83 | out p21,r28
| 84 | ldi r28,k00
| 85 | out p11,r28
| 86 | out p12,r28
| 87 | ldi r28,k3B
| 88 | out p17,r28
| 89 | ldi r28,k03
| 90 | out p18,r28
| 91 | clr r19
| 92 | L000E:
| 93 | sbic p10,b3
| 94 | rjmp L0017
| 95 | inc r19
| 96 | cpi r19,k64
| 97 | breq L0015
| 98 | rcall L0161
| 99 | rjmp L000E
| 100 | L0015:
| 101 | clr r29
| 102 | ori r29,k40
| 103 | L0017:
| 104 | clr r28
| 105 | out p3B,r28
| 106 | ldi r28,k02
| 107 | out p35,r28
| 108 | ldi r28,k40
| 109 | out p3B,r28
| 110 | clr r28
| 111 | out p39,r28
| 112 | out p08,r28
| 113 | ldi r28,k80
| 114 | out p08,r28
| 115 | sei
| 116 | ldi r28,k04
| 117 | out p33,r28
| 118 | L0025:
| 119 | wdr
| 120 | sbrc r29,b1
| 121 | rjmp L0051
| 122 | sbic p10,b6
| 123 | rjmp L0025
| 124 | L002A:
| 125 | clr r19
| 126 | in r24,p16
| 127 | ldi r23,k10
| 128 | eor r24,r23
| 129 | out p18,r24
| 130 | ldi r24,k06
| 131 | L0030:
| 132 | rcall L0169
| 133 | wdr
| 134 | sbic p10,b3
| 135 | inc r19
| 136 | sbic p10,b6
| 137 | rjmp L003B
| 138 | dec r24
| 139 | brne L0030
| 140 | cpi r19,k05
| 141 | brge L0051
| 142 | clr r19
| 143 | L003B:
| 144 | sbis p10,b6
| 145 | rjmp L002A
| 146 | inc r19
| 147 | cpi r19,k03
| 148 | breq L0042
| 149 | rcall L0161
| 150 | rjmp L003B
| 151 | L0042:
| 152 | sbi p18,b3
| 153 | ldi r24,k0A
| 154 | L0044:
| 155 | wdr
| 156 | rcall L0169
| 157 | dec r24
| 158 | brne L0044
| 159 | cbi p18,b3
| 160 | ori r29,k02
| 161 | sbi p18,b4
| 162 | ldi r24,k50
| 163 | L004C:
| 164 | wdr
| 165 | rcall L0169
| 166 | wdr
| 167 | dec r24
| 168 | brne L004C
| 169 | L0051:
| 170 | wdr
| 171 | L0052:
| 172 | sbrc r29,b4
| 173 | rjmp L00BC
| 174 | L0054:
| 175 | sbi p18,b1
| 176 | sbrs r29,b2
| 177 | sbi p18,b4
| 178 | L0057:
| 179 | wdr
| 180 | clr r19
| 181 | L0059:
| 182 | sbic p10,b3
| 183 | rjmp L0064
| 184 | inc r19
| 185 | cpi r19,k2B
| 186 | brlt L0061
| 187 | clr r29
| 188 | ori r29,k40
| 189 | rjmp L002A
| 190 | L0061:
| 191 | rcall L0169
| 192 | wdr
| 193 | rjmp L0059
| 194 | L0064:
| 195 | cpi r19,k02
| 196 | brge L009A
| 197 | clr r19
| 198 | L0067:
| 199 | sbic p10,b5
| 200 | rjmp L007B
| 201 | inc r19
| 202 | cpi r19,k03
| 203 | breq L006E
| 204 | rcall L0161
| 205 | rjmp L0067
| 206 | L006E:
| 207 | sbi p17,b2
| 208 | rcall L0169
| 209 | cbi p18,b2
| 210 | rcall L0169
| 211 | cbi p17,b2
| 212 | andi r29,kFB
| 213 | sbi p18,b4
| 214 | cbi p18,b5
| 215 | ldi r24,k14
| 216 | L0077:
| 217 | rcall L0169
| 218 | dec r24
| 219 | brne L0077
| 220 | rjmp L0051
| 221 | L007B:
| 222 | clr r19
| 223 | L007C:
| 224 | sbis p10,b6
| 225 | rjmp L0090
| 226 | inc r19
| 227 | cpi r19,k03
| 228 | breq L0083
| 229 | rcall L0161
| 230 | rjmp L007C
| 231 | L0083:
| 232 | sbi p18,b3
| 233 | L0084:
| 234 | sbis p10,b6
| 235 | rjmp L008A
| 236 | inc r19
| 237 | rcall L0169
| 238 | wdr
| 239 | rjmp L0084
| 240 | L008A:
| 241 | cbi p18,b3
| 242 | cpi r19,k53
| 243 | brlt L0090
| 244 | clr r29
| 245 | ori r29,k40
| 246 | rjmp _reset ; L0004
| 247 | L0090:
| 248 | sbrc r29,b2
| 249 | rjmp L00B1
| 250 | clr r19
| 251 | L0093:
| 252 | sbic p10,b3
| 253 | rjmp L0051
| 254 | inc r19
| 255 | cpi r19,k03
| 256 | breq L009A
| 257 | rcall L0161
| 258 | rjmp L0093
| 259 | L009A:
| 260 | sbrs r29,b4
| 261 | rjmp L00AC
| 262 | L009C:
| 263 | andi r29,k7F
| 264 | sbi p18,b5
| 265 | ori r29,k08
| 266 | cbi p18,b0
| 267 | ldi r24,k14
| 268 | L00A1:
| 269 | dec r24
| 270 | brne L00A1
| 271 | sbi p18,b0
| 272 | ldi r24,k14
| 273 | L00A5:
| 274 | rcall L0169
| 275 | wdr
| 276 | dec r24
| 277 | brne L00A5
| 278 | cbi p18,b5
| 279 | rcall L0169
| 280 | rjmp L00BC
| 281 | L00AC:
| 282 | ori r29,k04
| 283 | cbi p18,b0
| 284 | rcall L0161
| 285 | sbi p18,b0
| 286 | rcall L0169
| 287 | L00B1:
| 288 | in r24,p16
| 289 | ldi r23,k10
| 290 | eor r24,r23
| 291 | out p18,r24
| 292 | ldi r24,k13
| 293 | L00B6:
| 294 | rcall L0169
| 295 | dec r24
| 296 | brne L00B6
| 297 | sbrs r29,b2
| 298 | rjmp L0025
| 299 | rjmp L0054
| 300 | L00BC:
| 301 | wdr
| 302 | sbrc r29,b7
| 303 | rjmp L009C
| 304 | sbrc r29,b3
| 305 | rjmp L00C5
| 306 | sbi p18,b1
| 307 | sbrs r29,b2
| 308 | sbi p18,b4
| 309 | rjmp L0057
| 310 | L00C5:
| 311 | in r24,p16
| 312 | ldi r23,k10
| 313 | eor r24,r23
| 314 | out p18,r24
| 315 | cbi p18,b1
| 316 | ldi r24,k3C
| 317 | L00CB:
| 318 | wdr
| 319 | rcall L0169
| 320 | wdr
| 321 | dec r24
| 322 | brne L00CB
| 323 | rjmp L0052
| 324 | L00D1:
| 325 | in r15,p3F
| 326 | ori r29,k01
| 327 | L00D3:
| 328 | clr r18
| 329 | ldi r17,k01
| 330 | L00D5:
| 331 | sbic p10,b4
| 332 | rjmp L00D5
| 333 | rjmp L00DF
| 334 | L00D8:
| 335 | sbic p10,b4
| 336 | rjmp L00D8
| 337 | mov r26,r17
| 338 | andi r26,k7F
| 339 | cpi r26,k19
| 340 | in r26,p3F
| 341 | bst r26,b1
| 342 | L00DF:
| 343 | sec
| 344 | L00E0:
| 345 | sbis p10,b4
| 346 | rjmp L00E0
| 347 | sbis p10,b2
| 348 | clc
| 349 | rol r17
| 350 | brcc L00D8
| 351 | L00E6:
| 352 | sbic p10,b4
| 353 | rjmp L00E6
| 354 | brts L00EA
| 355 | rjmp L0143
| 356 | L00EA:
| 357 | sbi p11,b2
| 358 | L00EB:
| 359 | sbis p10,b4
| 360 | rjmp L00EB
| 361 | lsr r17
| 362 | brcc L0113
| 363 | L00EF:
| 364 | mov r16,r14
| 365 | sec
| 366 | rol r16
| 367 | L00F2:
| 368 | sbic p10,b4
| 369 | rjmp L00F2
| 370 | brcc L00F7
| 371 | cbi p11,b2
| 372 | rjmp L00F8
| 373 | L00F7:
| 374 | sbi p11,b2
| 375 | L00F8:
| 376 | lsl r16
| 377 | L00F9:
| 378 | sbis p10,b4
| 379 | rjmp L00F9
| 380 | L00FB:
| 381 | sbic p10,b4
| 382 | rjmp L00FB
| 383 | brcc L0102
| 384 | cbi p11,b2
| 385 | lsl r16
| 386 | brne L00F9
| 387 | rjmp L0105
| 388 | L0102:
| 389 | sbi p11,b2
| 390 | lsl r16
| 391 | brne L00F9
| 392 | L0105:
| 393 | sbis p10,b4
| 394 | rjmp L0105
| 395 | L0107:
| 396 | sbic p10,b4
| 397 | rjmp L0107
| 398 | cbi p11,b2
| 399 | L010A:
| 400 | sbis p10,b4
| 401 | rjmp L010A
| 402 | sec
| 403 | sbis p10,b2
| 404 | clc
| 405 | brcc L00EF
| 406 | L0110:
| 407 | sbic p10,b4
| 408 | rjmp L0110
| 409 | rjmp L0147
| 410 | L0113:
| 411 | sbic p10,b4
| 412 | rjmp L0113
| 413 | cbi p11,b2
| 414 | L0116:
| 415 | sbis p10,b4
| 416 | rjmp L0116
| 417 | in r26,p10
| 418 | andi r26,k14
| 419 | L011A:
| 420 | in r25,p10
| 421 | andi r25,k14
| 422 | cp r25,r26
| 423 | breq L011A
| 424 | sbrs r25,b4
| 425 | rjmp L0123
| 426 | sbrs r25,b2
| 427 | rjmp L00D3
| 428 | rjmp L0153
| 429 | L0123:
| 430 | ldi r16,k02
| 431 | sbrc r26,b2
| 432 | ldi r16,k03
| 433 | L0126:
| 434 | sbic p10,b4
| 435 | rjmp L0126
| 436 | sec
| 437 | L0129:
| 438 | sbis p10,b4
| 439 | rjmp L0129
| 440 | sbis p10,b2
| 441 | clc
| 442 | rol r16
| 443 | brcc L0126
| 444 | L012F:
| 445 | sbic p10,b4
| 446 | rjmp L012F
| 447 | sbi p11,b2
| 448 | inc r18
| 449 | L0133:
| 450 | sbis p10,b4
| 451 | rjmp L0133
| 452 | cpi r18,k01
| 453 | breq L013F
| 454 | cpi r30,k1D
| 455 | brne L013D
| 456 | andi r29,kE3
| 457 | andi r16,k9C
| 458 | or r29,r16
| 459 | rjmp L0113
| 460 | L013D:
| 461 | std Z+o00,r16
| 462 | rjmp L0113
| 463 | L013F:
| 464 | mov r30,r16
| 465 | ldd r14,Z+o00
| 466 | rjmp L0113
| 467 | in r15,p3F
| 468 | L0143:
| 469 | sbis p10,b4
| 470 | rjmp L0143
| 471 | L0145:
| 472 | sbic p10,b4
| 473 | rjmp L0145
| 474 | L0147:
| 475 | sbis p10,b4
| 476 | rjmp L0147
| 477 | in r26,p10
| 478 | andi r26,k14
| 479 | L014B:
| 480 | in r25,p10
| 481 | andi r25,k14
| 482 | cp r25,r26
| 483 | breq L014B
| 484 | sbrs r25,b4
| 485 | rjmp L0159
| 486 | sbrs r25,b2
| 487 | rjmp L00D3
| 488 | L0153:
| 489 | ldi r26,k00
| 490 | out p35,r26
| 491 | ldi r26,k02
| 492 | out p35,r26
| 493 | out p3F,r15
| 494 | reti
| 495 | ; pc=0x159(0x2B2)
| 496 | ;
| 497 | L0159:
| 498 | ldi r26,kF9
| 499 | L015A:
| 500 | sbis p10,b4
| 501 | rjmp L015A
| 502 | L015C:
| 503 | sbic p10,b4
| 504 | rjmp L015C
| 505 | inc r26
| 506 | brne L015A
| 507 | rjmp L0143
| 508 | L0161:
| 509 | ldi r28,k28
| 510 | clr r27
| 511 | L0163:
| 512 | dec r27
| 513 | nop
| 514 | brne L0163
| 515 | dec r28
| 516 | brne L0163
| 517 | ret
| 518 | ; pc=0x169(0x2D2)
| 519 | ;
| 520 | L0169:
| 521 | ldi r28,kC8
| 522 | clr r27
| 523 | L016B:
| 524 | dec r27
| 525 | nop
| 526 | brne L016B
| 527 | dec r28
| 528 | brne L016B
| 529 | ret
| 530 | ; pc=0x171(0x2E2)
| 531 | ;
| 532 | L0171:
| 533 | reti
| 534 | ; pc=0x172(0x2E4)
| 535 | ;
| 536 | ;
| 537 | ; last flash byte address = 0x03FF
| 538 | ; last flash word address = 0x01FF
| 539 | ;---------------------------------------
| 540 | ; Code seems not to use any RAM,
| 541 | ; guess it's for an AVR tiny.
| 542 | ;---------------------------------------
| 543 | ;<eof>
|
|