( 4fonya | 2016. 08. 15., h – 14:05 )

A tárolóban van a javított kód. Mellesleg javasolom azt hogy ha a választott bank sorszámát szeretnéd kiíratni akkor ne így tedd:

messg "__ACTIVE_BANK_ADDR: #v(__ACTIVE_BANK_ADDR/100)"

Ez ugyanis nullát ad akkor ha a bank értéke -1 (__BANK_INV). (Ráadásul ha egy szám leírásakor nem adod meg a használt számrendszert akkor jól ki is tolhatsz magaddal: 100 --> 0x100) Ha viszont az erre is alkalmas __BANK_SHIFT állandót használod akkor a mínusz egyből nem lesz nulla, amivel aztán becsapod magadat.


messg "__ACTIVE_BANK_ADDR: #v(__ACTIVE_BANK_ADDR >> __BANK_SHIFT)"

Ezt ráadásul egyszerűsítheted is a következő módon. Valahol a kód elején felveszed a következő két definíciót:


#define ActiveBank	(__ACTIVE_BANK_ADDR >> __BANK_SHIFT)
#define AssumedBank	(__ASSUMED_BANK_ADDR >> __BANK_SHIFT)

Aztán használod őket:


	messg "__ASSUMED_BANK: #v(AssumedBank)"
	messg "__ACTIVE_BANK: #v(ActiveBank)"