### Site Tools

base:16-bit_comparison

# Differences

This shows you the differences between two versions of the page.

 base:16-bit_comparison [2020-10-24 00:06]verz base:16-bit_comparison [2020-10-27 00:34]tww_ctr Both sides previous revision Previous revision 2021-09-13 17:23 tww New version didn't pass all validation tests. Reverted to old version.2020-10-27 00:34 tww_ctr 2020-10-24 14:05 verz [TWW Method] 2020-10-24 12:55 verz [TWW Method] 2020-10-24 00:06 verz 2020-10-22 20:30 tww created Next revision Previous revision 2021-09-13 17:23 tww New version didn't pass all validation tests. Reverted to old version.2020-10-27 00:34 tww_ctr 2020-10-24 14:05 verz [TWW Method] 2020-10-24 12:55 verz [TWW Method] 2020-10-24 00:06 verz 2020-10-22 20:30 tww created Last revision Both sides next revision Line 4: Line 4: - TWW method: + 16 bit equivalent of the CMP OPC: /*! «»«»«»«»{CMP16}«»«»«»«» /*! «»«»«»«»{CMP16}«»«»«»«» - Does exactly the same as CMP of two values (effectively its a val1-val2) and sets the flags as follows: + Does exactly the same as CMP of two values (effectively its a A - M) and sets the flags as follows: - (BCC/BCS)      (BEQ/BNE)      (BMI/BPL) + If A = M : Carry =  SET   Zero =  SET   Negative = CLEAR - If val1 = val2 : Carry =  SET   Zero =  SET   Negative = CLEAR + If A > M : Carry =  SET   Zero = CLEAR  Negative = CLEAR - If val1 > val2 : Carry =  SET   Zero = CLEAR  Negative = CLEAR + If A < M : Carry = CLEAR  Zero = CLEAR  Negative =  SET - If val1 < val2 : Carry = CLEAR  Zero = CLEAR  Negative =  SET + */ */ - lda val1 + lda A+1 - sec + cmp M+1 - sbc val2 + bne !+ - php + lda A - lda val1+1 + cmp M - sbc val2+1 + !: - php + // Status register sorted, from here you can branch as you like as you would after a CMP opc. - pla + - sta temp + - pla + - and #%00000010 + - ora #%11111101 + - and temp + - pha + - plp + - + - + - Somewhere on ZP: + - temp: + - .byte \$00 + - +
base/16-bit_comparison.txt · Last modified: 2021-09-13 17:23 by tww