PUB main

        cognew( @entryPoint, 0 )

DAT

        ORG   0

entryPoint

' Test cases for SUBS

''      abs   left,#1   wz,wc                   ' Clears Z and C
  
''      left  = 1
''      right = 1
''      subs  left,right     wz,wc              ' Case 1: left = 0  Z = 1  C = 0
''      abs   left,#1   wz,wc                   ' Clears Z and C

''      left  = 1
''      right = 2
''      subs  left,right     wz,wc              ' Case 2: left = -1 Z = 0  C = 0

''      left  = conFFF {-1}
''      right = conFFF {-1}
''      subs  left,right     wz,wc              ' Case 3: left = 0  Z = 1  C = 0
''      abs   left,#1   wz,wc                   ' Clears Z and C

''      left  = conFFF {-1}
''      right = conFFE {-2}
''      subs  left,right     wz,wc              ' Case 4: left = 1  Z = 0  C = 0

''      left  = con801
''      right = 1
''      subs  left,right     wz,wc              ' Case 5: left = con800  Z = 0  C = 0

''      left  = con801
''      right = 2
''      subs  left,right     wz,wc              '  Case 6: left = con7FF  Z = 0  C = 1
''      abs   left,#1   wz,wc                   ' Clears Z and C

''      left  = con7FE
''      right = conFFF {-1}
''      subs  left,right     wz,wc              ' Case 7: left = con7FF  Z = 0  C = 0

''      left  = con7FE
''      right = conFFE {-2}
''      subs  left,right     wz,wc              ' Case 8: left = con800  Z = 0  C = 1

''      cogid   me
''      cogstop me

con7FF  long  $7FFFFFFF ' Largest positive number
con7FE  long  $7FFFFFFE ' Next largest positive number
con800  long  $80000000 ' Largest negative number
con801  long  $80000001 ' Next largest negative number
conFFF  long  $FFFFFFFF ' -1
conFFE  long  $FFFFFFFE ' -2

''  finishCodeSection

        fit   496





 