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 / ENTERPRS / CPM / UTILS / F / PALASM.LBR / EXAMPLE.PQL / EXAMPLE.PAL
Text File  |  2000-06-30  |  4KB  |  86 lines

  1. PAL16R6
  2.  
  3. 6-BIT SHIFT REGISTER, PARALLEL IN/OUT
  4.  
  5. CLK  I0   D0  D1  D2  D3  D4  D5  I1   GND
  6. /E   RILO Q5  Q4  Q3  Q2  Q1  Q0  LIRO VCC
  7.  
  8.  
  9.  
  10. /Q5 := /I1 * /I0 * /Q5         +            ; HOLD Q5
  11.        /I1 *  I0 *       /RILO +            ; SHIFT RIGHT
  12.         I1 * /I0 * /Q4         +            ; SHIFT LEFT
  13.         I1 *  I0 * /D5                      ; LOAD D5
  14.  
  15. /Q4 := /I1 * /I0 * /Q4         +            ; HOLD Q4
  16.        /I1 *  I0 * /Q5         +            ; SHIFT RIGHT
  17.         I1 * /I0 * /Q3         +            ; SHIFT LEFT
  18.         I1 *  I0 * /D4                      ; LOAD D4
  19.  
  20. /Q3 := /I1 * /I0 * /Q3         +            ; HOLD Q3
  21.        /I1 *  I0 * /Q4         +            ; SHIFT RIGHT
  22.         I1 * /I0 * /Q2         +            ; SHIFT LEFT
  23.         I1 *  I0 * /D3                      ; LOAD D3
  24.  
  25. /Q2 := /I1 * /I0 * /Q2         +            ; HOLD Q2
  26.        /I1 *  I0 * /Q3         +            ; SHIFT RIGHT
  27.         I1 * /I0 * /Q1         +            ; SHIFT LEFT
  28.         I1 *  I0 * /D2                      ; LOAD D2
  29.  
  30. /Q1 := /I1 * /I0 * /Q1         +            ; HOLD Q1
  31.        /I1 *  I0 * /Q2         +            ; SHIFT RIGHT
  32.         I1 * /I0 * /Q0         +            ; SHIFT LEFT
  33.         I1 *  I0 * /D1                      ; LOAD D1
  34.  
  35. /Q0 := /I1 * /I0 * /Q0         +            ; HOLD Q0
  36.        /I1 *  I0 * /Q1         +            ; SHIFT RIGHT
  37.         I1 * /I0 *      /LIRO  +            ; SHIFT LEFT
  38.         I1 *  I0 * /D0                      ; LOAD D0
  39.  
  40. IF(/I1 *  I0) /LIRO = /Q0                   ; LEFT IN, RIGHT OUT
  41.  
  42. IF( I1 * /I0) /RILO = /Q5                   ; RIGHT IN, LEFT OUT
  43.  
  44.  
  45. FUNCTION TABLE:
  46. ; ^THIS LINE STARTS THE FUNCTION TBL
  47. I1  I0  D5  D4  D3  D2  D1  D0  CLK  /E  RILO LIRO Q5  Q4  Q3  Q2  Q1  Q0
  48. ; THIS IS THE PIN LIST FOR THE TEST
  49. ;
  50. ;         D IN                          Q OUT
  51. ;INSTR   D5 - D0  CLK  /E  RILO  LIRO  Q5 - Q0     COMMENTS
  52. ------------------------------------------------------------------------
  53. ; THIS LINE WITH DASHES IS ABSOLUTELY REQUIRED
  54. HH       LLLLLL    C    L   Z     Z    LLLLLL     ; LOAD ZEROES
  55. ; THE H'S AND L'S CORRESPOND TO THE PIN-LIST ABOVE, 
  56. ; X IS DON7T CARE, Z IS HI-Z AND C IS CLOCK
  57. ;
  58. LL       XXXXXX    C    L   Z     Z    LLLLLL     ; HOLD
  59. HL       XXXXXX    C    L   L     H    LLLLLH     ; SHIFT LEFT IN  H
  60. HL       XXXXXX    C    L   L     L    LLLLHL     ; SHIFT LEFT IN  L
  61. HL       XXXXXX    C    L   L     L    LLLHLL     ;      
  62. HL       XXXXXX    C    L   L     L    LLHLLL     ;
  63. HL       XXXXXX    C    L   L     L    LHLLLL     ;
  64. HL       XXXXXX    C    L   H     L    HLLLLL     ;
  65. HL       XXXXXX    C    L   L     L    LLLLLL     ;
  66. LL       XXXXXX    C    H   Z     Z    ZZZZZZ     ; TEST HI-Z
  67. HH       HHHHHH    C    L   Z     Z    HHHHHH     ; LOAD ONES
  68. LL       XXXXXX    C    L   Z     Z    HHHHHH     ; HOLD
  69. LH       XXXXXX    C    L   L     H    LHHHHH     ; SHIFT RIGHT IN  L
  70. LH       XXXXXX    C    L   H     H    HLHHHH     ; SHIFT RIGHT IN  H
  71. LH       XXXXXX    C    L   H     H    HHLHHH     ; SHIFT RIGHT IN  H
  72. LH       XXXXXX    C    L   H     H    HHHLHH     ; SHIFT RIGHT IN  H
  73. LH       XXXXXX    C    L   H     H    HHHHLH     ; SHIFT RIGHT IN  H
  74. LH       XXXXXX    C    L   H     L    HHHHHL     ; SHIFT RIGHT IN  H
  75. LH       XXXXXX    C    L   H     H    HHHHHH     ; SHIFT RIGHT IN  H
  76. LL       XXXXXX    C    H   Z     Z    ZZZZZZ     ; TEST HI-Z
  77. ----------------------------------------------------------------------
  78. DESCRIPTION:
  79. This is an example of a 6-bit shift register with
  80. load, hold, shift left & right
  81.  
  82. The SIMULATE instruction causes the PAL-assembler to check the function
  83. table against the logic equations. An appropriate error message is issued
  84. in case of any differences.
  85. o check the function
  86. table against the logic equati