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 / CPMUG050.ARK / POPS.DOC < prev    next >
Text File  |  1984-04-29  |  2KB  |  64 lines

  1.  
  2. This file descibes the function of each of the p-op codes, as best I
  3. can remember them while looking at my notes and code of over a year
  4. ago.  (Sorry, it's the best I can offer you.)
  5.  
  6. Entered 02/20/81, from notes dated 09/01/79
  7.  
  8. The compiler does not generate all of the p-codes given here.  Some
  9. were for planed enhancements that never were finished.  Similarlay,
  10. the translator (pfet) will translate many p-codes that the compiler
  11. presently does not generate.  There may be some p-codes it does
  12. generate that are not listed here, but this is the bulk of the
  13. usefull ones and will give you the general idea.
  14.  
  15.  
  16.  
  17. lit    0,c    push word constant c into stack
  18.  
  19. opr    n,m    perform operation m on top of stack
  20.         element(s) of type n, where n=0 is word, n=1 is alfa
  21.  
  22. lod    l,a    push word at l+a into stack
  23.  
  24. sto    l,a    po stack into l+a
  25.  
  26. cal    l,a    call routine at p label a, level l away
  27.  
  28. int    0,n    add n to stack pointer
  29.  
  30. jump    0,a    jump to p label a
  31.  
  32. jpc    c,a    jump to p label a after popping stack
  33.         c=0 jump if (top)=false, c=1 jump if (top)=true
  34.  
  35. csp    0,n    call standard procedure n
  36.  
  37. lodx    l,a    push word at l+a+(top) into stack
  38.  
  39. stox    l,a    pop stack into l+a+(top-1)
  40.  
  41. alit    0,0    push alfa which follows (next 2 p-ops or 8 bytes)
  42.         into stack, msbyte follows first (may have changed)
  43.  
  44. alod    l,a    push alfa at l+a into stack
  45.  
  46. asto    l,a    pop alfa from stack into l+a
  47.  
  48. alodx    l,a    push alfa at l+a+(top) to stack
  49.  
  50. astox    l,a    pop alfa from stack into l+a+(top-5)
  51.  
  52. pshf    0,0    push true or false into stack based on result
  53.         of last conditional executed
  54.  
  55. laa    l,a    load absolute machine address of l,a into stack
  56.         used for var parameters
  57.  
  58. lodi    0,0    load word pointed to by top of stack into stack
  59.         pops address first
  60.  
  61. stoi    0,0    store word on top of stack at address on (top-1)
  62.  
  63. lab    0,n    defines the p label n
  64.