antoine-source/appleworksgs/Macros/m16.branch

1 line
3.1 KiB
Plaintext
Raw Normal View History

2023-03-04 02:45:20 +00:00
;..............................................................................; ; ; Bgt & Ble - Branch greater than and branch less than equal ; ; Bgt adrs - Branch if Z flag clear and Carry set ; Ble adrs - Branch if Z flag set or Carry clear ; ;..............................................................................; MACRO bgt &adr beq *+4 bge &adr MEND MACRO ble &adr blt &adr beq &adr MEND ;..............................................................................; ; ; Jcc adrs - Jump (long branch) on condition code macros ; ; Jmi adrs - Branch if N flag set ; Jpl adrs - Branch if N flag clear ; Jeq adrs - Branch if Z flag set ; Jne adrs - Branch if Z flag clear ; Jcs adrs - Branch if carry set ; Jcc adrs - Branch if carry clear ; Jlt adrs - Branch if less than (carry clear) ; Jge adrs - Branch if greater than or equal (carry set) ; Jle adrs - Branch if less than or equal ; Jgt adrs - Branch if greater than ;..............................................................................; MACRO jmi &adr bpl *+5 brl &adr mexit MEND MACRO jpl &adr bmi *+5 brl &adr mexit MEND MACRO jeq &adr bne *+5 brl &adr mexit MEND MACRO jne &adr beq *+5 brl &adr mexit MEND MACRO jcs &adr bcc *+5 brl &adr mexit MEND MACRO jcc &adr bcs *+5 brl &adr mexit MEND MACRO jlt &adr bcs *+5 brl &adr mexit MEND MACRO jge &adr bcc *+5 brl &adr mexit MEND MACRO jle &adr beq ~bra&sysindex bge ~nobra&sysindex ~bra&sysindex brl &adr ~nobra&sysindex mexit MEND MACRO jgt &adr blt ~nobra&sysindex beq ~nobra&sysindex brl &adr ~nobra&sysindex mexit MEND ;..............................................................................; ; ; JTS tableadrs,index - Jump Subroutine Table Short ; BTS tableadrs,index - Jump Table Short ; ; Thess macros implement a short jump to subroutine using the value of the ; accumulator or index to index into the table for the subroutines address. ; ;..............................................................................; MACRO JTS &table,&index IF &nbr(&syslist) <20> 2 THEN lda &index ENDIF asl a tax jsr (&table,x) MEND MACRO BTS &table,&index IF &nbr(&syslist) <20> 2 THEN lda &index ENDIF asl a tax jmp (&table,x) MEND ;..............................................................................; ; ; JTL tableadrs - Jump Subroutine Table Long ; ; This macros implements a long jump to subroutine using the value of the ; accumulator to index into the given table for the subroutines address. ; ;..............................................................................; MACRO JTL &table,&index IF &nbr(&syslist) <20> 2 THEN lda &index ENDIF asl a asl a tax lda &table+1,x sta ~b&sysindex+2 lda &table,x sta ~b&sysindex+1 ~b&sysindex jsl * mexit MEND ******************************************************************** * * AWGS WP module requires a case sensitive jsl to call the * SpellChecker. * * * * Thursday, May 4, 1989 11:16:10 AM ******************************************************************** MACRO &lab Case_Jsl &to &lab Case Object jsl &to Case Off mend