Subversion Repositories pentevo

Rev

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

  1.         cpu     imp-16l
  2.         page    0
  3.  
  4.         ; for fun, we will this time iterate
  5.         ; the instructions ordered by opcode
  6.         ; ...and because that's the way they
  7.         ; are ordered in the instruction guide:
  8.  
  9.         halt                    ; 0000
  10.  
  11.         pushf                   ; 0080
  12.  
  13.         rti     2               ; 0102
  14.         expect  1315
  15.         rti     -3
  16.         endexpect
  17.         expect  1320
  18.         rti     256
  19.         endexpect
  20.  
  21.         rts     2               ; 0102
  22.         expect  1315
  23.         rts     -3
  24.         endexpect
  25.         expect  1320
  26.         rts     256
  27.         endexpect
  28.  
  29.         pullf                   ; 0280
  30.  
  31.         ; accept address both with and without base:
  32.         jsrp    x'7f            ; 037f
  33.         jsrp    x'17f           ; 037f
  34.         expect  1320,1320
  35.         jsrp    x'80
  36.         jsrp    x'180
  37.         endexpect
  38.  
  39.         jsri    x'7f            ; 03ff
  40.         jsri    x'ffff          ; 03ff
  41.         expect  1315,1315
  42.         jsri    x'80
  43.         jsri    x'ff7f
  44.         endexpect
  45.  
  46.         rin     x'12            ; 0412
  47.         rin     x'7f            ; 047f
  48.         expect  1320
  49.         rin     x'80
  50.         endexpect
  51.  
  52.         ; untyped address preferrably uses absolute addressing mode:
  53.         mpy     x'1000          ; 0480 1000
  54.         ; force PC-relative address though address is untyped:
  55. here    equ     .
  56.         mpy     here(pc)        ; 0580 ffff
  57.         ; CODE segment address preferrably uses PC-relative address:
  58.         mpy     .+2             ; 0580 0001
  59.         mpy     .+2(pc)         ; 0580 0001
  60.         mpy     .-2             ; 0580 fffd
  61.         mpy     .-2(pc)         ; 0580 fffd
  62.         mpy     (2)             ; 0680 0000
  63.         mpy     (3)             ; 0780 0000
  64.         mpy     -128(ac2)       ; 0680 ff80
  65.         mpy     127(ac3)        ; 0780 007f
  66.         mpy     -129(ac2)       ; 0680 ff7f
  67.         mpy     128(ac3)        ; 0780 0080
  68.  
  69.         expect  1350
  70.         mpy     @.+2
  71.         endexpect
  72.  
  73.         div     .+2             ; 0590 0001
  74.         div     .-2             ; 0590 fffd
  75.         div     (2)             ; 0690 0000
  76.         div     (3)             ; 0790 0000
  77.         div     -128(ac2)       ; 0690 ff80
  78.         div     127(ac3)        ; 0790 007f
  79.         div     -129(ac2)       ; 0690 ff7f
  80.         div     128(ac3)        ; 0790 0080
  81.  
  82.         dadd    .+2             ; 05a0 0001
  83.         dadd    .-2             ; 05a0 fffd
  84.         dadd    (2)             ; 06a0 0000
  85.         dadd    (3)             ; 07a0 0000
  86.         dadd    -128(ac2)       ; 06a0 ff80
  87.         dadd    127(ac3)        ; 07a0 007f
  88.         dadd    -129(ac2)       ; 06a0 ff7f
  89.         dadd    128(ac3)        ; 07a0 0080
  90.  
  91.         dsub    .+2             ; 05b0 0001
  92.         dsub    .-2             ; 05b0 fffd
  93.         dsub    (2)             ; 06b0 0000
  94.         dsub    (3)             ; 07b0 0000
  95.         dsub    -128(ac2)       ; 06b0 ff80
  96.         dsub    127(ac3)        ; 07b0 007f
  97.         dsub    -129(ac2)       ; 06b0 ff7f
  98.         dsub    128(ac3)        ; 07b0 0080
  99.  
  100.         ; no PC-relative addressing on LDB
  101.         ldb     x'9000          ; 04c0 9000
  102.         ldb     (ac2)           ; 06c0 0000
  103.         ldb     (ac3)           ; 07c0 0000
  104.         ldb     x'7000(ac2)     ; 06c0 7000
  105.         ldb     x'7000(ac3)     ; 07c0 7000
  106.  
  107.         ; Not sure how to interprete this.  For me, it's the most
  108.         ; plausible to write the word address in the source,
  109.         ; and the assembler multiplies by two and sets the
  110.         ; LSB accordingly:
  111.         llb     x'7000          ; 04c0 e000
  112.         llb     (ac2)           ; 06c0 0000
  113.         llb     (ac3)           ; 07c0 0000
  114.         llb     x'7000(ac2)     ; 06c0 e000
  115.         llb     x'7000(ac3)     ; 07c0 e000
  116.  
  117.         lrb     x'7000          ; 04c0 e001
  118.         lrb     (ac2)           ; 06c0 0001
  119.         lrb     (ac3)           ; 07c0 0001
  120.         lrb     x'7000(ac2)     ; 06c0 e001
  121.         lrb     x'7000(ac3)     ; 07c0 e001
  122.  
  123.         ; no PC-relative addressing on STB
  124.         stb     x'9000          ; 04d0 9000
  125.         stb     (ac2)           ; 06d0 0000
  126.         stb     (ac3)           ; 07d0 0000
  127.         ldb     x'7000(ac2)     ; 06d0 7000
  128.         ldb     x'7000(ac3)     ; 07d0 7000
  129.  
  130.         ; See remarks on LDB:
  131.         slb     x'7000          ; 04d0 e000
  132.         slb     (ac2)           ; 06d0 0000
  133.         slb     (ac3)           ; 07d0 0000
  134.         slb     x'7000(ac2)     ; 06d0 e000
  135.         slb     x'7000(ac3)     ; 07d0 e000
  136.  
  137.         srb     x'7000          ; 04d0 e001
  138.         srb     (ac2)           ; 06d0 0001
  139.         srb     (ac3)           ; 07d0 0001
  140.         srb     x'7000(ac2)     ; 06d0 e001
  141.         srb     x'7000(ac3)     ; 07d0 e001
  142.  
  143.         jmpp    0               ; 0500
  144.         jmpp    15              ; 050f
  145.         jmpp    x'100           ; 0500
  146.         jmpp    x'10f           ; 050f
  147.         expect  1315
  148.         jmpp    x'00ff
  149.         endexpect
  150.         expect  1320
  151.         jmpp    x'0110
  152.         endexpect
  153.  
  154.         iscan                   ; 0510
  155.  
  156.         jint    0               ; 0520
  157.         jint    15              ; 052f
  158.         jint    x'0120          ; 0520
  159.         jint    x'012f          ; 052f
  160.         expect  1315
  161.         jint    x'011f
  162.         endexpect
  163.         expect  1320
  164.         jint    x'0130
  165.         endexpect
  166.  
  167.         rout    x'34            ; 0634
  168.         rout    x'7f            ; 067f
  169.         expect  1320
  170.         rout    x'80
  171.         endexpect
  172.  
  173.         setst   l               ; 070f
  174.         setst   ov              ; 070e
  175.         setst   cy              ; 070d
  176.         setst   0               ; 0700
  177.         setst   12              ; 070c
  178.         setst   15              ; 070f
  179.         expect  1320
  180.         setst   16
  181.         endexpect
  182.  
  183.         clrst   l               ; 071f
  184.         clrst   ov              ; 071e
  185.         clrst   cy              ; 071d
  186.         clrst   0               ; 0710
  187.         clrst   12              ; 071c
  188.         clrst   15              ; 071f
  189.         expect  1320
  190.         clrst   16
  191.         endexpect
  192.  
  193.         setbit  0               ; 0720
  194.         setbit  12              ; 072c
  195.         setbit  15              ; 072f
  196.         expect  1320
  197.         setbit  16
  198.         endexpect
  199.  
  200.         clrbit  0               ; 0730
  201.         clrbit  12              ; 073c
  202.         clrbit  15              ; 073f
  203.         expect  1320
  204.         clrbit  16
  205.         endexpect
  206.  
  207.         skstf   l               ; 074f
  208.         skstf   ov              ; 074e
  209.         skstf   cy              ; 074d
  210.         skstf   0               ; 0740
  211.         skstf   12              ; 074c
  212.         skstf   15              ; 074f
  213.         expect  1320
  214.         skstf   16
  215.         endexpect
  216.  
  217.         skbit   0               ; 0750
  218.         skbit   12              ; 075c
  219.         skbit   15              ; 075f
  220.         expect  1320
  221.         skbit   16
  222.         endexpect
  223.  
  224.         cmpbit  0               ; 0760
  225.         cmpbit  12              ; 076c
  226.         cmpbit  15              ; 076f
  227.         expect  1320
  228.         cmpbit  16
  229.         endexpect
  230.  
  231.         sflg    8,127           ; 087f
  232.         sflg    15,42           ; 0f2a
  233.         expect  1320
  234.         sflg    16,42
  235.         endexpect
  236.         expect  1315
  237.         sflg    4,42
  238.         endexpect
  239.         expect  1320
  240.         sflg    12,130
  241.         endexpect
  242.  
  243.         pflg    8,127           ; 08ff
  244.         pflg    15,42           ; 0faa
  245.         expect  1320
  246.         pflg    16,42
  247.         endexpect
  248.         expect  1315
  249.         pflg    4,42
  250.         endexpect
  251.         expect  1320
  252.         pflg    12,130
  253.         endexpect
  254.  
  255.         boc     int,.+4         ; 1003
  256.         boc     req0,.+5        ; 1104
  257.         boc     psign,.+6       ; 1205
  258.         boc     bit0,.+7        ; 1306
  259.         boc     bit1,.+8        ; 1407
  260.         boc     nreq0,.+9       ; 1508
  261.         boc     cpint,.+10      ; 1609
  262.         boc     start,.-10      ; 17f5
  263.         boc     stfl,.-9        ; 18f6
  264.         boc     inen,.-8        ; 19f7
  265.         boc     cy/ov,.-7       ; 1af8
  266.         boc     nsign,.-6       ; 1bf9
  267.         boc     poa,.-5         ; 1cfa
  268.         boc     sel,.-4         ; 1dfb
  269.         expect  1370
  270.         boc     int,.+130
  271.         endexpect
  272.  
  273.         jmp     .+2             ; 2101
  274.         jmp     .-2             ; 21fd
  275.         jmp     (2)             ; 2200
  276.         jmp     (3)             ; 2300
  277.         jmp     -128(ac2)       ; 2280
  278.         jmp     127(ac3)        ; 237f
  279.         expect  1315
  280.         jmp     -129(ac2)
  281.         endexpect
  282.         expect  1320
  283.         jmp     128(ac3)
  284.         endexpect
  285.  
  286.         jmp     @.+2            ; 2501
  287.         jmp     @.-2            ; 25fd
  288.         jmp     @(2)            ; 2600
  289.         jmp     @(3)            ; 2700
  290.         jmp     @-128(ac2)      ; 2680
  291.         jmp     @127(ac3)       ; 277f
  292.         expect  1315
  293.         jmp     @-129(ac2)
  294.         endexpect
  295.         expect  1320
  296.         jmp     @128(ac3)
  297.         endexpect
  298.  
  299.         jsr     .+2             ; 2901
  300.         jsr     .-2             ; 29fd
  301.         jsr     (2)             ; 2a00
  302.         jsr     (3)             ; 2b00
  303.         jsr     -128(ac2)       ; 2a80
  304.         jsr     127(ac3)        ; 2b7f
  305.         expect  1315
  306.         jsr     -129(ac2)
  307.         endexpect
  308.         expect  1320
  309.         jsr     128(ac3)
  310.         endexpect
  311.  
  312.         jsr     @.+2            ; 2d01
  313.         jsr     @.-2            ; 2dfd
  314.         jsr     @(2)            ; 2e00
  315.         jsr     @(3)            ; 2f00
  316.         jsr     @-128(ac2)      ; 2e80
  317.         jsr     @127(ac3)       ; 2f7f
  318.         expect  1315
  319.         jsr     @-129(ac2)
  320.         endexpect
  321.         expect  1320
  322.         jsr     @128(ac3)
  323.         endexpect
  324.  
  325.         radd    ac0,0           ; 3000
  326.         radd    0,ac1           ; 3100
  327.         radd    ac0,2           ; 3200
  328.         radd    0,ac3           ; 3300
  329.         radd    ac1,0           ; 3400
  330.         radd    1,ac1           ; 3500
  331.         radd    ac1,2           ; 3600
  332.         radd    1,ac3           ; 3700
  333.         radd    ac2,0           ; 3800
  334.         radd    2,ac1           ; 3900
  335.         radd    ac2,2           ; 3a00
  336.         radd    2,ac3           ; 3b00
  337.         radd    ac3,0           ; 3c00
  338.         radd    3,ac1           ; 3d00
  339.         radd    ac3,2           ; 3e00
  340.         radd    3,ac3           ; 3f00
  341.  
  342.         rxch    ac0,0           ; 3080
  343.         rxch    0,ac1           ; 3180
  344.         rxch    ac0,2           ; 3280
  345.         rxch    0,ac3           ; 3380
  346.         rxch    ac1,0           ; 3480
  347.         rxch    1,ac1           ; 3580
  348.         rxch    ac1,2           ; 3680
  349.         rxch    1,ac3           ; 3780
  350.         rxch    ac2,0           ; 3880
  351.         rxch    2,ac1           ; 3980
  352.         rxch    ac2,2           ; 3a80
  353.         rxch    2,ac3           ; 3b80
  354.         rxch    ac3,0           ; 3c80
  355.         rxch    3,ac1           ; 3d80
  356.         rxch    ac3,2           ; 3e80
  357.         rxch    3,ac3           ; 3f80
  358.  
  359.         rcpy    ac0,0           ; 3081
  360.         rcpy    0,ac1           ; 3181
  361.         rcpy    ac0,2           ; 3281
  362.         rcpy    0,ac3           ; 3381
  363.         rcpy    ac1,0           ; 3481
  364.         rcpy    1,ac1           ; 3581
  365.         rcpy    ac1,2           ; 3681
  366.         rcpy    1,ac3           ; 3781
  367.         rcpy    ac2,0           ; 3881
  368.         rcpy    2,ac1           ; 3981
  369.         rcpy    ac2,2           ; 3a81
  370.         rcpy    2,ac3           ; 3b81
  371.         rcpy    ac3,0           ; 3c81
  372.         rcpy    3,ac1           ; 3d81
  373.         rcpy    ac3,2           ; 3e81
  374.         rcpy    3,ac3           ; 3f81
  375.  
  376.         nop                     ; 3081
  377.  
  378.         rxor    ac0,0           ; 3082
  379.         rxor    0,ac1           ; 3182
  380.         rxor    ac0,2           ; 3282
  381.         rxor    0,ac3           ; 3382
  382.         rxor    ac1,0           ; 3482
  383.         rxor    1,ac1           ; 3582
  384.         rxor    ac1,2           ; 3682
  385.         rxor    1,ac3           ; 3782
  386.         rxor    ac2,0           ; 3882
  387.         rxor    2,ac1           ; 3982
  388.         rxor    ac2,2           ; 3a82
  389.         rxor    2,ac3           ; 3b82
  390.         rxor    ac3,0           ; 3c82
  391.         rxor    3,ac1           ; 3d82
  392.         rxor    ac3,2           ; 3e82
  393.         rxor    3,ac3           ; 3f82
  394.  
  395.         rand    ac0,0           ; 3083
  396.         rand    0,ac1           ; 3183
  397.         rand    ac0,2           ; 3283
  398.         rand    0,ac3           ; 3383
  399.         rand    ac1,0           ; 3483
  400.         rand    1,ac1           ; 3583
  401.         rand    ac1,2           ; 3683
  402.         rand    1,ac3           ; 3783
  403.         rand    ac2,0           ; 3883
  404.         rand    2,ac1           ; 3983
  405.         rand    ac2,2           ; 3a83
  406.         rand    2,ac3           ; 3b83
  407.         rand    ac3,0           ; 3c83
  408.         rand    3,ac1           ; 3d83
  409.         rand    ac3,2           ; 3e83
  410.         rand    3,ac3           ; 3f83
  411.  
  412.         push    0               ; 4000
  413.         push    ac0             ; 4000
  414.         push    1               ; 4100
  415.         push    ac1             ; 4100
  416.         push    2               ; 4200
  417.         push    ac2             ; 4200
  418.         push    3               ; 4300
  419.         push    ac3             ; 4300
  420.  
  421.         pull    0               ; 4400
  422.         pull    ac0             ; 4400
  423.         pull    1               ; 4500
  424.         pull    ac1             ; 4500
  425.         pull    2               ; 4600
  426.         pull    ac2             ; 4600
  427.         pull    3               ; 4700
  428.         pull    ac3             ; 4700
  429.  
  430.         aisz    0,42            ; 482a
  431.         aisz    ac1,-42         ; 49d6
  432.         aisz    2,255           ; 4aff
  433.         aisz    ac3,-128        ; 4b80
  434.         expect  1320
  435.         aisz    2,256
  436.         endexpect
  437.         expect  1315
  438.         aisz    ac3,-129
  439.         endexpect
  440.  
  441.         li      0,42            ; 4c2a
  442.         li      ac1,-42         ; 4dd6
  443.         li      2,255           ; 4eff
  444.         li      ac3,-128        ; 4f80
  445.         expect  1320
  446.         li      2,256
  447.         endexpect
  448.         expect  1315
  449.         li      ac3,-129
  450.         endexpect
  451.  
  452.         cai     0,42            ; 502a
  453.         cai     ac1,-42         ; 51d6
  454.         cai     2,255           ; 52ff
  455.         cai     ac3,-128        ; 5380
  456.         expect  1320
  457.         cai     2,256
  458.         endexpect
  459.         expect  1315
  460.         cai     ac3,-129
  461.         endexpect
  462.  
  463.         xchrs   0               ; 5400
  464.         xchrs   ac0             ; 5400
  465.         xchrs   1               ; 5500
  466.         xchrs   ac1             ; 5500
  467.         xchrs   2               ; 5600
  468.         xchrs   ac2             ; 5600
  469.         xchrs   3               ; 5700
  470.         xchrs   ac3             ; 5700
  471.  
  472.         rol     0,0             ; 5800
  473.         rol     ac1,1           ; 5901
  474.         rol     2,127           ; 5a7f
  475.         rol     ac3,15          ; 5b0f
  476.         expect  1320
  477.         rol     ac3,128
  478.         endexpect
  479.  
  480.         ror     0,0             ; 5800
  481.         ror     ac1,1           ; 59ff
  482.         ror     2,127           ; 5a81
  483.         ror     ac3,15          ; 5bf1
  484.         expect  1320
  485.         ror     ac3,128
  486.         endexpect
  487.  
  488.         shl     0,0             ; 5c00
  489.         shl     ac1,1           ; 5d01
  490.         shl     2,127           ; 5e7f
  491.         shl     ac3,15          ; 5f0f
  492.         expect  1320
  493.         shl     ac3,128
  494.         endexpect
  495.  
  496.         shr     0,0             ; 5c00
  497.         shr     ac1,1           ; 5dff
  498.         shr     2,127           ; 5e81
  499.         shr     ac3,15          ; 5ff1
  500.         expect  1320
  501.         shr     ac3,128
  502.         endexpect
  503.  
  504.         and     0,.+2           ; 6101
  505.         and     ac1,.-2         ; 65fd
  506.         and     0,(2)           ; 6200
  507.         and     ac1,(3)         ; 6700
  508.         and     0,-128(ac2)     ; 6280
  509.         and     ac1,127(ac3)    ; 677f
  510.         expect  1315
  511.         and     0,-129(ac2)
  512.         endexpect
  513.         expect  1320
  514.         and     ac1,128(ac3)
  515.         endexpect
  516.  
  517.         or      0,.+2           ; 6901
  518.         or      ac1,.-2         ; 6dfd
  519.         or      0,(2)           ; 6a00
  520.         or      ac1,(3)         ; 6f00
  521.         or      0,-128(ac2)     ; 6a80
  522.         or      ac1,127(ac3)    ; 6f7f
  523.         expect  1315
  524.         or      0,-129(ac2)
  525.         endexpect
  526.         expect  1320
  527.         or      ac1,128(ac3)
  528.         endexpect
  529.  
  530.         skaz    0,.+2           ; 7101
  531.         skaz    ac1,.-2         ; 75fd
  532.         skaz    0,(2)           ; 7200
  533.         skaz    ac1,(3)         ; 7700
  534.         skaz    0,-128(ac2)     ; 7280
  535.         skaz    ac1,127(ac3)    ; 777f
  536.         expect  1315
  537.         skaz    0,-129(ac2)
  538.         endexpect
  539.         expect  1320
  540.         skaz    ac1,128(ac3)
  541.         endexpect
  542.  
  543.         isz     .+2             ; 7901
  544.         isz     .-2             ; 79fd
  545.         isz     (2)             ; 7a00
  546.         isz     (3)             ; 7b00
  547.         isz     -128(ac2)       ; 7a80
  548.         isz     127(ac3)        ; 7b7f
  549.         expect  1315
  550.         isz     -129(ac2)
  551.         endexpect
  552.         expect  1320
  553.         isz     128(ac3)
  554.         endexpect
  555.  
  556.         dsz     .+2             ; 7d01
  557.         dsz     .-2             ; 7dfd
  558.         dsz     (2)             ; 7e00
  559.         dsz     (3)             ; 7f00
  560.         dsz     -128(ac2)       ; 7e80
  561.         dsz     127(ac3)        ; 7f7f
  562.         expect  1315
  563.         dsz     -129(ac2)
  564.         endexpect
  565.         expect  1320
  566.         dsz     128(ac3)
  567.         endexpect
  568.  
  569.         ; untyped addresses (not from CODE segment)
  570.         ; result in using direct addressing if the
  571.         ; address is in the range 0..255:
  572.         ld      0,127           ; 807f
  573.  
  574.         ld      0,.+2           ; 8101
  575.         ld      0,.+2(pc)       ; 8101
  576.         ld      ac1,.-2         ; 85fd
  577.         ld      2,(2)           ; 8a00
  578.         ld      ac3,(3)         ; 8f00
  579.         ld      0,-128(ac2)     ; 8280
  580.         ld      ac1,127(ac3)    ; 877f
  581.         expect  1315
  582.         ld      2,-129(ac2)
  583.         endexpect
  584.         expect  1320
  585.         ld      ac3,128(ac3)
  586.         endexpect
  587.  
  588.         ld      0,@.+2          ; 9101
  589.         ld      0,@.+2(pc)      ; 9101
  590.         ld      ac1,@.-2        ; 95fd
  591.         ld      2,@(2)          ; 9a00
  592.         ld      ac3,@(3)        ; 9f00
  593.         ld      0,@-128(ac2)    ; 9280
  594.         ld      ac1,@127(ac3)   ; 977f
  595.         expect  1315
  596.         ld      2,@-129(ac2)
  597.         endexpect
  598.         expect  1320
  599.         ld      ac3,@128(ac3)
  600.         endexpect
  601.  
  602.         st      0,.+2           ; a101
  603.         st      ac1,.-2         ; a5fd
  604.         st      2,(2)           ; aa00
  605.         st      ac3,(3)         ; af00
  606.         st      0,-128(ac2)     ; a280
  607.         st      ac1,127(ac3)    ; a77f
  608.         expect  1315
  609.         st      2,-129(ac2)
  610.         endexpect
  611.         expect  1320
  612.         st      ac3,128(ac3)
  613.         endexpect
  614.  
  615.         st      0,@.+2          ; b101
  616.         st      ac1,@.-2        ; b5fd
  617.         st      2,@(2)          ; ba00
  618.         st      ac3,@(3)        ; bf00
  619.         st      0,@-128(ac2)    ; b280
  620.         st      ac1,@127(ac3)   ; b77f
  621.         expect  1315
  622.         st      2,@-129(ac2)
  623.         endexpect
  624.         expect  1320
  625.         st      ac3,@128(ac3)
  626.         endexpect
  627.  
  628.         add     0,.+2           ; c101
  629.         add     ac1,.-2         ; c5fd
  630.         add     2,(2)           ; ca00
  631.         add     ac3,(3)         ; cf00
  632.         add     0,-128(ac2)     ; c280
  633.         add     ac1,127(ac3)    ; c77f
  634.         expect  1315
  635.         add     2,-129(ac2)
  636.         endexpect
  637.         expect  1320
  638.         add     ac3,128(ac3)
  639.         endexpect
  640.  
  641.         expect  1350
  642.         add     0,@.+2
  643.         endexpect
  644.  
  645.         sub     0,.+2           ; d101
  646.         sub     ac1,.-2         ; d5fd
  647.         sub     2,(2)           ; da00
  648.         sub     ac3,(3)         ; df00
  649.         sub     0,-128(ac2)     ; d280
  650.         sub     ac1,127(ac3)    ; d77f
  651.         expect  1315
  652.         sub     2,-129(ac2)
  653.         endexpect
  654.         expect  1320
  655.         sub     ac3,128(ac3)
  656.         endexpect
  657.  
  658.         skg     0,.+2           ; e101
  659.         skg     ac1,.-2         ; e5fd
  660.         skg     2,(2)           ; ea00
  661.         skg     ac3,(3)         ; ef00
  662.         skg     0,-128(ac2)     ; e280
  663.         skg     ac1,127(ac3)    ; e77f
  664.         expect  1315
  665.         skg     2,-129(ac2)
  666.         endexpect
  667.         expect  1320
  668.         skg     ac3,128(ac3)
  669.         endexpect
  670.  
  671.         skne    0,.+2           ; f101
  672.         skne    ac1,.-2         ; f5fd
  673.         skne    2,(2)           ; fa00
  674.         skne    ac3,(3)         ; ff00
  675.         skne    0,-128(ac2)     ; f280
  676.         skne    ac1,127(ac3)    ; f77f
  677.         expect  1315
  678.         skne    2,-129(ac2)
  679.         endexpect
  680.         expect  1320
  681.         skne    ac3,128(ac3)
  682.         endexpect
  683.  
  684.         ; we allow using immediate addressing via the
  685.         ; literal mechanism.  Note that using '@#addr'
  686.         ; effectively implements absolute addressing:
  687.  
  688.         ld      ac2,#x'1234
  689.         ld      ac2,@#x'1234
  690.         mpy     #x'1234
  691.         expect  1350
  692.         mpy     @#x'1234
  693.         endexpect
  694.  
  695.         ascii   10,20,30,40
  696.         expect  360
  697.         ascii   10,20,30
  698.         endexpect
  699.         expect  360
  700.         ascii   "Hello World"
  701.         endexpect
  702.         word    100,200,300
  703.         word    "Hello World"
  704.  
  705.         ltorg
  706.  
  707.         ; Skip instructions only skip one machine word,
  708.         ; and can therefore not skip extended instructions that
  709.         ; are two words long:
  710.  
  711.         isz     (ac2)
  712.         expect  420
  713.         mpy     .
  714.         endexpect
  715.  
  716.         dsz     20
  717.         expect  420
  718.         div     (ac3)
  719.         endexpect
  720.  
  721.         skg     ac0,(ac2)
  722.         expect  420
  723.         ldb     (ac3)
  724.         endexpect
  725.  
  726.         skne    ac1,(ac2)
  727.         expect  420
  728.         stb     (ac3)
  729.         endexpect
  730.  
  731.         skaz    0,x'80
  732.         expect  420
  733.         div     x'80
  734.         endexpect
  735.  
  736.         aisz    ac2,1
  737.         expect  420
  738.         mpy     (ac3)
  739.         endexpect
  740.