home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpmug / cpmug035.ark / XTRA.ASM < prev   
Assembly Source File  |  1984-04-29  |  1KB  |  47 lines

  1. * THESE ROUTINES USE INPARM AND OUTPARM TO INTERFACE THE
  2. * SYSTEM UTILITY ROUTINES (PUT, GET, OBJR, OBJW) TO THE 
  3. * VERSION II BEAST INTERPRETER (EXEC)
  4. *
  5. INPARM    EQU    5030H
  6. OUTPARM    EQU    5033H
  7. *
  8.     ORG    2B80H
  9. PUT    EQU    5000H
  10. XPUT:    CALL    INPARM    ;GET X-COORDINATE INTO B
  11.     MOV    B,E
  12.     CALL    INPARM    ;GET Y-COORDINATE INTO C
  13.     MOV    C,E
  14.     CALL    INPARM    ;GET COLOR BYTE INTO D
  15.     MOV    D,E
  16.     JMP    PUT    ;AND "PUT" IT AT (X,Y)
  17. *
  18. GET    EQU    5003H
  19. XGET:    CALL    INPARM    ;GET X-COORD INTO B
  20.     MOV    B,E
  21.     CALL    INPARM    ;GET  Y-COORD INTO C
  22.     MOV    C,E
  23.     CALL    GET    ;"GET" COLOR BYTE INTO E
  24.     MOV    E,D
  25.     MVI    D,0    ;AND ZERO OUT HI-BYTE FOR PARM PASSING
  26.     JMP    OUTPARM    ;AND RETURN THE COLOR VALUE
  27. *
  28. OBJR    EQU    5006H
  29. XOBJR:    CALL    INPARM    ;GET OBJECT NUMBER INTO A  FOR NOW
  30.     MOV    A,E
  31.     CALL    INPARM    ;GET BYTE NUMBER INTO  E 
  32.     MOV    D,A    ;PUT OBJECT NUMBER IN D WHERE IT BELONGS
  33.     CALL    OBJR    ;GET VALUE OF SPECIFIED OBJECT-BYTE
  34.     MOV    E,A    ;INTO E AND ZERO OUT D FOR PARM PASSING
  35.     MVI    D,0
  36.     JMP    OUTPARM    ;RETURN THE VALUE OF THE SPECIFIED BYTE
  37. *
  38. OBJW    EQU    5009H
  39. XOBJW:    CALL    INPARM    ;GET OBJECT # INTO H
  40.     MOV    H,E
  41.     CALL    INPARM    ;GET BYTE # INTO L
  42.     MOV    L,E
  43.     CALL    INPARM    ;GET DESIRED VALUE INTO A
  44.     MOV    A,E
  45.     XCHG        ;GET OBJECT & BYTE INTO D  & E WHERE THEY BELONG
  46.     JMP    OBJW    ;AND PUT DESIRED VALUE  INTO DESIRED OBJECT-BYTE
  47.