Advertisement
Guest User

Untitled

a guest
Jul 31st, 2018
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;    *******************************************
  2. ;    * SYSTEM MONITOR, VERSION I.1 REV A       *
  3. ;    * R=IRES SBC880 CPU BOARD               *
  4. ;    * SW1-1=OFF, 2=ON, 3=OFF, 4=ON, 5=ON      *
  5. ;    * SW2-1 THRU 6 = ON                       *
  6. ;    * SW3-1 THRU 5 = OFF, 6=ON                *
  7. ;    * WRITTEN BY R. D. CATILLER               *
  8. ;    * COPYRIGHT 1981 (C) COMPUTIME            *
  9. ;    *******************************************
  10. ;
  11. ;
  12. .PABS
  13. ;
  14. ;Memory Used by Monitor
  15. ;
  16. BASE    = 0F800H        ;MONITOR BASE ADDRESS
  17. STACK   = 00FFH         ;MONITOR STACK
  18. REGSTR  = 0010H         ;CPU REGISTER STORAGE
  19. OLDOP   = REGSTR+16
  20. BRKSTR  = REGSTR+17
  21. HLSTR   = REGSTR+19
  22. RST7    = 38H               ;RST7 (LOCATION FOR TRAP)
  23. ;
  24. ;Constants for Monitor
  25. ;
  26. CR      = 0DH               ;ASCII CARRIAGE RET
  27. LF      = 0AH               ;ASCII LINE FEED
  28. ;
  29. ;I/O Ports on CPU Board
  30. ;
  31. T0      = 28H
  32. T1      = 29H
  33. T2      = 2AH
  34. TCTL    = 2BH
  35. INOUT   = 2CH
  36. CONDTA  = 2EH
  37. CONCTL  = 2FH
  38. CONSTS  = CONCTL
  39. ;
  40. ;PROGRAM CODE BEGINS:
  41. ;
  42. .LOC    BASE
  43. ;
  44. ;LET US BEGIN
  45. ;
  46.         JMP BEGIN               ;RESET JUMP LATCH
  47. BEGIN:  MVI   A,0               ;CLEAR REGISTER STORE
  48.         LXI   H,REGSTR
  49.         MOV   M,A
  50.         LXI   D,REGSTR+1
  51.         LXI   B,18
  52.         LDIR
  53.         MVI   A,0C3H            ;SET BREAKPOINT TRAP
  54.         STA   RST7
  55.         LXI   H,BREAK
  56. ;************PAGE 2************
  57.         SHLD  RST7+1
  58.         SHLD  REGSTR+14         ;SET INITIAL PC
  59.         LXI   SP,STACK          ;SET UP STACK
  60.         SSPD  REGSTR+8
  61.         MVI   A,80H             ;SET UP PRINTER
  62.         OUT   INOUT
  63.         MVI   A,0FAH            ;SET USART MODE
  64.         OUT   CONCTL
  65.         MVI   A,36H             ;SET TIMER MODE
  66.         OUT   TCTL
  67.         MVI   A,13              ;SET BAUD RATE TO 9600
  68.         OUT   T0
  69.         XRA   A
  70.         OUT   T0
  71.         MVI   A,37H             ;ENABLE XMT & REC
  72.         OUT   CONCTL
  73. HELLO:  MVI   B,MSGL            ;SAY HELLO
  74.         CALL  MESG
  75. START:  LXI   SP,STACK          ;RESTORE STACK
  76.         CALL  CRLF
  77.         MVI   C,'/'
  78.         CALL  CO
  79.         CALL  MAININ            ;GET INPUT
  80.         CPI   'D'
  81.         JZ    DISP              ;D = DISPLAY MEMORY
  82.         CPI   'F'
  83.         JZ    FILL              ;F = FILL MEMORY
  84.         CPI   'G'
  85.         JZ    GOTO              ;G = GOTO USER PROGRAM
  86.         CPI   'H'
  87.         JZ    HEXN              ;H = HEX MATH
  88.         CPI   'I'          
  89.         JZ    INPUT             ;I = INPUT FROM PORT
  90.         CPI   'J'      
  91.         JZ    TEST              ;J = RAM TEST
  92.         CPI   'M'
  93.         JZ    MOVE              ;M = MEMORY MOVE
  94.         CPI   'O'
  95.         JZ    OUTPUT            ;O = OUTPUT TO PORT
  96.         CPI   'S'  
  97.         JZ    SUBS              ;S = SUBSTITUTE/EXAMINE
  98.         CPI   'V'
  99.         JZ    VERIFY            ;V = VERIFY MEMORY
  100.         CPI   'X'
  101.         JZ    XAM               ;X = EXAMINE REGISTERS
  102. ERROR:  LXI   SP,STACK          ;RESTORE STACK
  103.         MVI   C,'*'             ;DISPLAY ASTERISK
  104.         CALL  CO
  105.         JMP   START             ;GO GET INPUT
  106. ;
  107. ;MESSAGE OUTPUT ROUTINE
  108. ;
  109. MESG:   LXI   H,MSG
  110. MESG1:  MOV   C,M               ;GET A CHARACTER
  111.         INX   H                 ;MOVE POINTER
  112. ;************PAGE 3************
  113.         CALL  CO                ;OUTPUT IT
  114.         DJNZ  MESG1             ;KEEP GOING TILL B=0
  115.         RET
  116. ;
  117. ;CRLF BEFORE HLBLK ROUTINE
  118. ;
  119. CRLFHL: CALL  CRLF
  120. ;
  121. ;PRINT THE CURRENT VALUE OF H&L
  122. ;AND A SPACE
  123. ;
  124. HLBLK:  CALL  DISPHL
  125. ;
  126. ;PRINT A SPACE ON THE CONSOLE
  127. ;
  128. SPACE:  MVI   C,' '
  129. ;
  130. ;THIS IS THE MAIN CONSOLE
  131. ;OUTPUT ROUTINE
  132. ;
  133. CO:     IN    CONCTL
  134.         ANI   01H
  135.         JZ    CO
  136.         MOV   A,C
  137.         OUT   CONDTA
  138.         RET
  139. ;
  140. ;CONVERT HEX TO ASCII
  141. ;
  142. HTA:    ANI   0FH               ;LOW NIBBLE ONLY
  143.         ADI   90H
  144.         DAA
  145.         ACI   40H
  146.         DAA
  147.         MOV   C,A
  148.         RET
  149. ;
  150. ;CONSOLE CARRIAGE RETURN &
  151. ;LINE FEED ROUTINE
  152. ;
  153. CRLF:   PUSH  H                 ;SAVE HL
  154.         MVI   B,2               ;CRLF LENGTH
  155.         CALL  MESG              ;SEND CRLF
  156.         POP   H
  157.         RET
  158. ;
  159. ;CONSOLE STATUS TEST ROUTINE
  160. ;
  161. CSTS:   IN    CONCTL
  162.         ANI   02H
  163.         MVI   A,0FFH
  164.         RNZ
  165.         CMA
  166.         RET
  167. ;
  168. ;************PAGE 4************    
  169. ;PRINT H&L ON CONSOLE
  170. ;
  171. DISPHL: MOV   A,H
  172.         CALL  DISPB
  173.         MOV   A,L
  174. DISPB:  PUSH  PSW
  175.         RRC
  176.         RRC
  177.         RRC
  178.         RRC
  179.         CALL  HTA2
  180.         POP   PSW
  181. HTA2:   CALL  HTA
  182.         JMP   CO
  183. ;
  184. ;MAIN KEYBOARD ROUTINE
  185. ;
  186. MAININ: CALL  CI                ;GET INPUT
  187.         MOV   C,A               ;ECHO IT
  188.         JMP   CO
  189. ;
  190. ;MAIN PARAMETER GETTING ROUTINE
  191. ;
  192. GPARAM: LXI   H,0               ;CLEAR HL
  193. GPNEXT: CALL  MAININ            ;GET INPUT
  194. GP1:    MOV   B,A               ;SAVE IT
  195.         CPI   ' '               ;TEST FOR SPACE
  196.         RZ                      ;RETURN IF SPACE
  197.         CPI   ','               ;TEST FOR COMMA
  198.         RZ                      ;RETURN IF COMMA
  199.         CPI   CR                ;TEST FOR CR
  200.         RZ                      ;RETURN IF CR
  201.         SUI   '0'               ;TEST < 0
  202.         JC    ERROR             ;INPUT ERROR
  203.         CPI   'G'-'0'           ;TEST IF > F
  204.         JNC   ERROR             ;INPUT ERROR
  205.         CPI   10                ;TEST FOR NUMBER
  206.         JC    DONE              ;GO SAVE NUMBER
  207.         SUI   'A'-'9'-1         ;ADJUST LETTER
  208.         CPI   0AH               ;TEST FOR . THRU @
  209.         JC    ERROR             ;INPUT ERROR
  210. DONE:   DAD   H                 ;SHIFT HL 1 DIGIT
  211.         DAD   H
  212.         DAD   H
  213.         DAD   H
  214.         ORA   L                 ;OR L WITH DIGIT
  215.         MOV   L,A
  216.         JMP   GPNEXT            ;GET MORE INPUT
  217. ;
  218. ;GETS START & END ADDRESS AND DETERMINES LENGTH
  219. ;
  220. RANGE:  CALL  GPARAM            ;GET START ADDRESS
  221.         CPI   CR                ;TEST FOR CR
  222.         JZ    ERROR             ;INPUT ERROR
  223.         MOV   D,H               ;PUT HL IN DE
  224. ;************PAGE 5************        
  225.         MOV   E,L
  226.         CALL  GPARAM            ;GET END ADDRESS
  227.         PUSH  H                 ;SAVE IT
  228.         ORA   A                 ;END - START
  229.         DSBC  D
  230.         MOV   B,H               ;PUT LENGTH IN BC
  231.         MOV   C,L
  232.         MOV   H,D               ;PUT START IN HL
  233.         MOV   L,E
  234.         POP   D                 ;PUT END IN DE
  235.         RET
  236. ;
  237. RANGE2: CALL  RANGE             ;GET 2 PARAMETERS
  238.         CPI   CR                ;TEST FOR CR
  239.         JNZ   ERROR             ;INPUT ERROR
  240.         RET
  241. ;
  242. RANGE3: CALL  RANGE             ;GET 2 PARAMETERS
  243.         CPI   CR                ;TEST FOR CR
  244.         JZ    ERROR             ;INPUT ERROR
  245.         SHLD  HLSTR             ;SAVE START
  246. PARAM1: PUSH  B                 ;SAVE BC
  247.         CALL  GPARAM            ;GET 3RD PARAMETER
  248.         POP   B                 ;RESTORE BC
  249.         CPI   CR                ;TEST FOR CR
  250.         JNZ   ERROR             ;INPUT ERROR
  251.         RET
  252. ;
  253. ENDTST: PUSH  H                 ;SAVE HL
  254.         ORA   A                 ;HL - DE
  255.         DSBC  D
  256.         POP   H                 ;RESTORE HL
  257.         RET                     ;RETURN FLAGS
  258. ;
  259. SDL     CALL  RANGE3            ;GET 3 PARAMETERS
  260.         MOV   D,H               ;DEST TO DE
  261.         MOV   E,L
  262.         LHLD  HLSTR             ;SOURCE TO HL
  263.         RET                     ;BC = LENGTH
  264. ;
  265. ;MAIN CONSOLE INPUT ROUTINE
  266. ;
  267. CI:     IN    CONCTL
  268.         ANI   02H
  269.         JZ    CI
  270.         IN    CONDTA
  271.         ANI   7FH
  272.         RET
  273. ;
  274. ;PRINTER OUTPUT ROUTINE
  275. ;
  276. PRINT:  IN    INOUT
  277.         ANI   1
  278.         JNZ   PRINT
  279.         MOV   A,C
  280. ;************PAGE 6************    
  281.         ORI   80H
  282.         OUT   INOUT
  283.         ANI   7FH
  284.         OUT   INOUT
  285.         ORI   80H
  286.         OUT   INOUT
  287.         RET
  288. ;
  289. ;DISPLAYS CONTENTS OF MEMORY IN HEX & ASCII
  290. ;
  291. DISP:   CALL  RANGE2            ;GET PARAMETERS
  292.         MOV   A,L               ;ADJUST START ADDRESS
  293.         ANI   0F0H
  294.         MOV   L,A
  295. DISP1:  MOV   A,E               ;ADJUST END ADDRESS
  296.         ANI   0FH
  297.         JZ    DISP2
  298.         INX   D
  299.         JMP   DISP1
  300. DISP2:  CALL  CRLFHL            ;DISPLAY CRLF & ADR
  301. DISP3:  CALL  SPACE             ;DISPLACE SPACE
  302.         MOV   A,M               ;GET DATA
  303.         CALL  DISPB             ;DISPLAY IT
  304.         MOV   A,L               ;TEST FOR END OF LINE
  305.         ANI   0FH
  306.         CPI   0FH
  307.         JZ    DISP4             ;DISPLAY ASCII
  308.         INX   H                 ;NEXT
  309.         JMP   DISP3            
  310. DISP4:  CALL  SPACE             ;DISPLAY A SPACE
  311.         CALL  SPACE             ;DISPLAY A SPACE
  312.         MOV   A,L               ;BACK UP ADR
  313.         ANI   0F0H
  314.         MOV   L,A
  315. NEXTA:  MOV   A,M               ;GET DATA
  316.         ANI   7FH               ;KILL PARITY
  317.         CPI   ' '               ;TEST IF = SPACE
  318.         JNC   DISP6             ;TEST FURTHER
  319. DISP5:  MVI   A,'.'             ;REPLACE WITH PERIOD
  320. DISP6:  CPI   7CH               ;> LOWER CASE Z
  321.         JNC   DISP5             ;REPLACE IT
  322.         MOV   C,A               ;DISPLAY IT
  323.         CALL  CO
  324.         INX   H                 ;STEP TO NEXT
  325.         MOV   A,L               ;TEST FOR END OF LINE
  326.         ANI   0FH
  327.         JNZ   NEXTA             ;DO NEXT
  328.         CALL  ENDTST            ;TEST FOR END
  329.         JNZ   DISP2             ;NEXT LINE
  330.         JMP   START
  331. ;
  332. ;FILL MEMORY WITH A CONSTANT
  333. ;
  334. FILL:   CALL  RANGE3            ;GET 2 PARAMETERS
  335.         MOV   A,L               ;PUT DATA IN A
  336. ;************PAGE 7************    
  337.         LHLD  HLSTR             ;START ADR TO HL
  338.         MOV   M,A               ;WRITE DATA AT START
  339.         MOV   D,H               ;COPY HL TO DE
  340.         MOV   E,L
  341.         INX   D                 ;DEST = SOURCE + 1
  342.         DCX   B                 ;ADJUST LENGTH
  343.         LDIR                    ;WRITE DATA
  344.         JMP   START
  345. ;
  346. ;GOTO USER PROGRAM WITH OPTIONAL BREAKPOINT
  347. ;
  348. GOTO:   CALL  CI                ;GET INPUT
  349.         CPI   CR                ;TEST FOR CR
  350.         JZ    GOTO1             ;USE OLD PC VALUE
  351.         MOV   C,A               ;ECHO INPUT
  352.         CALL  CO
  353.         CPI   ' '               ;TEST FOR SPACE
  354.         JZ    GOTO2             ;OLD PC, NEW BRKPOINT
  355.         CPI   ','               ;TEST FOR COMMA
  356.         JZ    GOTO2             ;OLD PC, NEW BRKPOINT
  357.         LXI   H,0               ;CLEAR HL
  358.         CALL  GP1               ;GET PARAMETER
  359.         SHLD  REGSTR+14         ;SET NEW PC
  360.         CPI   CR                ;TEST FOR CR
  361.         JZ    GOTO1             ;JUMP TO NEW PC
  362. GOTO2:  CALL  GPARAM            ;GET BREAKPOINT ADR
  363.         CPI   CR                ;TEST FOR CR
  364.         JNZ   ERROR             ;INPUT ERROR
  365.         MOV   A,M               ;GET OLD OP
  366.         STA   OLDOP             ;SAVE IT
  367.         SHLD  BRKSTR            ;SAVE BREAKPOINT ADR
  368.         MVI   A,0FFH            ;STORE A BREAKPOINT
  369.         MOV   M,A
  370. GOTO1:  LHLD  REGSTR            ;PSW
  371.         PUSH  H
  372.         POP   PSW
  373.         LBCD  REGSTR+2          ;GET BC
  374.         LDED  REGSTR+4          ;GET DE
  375.         LSPD  REGSTR+8          ;GET SP
  376.         LHLD  REGSTR+14         ;GET PC
  377.         PUSH  H
  378.         LHLD  REGSTR+6          ;GET HL
  379.         LIXD  REGSTR+10         ;GET IX
  380.         LIYD  REGSTR+12         ;GET IY
  381.         RET                     ;GOTO USER PROGRAM
  382. ;
  383. ;HEXADECIMAL MATH ROUTINE
  384. ;
  385. HEXN:   CALL  RANGE2            ;GET PARAMETERS
  386.         DAD   D                 ;ADD PARAMETERS
  387.         PUSH  B                 ;SAVE DIFFERENCE
  388.         CALL  CRLFHL            ;DISPLAY IT
  389.         JMP   START
  390. ;************PAGE 8************
  391. ;
  392. ;EXTENDED MEMORY TEST
  393. ;
  394. TEST:   CALL  RANGE2            ;GET 2 PARAMETERS
  395.         MOV   B,H               ;SAVE START IN BC
  396.         MOV   C,L
  397.         MVI   A,0               ;CLEAR I
  398. LOOP:   STAI
  399. FILLIT: LDAI                    ;BUILD DATA
  400.         XRA   L
  401.         XRA   H
  402.         MOV   M,A               ;WRITE DATA
  403.         INX   H                 ;NEXT DATA
  404.         MOV   A,H               ;TEST FOR END
  405.         CMP   D
  406.         JNZ   FILLIT            ;CONTINUE WRITING
  407.         MOV   A,L               ;TEST FOR END
  408.         CMP   B
  409.         JNZ   FILLIT            ;CONTINUE WRITING
  410.         MOV   H,B               ;RESTORE START
  411.         MOV   L,C
  412. TEST1:  LDAI                    ;BUILD DATA
  413.         XRA   L
  414.         XRA   H
  415.         CMP   M                 ;COMPARE IT
  416.         CNZ   MERR              ;DISPLAY ERRORS
  417.         INX   H
  418.         MOV   A,H               ;TEST FOR END
  419.         CMP   D
  420.         JNZ   TEST1             ;CONTINUE TEST
  421.         MOV   A,L               ;TEST FOR END
  422.         CMP   E
  423.         JNZ   TEST1             ;CONTINUE TEST
  424.         MOV   H,B               ;RESTORE START
  425.         MOV   L,C
  426.         IN    CONCTL            ;TEST KEYBOARD
  427.         ANI   02H
  428.         JNZ   START             ;ABORT IF KEY PRESSED
  429.         LDAI                    ;INCREMENT TALLY
  430.         INR   A
  431.         JMP   LOOP              ;ANOTHER PASS
  432. ;
  433. MERR:   PUSH  B                 ;SAVE BC
  434.         PUSH  PSW               ;SAVE DATA
  435.         CALL  CRLFHL            ;DISPLAY ADDRESS
  436.         POP   PSW               ;DISPLAY DATA
  437.         CALL  DISPB
  438.         CALL  SPACE             ;DISPLAY A SPACE
  439.         MOV   A,M               ;GET MEM DATA
  440.         CALL  DISPB             ;DISPLAY IT
  441.         POP   B                 ;RESTORE BC
  442.         RET                     ;CONTINUE TESTING
  443. ;
  444. ;MOVE BLOCK OF MEMORY
  445. ;************PAGE 9************
  446. ;
  447. MOVE:   CALL  SDL               ;SRC,DEST,LENGTH
  448.         LDIR                    ;DO MOVE
  449.         JMP   START
  450. ;
  451. ;INPUT DATA FROM AN I/O PORT
  452. ;
  453. INPUT:  CALL  PARAM1            ;GET PARAMETER
  454.         MOV   C,L               ;PUT IO ADR IN C
  455.         INP   A                 ;INPUT DATA TO A
  456.         PUSH  PSW               ;SAVE IT
  457.         CALL  CRLF              ;DISPLAY CRLF
  458.         POP   PSW               ;GET DATA
  459.         CALL  DISPB             ;DISPLAY IT
  460.         JMP   START
  461. ;
  462. ;OUTPUT DATA TO AN I/O PORT
  463. ;
  464. OUTPUT: CALL  RANGE2            ;GET 2 PARAMETERS
  465.         MOV   C,L               ;OUTPUT DATA
  466.         OUTP  E
  467.         JMP   START
  468. ;
  469. ;SUBSTITUE AND EXAMINE MEMORY
  470. ;
  471. SUBS:   CALL  GPARAM            ;GET PARAMETER
  472. SUBS1:  CALL  CRLFHL            ;DISPLAY ADDRESS
  473.         MOV   A,M               ;GET DATA
  474.         CALL  DISPB             ;DISPLAY IT
  475.         CALL  SPACE             ;DISPLAY A SPACE
  476.         CALL  CI                ;GET INPUT
  477.         CPI   CR                ;TEST FOR CR
  478.         JZ    START             ;DONE
  479.         CPI   ' '               ;TEST FOR SPACE
  480.         JNZ   SUBS2             ;TEST FURTHER
  481. SUBS4:  INX   H                 ;ADDRESS + 1
  482.         JMP   SUBS1             ;CONTINUE DISPLAY
  483. SUBS2:  CPI   7FH               ;TEST FOR RUBOUT
  484.         JNZ   SUBS3             ;LOOK FOR PARAMETER
  485.         DCX   H                 ;ADDRESS - 1
  486.         JMP   SUBS1             ;CONTINUE DISPLAY
  487. SUBS3:  MOV   C,A               ;ECHO CHARACTER
  488.         CALL  CO
  489.         PUSH  H                 ;SAVE ADR
  490.         LXI   H,0               ;CLEAR HL
  491.         CALL  GP1               ;GET PARAMETER
  492.         MOV   B,A               ;SAVE DELIMITER
  493.         MOV   A,L               ;PUT DATA IN A
  494.         POP   H                 ;GET ADR
  495.         MOV   M,A               ;STORE DATA
  496.         MOV   A,B               ;TEST FOR CR
  497.         CPI   CR
  498.         JZ    START             ;DONE
  499.         JMP   SUBS4             ;CONTINUE
  500. ;
  501. ;VERIFY BLOCK OF MEMORY AGAINST MEMORY
  502. ;      
  503. ;************PAGE 10************   
  504. VERIFY: CALL  SDL               ;SRC,DEST,LENGTH
  505. VER1:   LDAX  D                 ;GET DEST DATA
  506.         CCI                     ;COMPARE TO SOURCE
  507.         JPO   START             ;DONE
  508.         DCX   H                 ;ADJUST ADDRESS
  509.         CNZ   MERR              ;DISPLAY ERRORS
  510.         INX   H                 ;RESTORE ADDRESS
  511.         INX   D                 ;DEST + 1
  512.         JMP   VER1              ;CONTINUE
  513. ;
  514. ;RETURN FROM BREAKPOINT HERE
  515. ;
  516. BREAK:  PUSH  PSW               ;SAVE PSW
  517.         SBCD  REGSTR+2          ;STORE BC
  518.         SDED  REGSTR+4          ;STORE DE
  519.         SHLD  REGSTR+6          ;STORE HL
  520.         POP   H                 ;GET PSW
  521.         SHLD  REGSTR            ;STORE PSW
  522.         POP   H                 ;GET PC
  523.         DCX   H                 ;PC-1
  524.         SHLD  REGSTR+14         ;STORE PC
  525.         LHLD  BRKSTR            ;GET BREAKPOINT ADR
  526.         LDA   OLDOP             ;RESTORE OLD OP
  527.         MOV   M,A
  528.         SSPD  REGSTR+8          ;STORE SP
  529.         SIXD  REGSTR+10         ;STORE IX
  530.         SIYD  REGSTR+12         ;STORE IY
  531.         LXI   SP,STACK          ;RESTORE STACK
  532. ;
  533. ;EXAMINE AND DISPLAY CPU REGISTERS
  534. ;
  535. XAM:    LXI   H,XAMM            ;POINT TO MESSAGE
  536.         LXI   D,REGSTR          ;POINT TO REGISTERS
  537.         CALL  CRLF              ;DISPLAY CRLF
  538.         MVI   C,8               ;SET TALLY
  539. XAM1:   MVI   B,2
  540.         PUSH  B                 ;SAVE BC
  541.         CALL  MESG1             ;DISPLAY REG NAME
  542.         CALL  SPACE             ;DISPLAY SPACE
  543.         PUSH  H                 ;SAVE HL
  544.         LDAX  D                 ;GET REGISTER DATA
  545.         MOV   L,A
  546.         INX   D
  547.         LDAX  D
  548.         MOV   H,A
  549.         INX   D                 ;DEST+1
  550.         CALL  HLBLK             ;DISPLAY REG DATA
  551.         CALL  SPACE             ;DISPLAY SPACE
  552.         POP   H                 ;GET HL
  553.         POP   B                 ;GET BC
  554.         DCR   C                 ;TALLY - 1
  555.         JZ    START             ;DONE
  556.         JMP   XAM1              ;CONTINUE
  557. ;************PAGE 11************
  558. XAMM:
  559. .ASCII  'AFBCDEHLSPIXIYPC'
  560. ;
  561. ;       MONITOR SIGN-ON MESSAGE
  562. ;
  563. MSG:   .BYTE  CR,LF
  564.        .ASCII 'SYSTEM MONITOR I.1 REG A'
  565.        MSGL = .-MSG
  566. ;
  567. ;END OF PROGRAM
  568. .END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement