( tovis | 2020. 11. 15., v – 16:29 )

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$: