Most akkor közzé teszem a saját hülyeségemet, nem tudok rájönni miért nem működik a kód. Annyi a feladat, hogy egy 16 bites számlálót ketyegtet majd ha nulla elvégez egy kis logikát és kész, első látásra olyan mintha 65535 -öt számolna mire eléri a nullát, holott mindig 255 -öt töltök be. Nem látom miért nem működik :(
000166 CEu00u0F [ 2] 320 ldw x, _tick_bli
000169 5A [ 2] 321 decw x
00016A 26 0B [ 1] 322 jrne 00004$
00016C C6u00u0E [ 1] 323 ld a, _shft_bli
00016F C8u00u0D [ 1] 324 xor a, _shft_msk
000172 C7u00u0D [ 1] 325 ld _shft_msk, a
000175 BE FF [ 2] 326 ldw x, 255
000177 327 00004$:
000177 CFu00u0F [ 2] 328 ldw _tick_bli, x
Ugyanez 8 bites számlálóval úgy működik ahogy kell. Itt direkt a 255 -öt használom, ez ugye a maximum 8 biten.
0001C8 72 5Au00u0F [ 1] 371 dec _tick_bli
0001CC 26 0E [ 1] 372 jrne 00004$
0001CE 55 00 FFu00u0F [ 1] 373 mov _tick_bli, 255
0001D3 C6u00u0E [ 1] 374 ld a, _shft_bli
0001D6 C8u00u0D [ 1] 375 xor a, _shft_msk
0001D9 C7u00u0D [ 1] 376 ld _shft_msk, a
0001DC 377 00004$: