i'm not really sure what exactly the code is doing but the highlighted sections are doing something with the label but ignoring the upper byte of its address. below 64k its not an issue i would not say its bug , more like its not designed to be relocated beyond the 64k boundary.
anyways its the only thing i see in the code thats likely to be an issue.
Code:
01EE52 0E04 M movlw low (low (HSEROUT2J))MPASM 5.61 MCKD.ASM 1-30-2021 23:44:34 PAGE 32
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01EE54 6E0A M movwf R8
M endif
M endif
M MOVE?CB high (HSEROUT2J), (R8) + 1
M CHK?RP (R8) + 1
M if ((((R8) + 1) & 8000h) != PREV_ALT)
M if (((R8) + 1) & 8000h)
M bsf WDTCON, ADSHR
M else
M bcf WDTCON, ADSHR
M endif
M PREV_ALT = ((R8) + 1) & 8000h
M endif
M if (((((R8) + 1) & 0fffh) > BANKA_END) & ((((R8) + 1) & 0fffh) < (0f01h + BANKA_END)))
M if ((((R8) + 1) & 0f00h) != (PREV_BANK << 8))
M movlb high ((R8) + 1)
M PREV_BANK = high ((R8) + 1)
M endif
M endif
M if (low (high (HSEROUT2J)) == 0)
M clrf (R8) + 1
M else
M if (low (high (HSEROUT2J)) == 255)
M setf (R8) + 1
M else
01EE56 0EEC M movlw low (high (HSEROUT2J))
01EE58 6E0B M movwf (R8) + 1
Bookmarks