I don't know 6800 assembly, but when disassembled code seems illogical, check you are not decoding data. Back then data and code were often mixed in the same memory, no separation.
Second, could be a timing loop, where the programmer counted the instructions and their execution time. It was a known technique to insert some useless instruction only to match the desired machine cycles you wanted the delay to be.
Third, encrypted firmware and/or hardware protection against copying was not yet a thing, but reverse engineering was a thing. Therefore, once in a while you may see intentionally irrational code, meant to make it harder to understand so to obfuscate the algorithm intended to protect.