home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG029.ARK / DOWHILES.LIB < prev    next >
Text File  |  1984-04-29  |  780b  |  41 lines

  1. ;    MACRO LIBRARY FOR "DOWHILE" CONSTRUCT
  2. ;
  3. GENDTST    MACRO    TST,X,Y,NUM
  4. ;;    GENERATE A "DOWHILE" TEST
  5.     TST    X,Y,,ENDD&NUM
  6.     ENDM
  7. ;
  8. GENDLAB    MACRO    LAB,NUM
  9. ;;    PRODUCE THE LABEL LAB & NUM
  10. ;;    FOR DOWHILE ENTRY OR EXIT
  11. LAB&NUM:
  12.     ENDM
  13. ;
  14. GENDJMP    MACRO    NUM
  15. ;;    GENERATE JUMP TO DOWHILE TEST
  16.     JMP    DTEST&NUM
  17.     ENDM
  18. ;
  19. DOWHILE    MACRO    XV,REL,YV
  20. ;;    INITIALIZE COUNTER
  21. DOCNT    SET    0    ;NUMBER OF DOWHILES
  22. ;;
  23. DOWHILE    MACRO    X,R,Y
  24. ;;    GENERATE THE DOWHILE ENTRY
  25.     GENDLAB    DTEST,%DOCNT
  26. ;;    GENERATE THE CONDITIONAL TEST
  27.     GENDTST    R,X,Y,%DOCNT
  28.     SYMPSH    DOCNT    ;;NEXT ENDDO TO GENERATE (STACKED)
  29. DOCNT    SET    DOCNT+1
  30.     ENDM
  31.     DOWHILE    XV,REL,YV
  32.     ENDM
  33. ;
  34. ENDDO    MACRO
  35. ;;    GENERATE THE JUMP TO THE TEST
  36.     SYMPOP    DOLEV
  37.     GENDJMP    %DOLEV
  38. ;;    GENERATE THE END OF A DOWHILE
  39.     GENDLAB    ENDD,%DOLEV
  40.     ENDM
  41.