Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.         cpu     sc/mp
  2.         page    0
  3.         relaxed on
  4.  
  5. ptr0    reg     p0
  6. ptr1    equ     1
  7. ptr2    equ     p2
  8. ptr3    equ     p3
  9. ereg    reg     e
  10. pcnt    equ     pc
  11.  
  12.         lde
  13.         xae
  14.         ane
  15.         ore
  16.         xre
  17.         dae
  18.         ade
  19.         cae
  20.  
  21.         sio
  22.         sr
  23.         srl
  24.         rr
  25.         rrl
  26.  
  27.         halt
  28.         ccl
  29.         scl
  30.         dint
  31.         ien
  32.         csa
  33.         cas
  34.         nop
  35.  
  36.         ldi     0x12
  37.         ani     0x23
  38.         ori     0x34
  39.         xri     0x45
  40.         dai     0x56
  41.         adi     0x67
  42.         cai     0x78
  43.         dly     0x89
  44.  
  45.         xpal    pc
  46.         xpah    p2              ; it is valid to use just
  47.         xpah    2               ; the register # instead of Pn
  48.         xppc    p1
  49.         xppc    1
  50.  
  51.         expect  1350            ; E cannot be used as displacement if
  52.         ld      e(pc)           ; pointer register is PC
  53.         endexpect
  54.         st      @e(p2)
  55.         st      @ereg(2)
  56.         ld      -127(pc)
  57.         ld      -128(pc)        ; 0x80 as displacement is allowed for PC...
  58.         ld      -127(p1)
  59.         expect  440
  60.         ld      -128(p2)        ; ...but not on P1...P3
  61.         endexpect
  62.         expect  1445
  63.         ld      @-127(pc)       ; no auto-increment with PC
  64.         endexpect
  65.         and     10(p1)
  66.         and     10(1)
  67.         or      @-20(p3)
  68.         or      @-20(3)
  69.         xor     vari
  70. vari:   dad     -30(p2)
  71.         dad     -30(2)
  72.         add     @40(p1)
  73.         add     @40(1)
  74.         add     @x'28'(p1)
  75.         add     @x'28(p1)
  76.         cad     vari
  77.  
  78.         jmp     vari
  79.         jp      10(p2)
  80.         jp      10(2)
  81.         jz      vari
  82.         jnz     vari
  83.  
  84.         ild     vari
  85.         dld     -5(p2)
  86.         dld     -5(2)
  87.  
  88. ;        org     0xfff
  89. ;        ldi     0x20
  90.  
  91.         org     384
  92.  
  93.         ld      $-127           ; displacement of -128 is allowed if pointer reg is PC
  94.  
  95.         expect  1330            ; would result in a displacement
  96.         ld      $-128           ; of -129, which is out of range
  97.         endexpect
  98.