;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;log_sft
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	.h8300sx
	.text
	.global _start
_start:
    not.b r1h                 ;1701
    not.b @er1               ;7d101700
    not.b @(0x3:2,er1)         ;017768181700
    not.b @er1+              ;01746c181700
    not.b @-er1              ;01776c181700
    not.b @+er1              ;01756c181700
    not.b @er1-              ;01766c181700
    not.b @(0x1234:16,er1)        ;01746e1812341700
    not.b @(0x12345678:32,er1)        ;78146a28123456781700
    not.b @(0x1234:16,r2l.b)      ;01756e2812341700
    not.b @(0x1234:16,r2.w)      ;01766e2812341700
    not.b @(0x1234:16,er2.l)      ;01776e2812341700
    not.b @(0x12345678:32,r2l.b)      ;78256a28123456781700
    not.b @(0x12345678:32,r2.w)      ;78266a28123456781700
    not.b @(0x12345678:32,er2.l)      ;78276a28123456781700
    not.b @0xffffff12:8              ;7f121700
    not.b @0x1234:16             ;6a1812341700
    not.b @0x12345678:32             ;6a38123456781700

    not.w r1                 ;1711
    not.w @er1               ;7d901710
    not.w @(0x6:2,er1)      ;015769181710
    not.w @er1+              ;01546d181710
    not.w @-er1              ;01576d181710
    not.w @+er1              ;01556d181710
    not.w @er1-              ;01566d181710
    not.w @(0x1234:16,er1)        ;01546f1812341710
    not.w @(0x12345678:32,er1)        ;78146b28123456781710
    not.w @(0x1234:16,r2l.b)      ;01556f2812341710
    not.w @(0x1234:16,r2.w)      ;01566f2812341710
    not.w @(0x1234:16,er2.l)      ;01576f2812341710
    not.w @(0x12345678:32,r2l.b)      ;78256b28123456781710
    not.w @(0x12345678:32,r2.w)      ;78266b28123456781710
    not.w @(0x12345678:32,er2.l)      ;78276b28123456781710
    not.w @0x1234:16             ;6b1812341710
    not.w @0x12345678:32             ;6b38123456781710

    not.l er1                 ;1731
    not.l @er1               ;010469181730
    not.l @(0xc:2,er1)      ;010769181730
    not.l @er1+              ;01046d181730
    not.l @-er1              ;01076d181730
    not.l @+er1              ;01056d181730
    not.l @er1-              ;01066d181730
    not.l @(0x1234:16,er1)        ;01046f1812341730
    not.l @(0x12345678:32,er1)        ;78946b28123456781730
    not.l @(0x1234:16,r2l.b)      ;01056f2812341730
    not.l @(0x1234:16,r2.w)      ;01066f2812341730
    not.l @(0x1234:16,er2.l)      ;01076f2812341730
    not.l @(0x12345678:32,r2l.b)      ;78a56b28123456781730
    not.l @(0x12345678:32,r2.w)      ;78a66b28123456781730
    not.l @(0x12345678:32,er2.l)      ;78a76b28123456781730
    not.l @0x1234:16             ;01046b0812341730
    not.l @0x12345678:32             ;01046b28123456781730

    shll.b r1h                ;1001
    shll.b @er1              ;7d101000
    shll.b @(0x3:2,er1)        ;017768181000
    shll.b @er1+             ;01746c181000
    shll.b @-er1             ;01776c181000
    shll.b @+er1             ;01756c181000
    shll.b @er1-             ;01766c181000
    shll.b @(0x1234:16,er1)       ;01746e1812341000
    shll.b @(0x12345678:32,er1)       ;78146a28123456781000
    shll.b @(0x1234:16,r2l.b)     ;01756e2812341000
    shll.b @(0x1234:16,r2.w)     ;01766e2812341000
    shll.b @(0x1234:16,er2.l)     ;01776e2812341000
    shll.b @(0x12345678:32,r2l.b)     ;78256a28123456781000
    shll.b @(0x12345678:32,r2.w)     ;78266a28123456781000
    shll.b @(0x12345678:32,er2.l)     ;78276a28123456781000
    shll.b @0xffffff12:8             ;7f121000
    shll.b @0x1234:16            ;6a1812341000
    shll.b @0x12345678:32            ;6a38123456781000

    shll.w r1                ;1011
    shll.w @er1              ;7d901010
    shll.w @(0x6:2,er1)     ;015769181010
    shll.w @er1+             ;01546d181010
    shll.w @-er1             ;01576d181010
    shll.w @+er1             ;01556d181010
    shll.w @er1-             ;01566d181010
    shll.w @(0x1234:16,er1)       ;01546f1812341010
    shll.w @(0x12345678:32,er1)       ;78146b28123456781010
    shll.w @(0x1234:16,r2l.b)     ;01556f2812341010
    shll.w @(0x1234:16,r2.w)     ;01566f2812341010
    shll.w @(0x1234:16,er2.l)     ;01576f2812341010
    shll.w @(0x12345678:32,r2l.b)     ;78256b28123456781010
    shll.w @(0x12345678:32,r2.w)     ;78266b28123456781010
    shll.w @(0x12345678:32,er2.l)     ;78276b28123456781010
    shll.w @0x1234:16            ;6b1812341010
    shll.w @0x12345678:32            ;6b38123456781010

    shll.l er1                ;1031
    shll.l @er1              ;010469181030
    shll.l @(0xc:2,er1)     ;010769181030
    shll.l @er1+             ;01046d181030
    shll.l @-er1             ;01076d181030
    shll.l @+er1             ;01056d181030
    shll.l @er1-             ;01066d181030
    shll.l @(0x1234:16,er1)       ;01046f1812341030
    shll.l @(0x12345678:32,er1)       ;78946b28123456781030
    shll.l @(0x1234:16,r2l.b)     ;01056f2812341030
    shll.l @(0x1234:16,r2.w)     ;01066f2812341030
    shll.l @(0x1234:16,er2.l)     ;01076f2812341030
    shll.l @(0x12345678:32,r2l.b)     ;78a56b28123456781030
    shll.l @(0x12345678:32,r2.w)     ;78a66b28123456781030
    shll.l @(0x12345678:32,er2.l)     ;78a76b28123456781030
    shll.l @0x1234:16            ;01046b0812341030
    shll.l @0x12345678:32            ;01046b28123456781030

    shll.b #2,r1h             ;1041
    shll.b #2,@er1           ;7d101040
    shll.b #2,@(0x3:2,er1)     ;017768181040
    shll.b #2,@er1+          ;01746c181040
    shll.b #2,@-er1          ;01776c181040
    shll.b #2,@+er1          ;01756c181040
    shll.b #2,@er1-          ;01766c181040
    shll.b #2,@(0x1234:16,er1)    ;01746e1812341040
    shll.b #2,@(0x12345678:32,er1)    ;78146a28123456781040
    shll.b #2,@(0x1234:16,r2l.b)  ;01756e2812341040
    shll.b #2,@(0x1234:16,r2.w)  ;01766e2812341040
    shll.b #2,@(0x1234:16,er2.l)  ;01776e2812341040
    shll.b #2,@(0x12345678:32,r2l.b)  ;78256a28123456781040
    shll.b #2,@(0x12345678:32,r2.w)  ;78266a28123456781040
    shll.b #2,@(0x12345678:32,er2.l)  ;78276a28123456781040
    shll.b #2,@0xffffff12:8          ;7f121040
    shll.b #2,@0x1234:16         ;6a1812341040
    shll.b #2,@0x12345678:32         ;6a38123456781040

    shll.w #2,r1             ;1051
    shll.w #2,@er1           ;7d901050
    shll.w #2,@(0x6:2,er1)  ;015769181050
    shll.w #2,@er1+          ;01546d181050
    shll.w #2,@-er1          ;01576d181050
    shll.w #2,@+er1          ;01556d181050
    shll.w #2,@er1-          ;01566d181050
    shll.w #2,@(0x1234:16,er1)    ;01546f1812341050
    shll.w #2,@(0x12345678:32,er1)    ;78146b28123456781050
    shll.w #2,@(0x1234:16,r2l.b)  ;01556f2812341050
    shll.w #2,@(0x1234:16,r2.w)  ;01566f2812341050
    shll.w #2,@(0x1234:16,er2.l)  ;01576f2812341050
    shll.w #2,@(0x12345678:32,r2l.b)  ;78256b28123456781050
    shll.w #2,@(0x12345678:32,r2.w)  ;78266b28123456781050
    shll.w #2,@(0x12345678:32,er2.l)  ;78276b28123456781050
    shll.w #2,@0x1234:16         ;6b1812341050
    shll.w #2,@0x12345678:32         ;6b38123456781050

    shll.l #2,er1             ;1071
    shll.l #2,@er1           ;010469181070
    shll.l #2,@(0xc:2,er1)  ;010769181070
    shll.l #2,@er1+          ;01046d181070
    shll.l #2,@-er1          ;01076d181070
    shll.l #2,@+er1          ;01056d181070
    shll.l #2,@er1-          ;01066d181070
    shll.l #2,@(0x1234:16,er1)    ;01046f1812341070
    shll.l #2,@(0x12345678:32,er1)    ;78946b28123456781070
    shll.l #2,@(0x1234:16,r2l.b)  ;01056f2812341070
    shll.l #2,@(0x1234:16,r2.w)  ;01066f2812341070
    shll.l #2,@(0x1234:16,er2.l)  ;01076f2812341070
    shll.l #2,@(0x12345678:32,r2l.b)  ;78a56b28123456781070
    shll.l #2,@(0x12345678:32,r2.w)  ;78a66b28123456781070
    shll.l #2,@(0x12345678:32,er2.l)  ;78a76b28123456781070
    shll.l #2,@0x1234:16         ;01046b0812341070
    shll.l #2,@0x12345678:32         ;01046b28123456781070

    shll.b #4,r1h             ;10a1
    shll.b #4,@er1           ;7d1010a0
    shll.b #4,@(0x3:2,er1)     ;0177681810a0
    shll.b #4,@er1+          ;01746c1810a0
    shll.b #4,@-er1          ;01776c1810a0
    shll.b #4,@+er1          ;01756c1810a0
    shll.b #4,@er1-          ;01766c1810a0
    shll.b #4,@(0x1234:16,er1)    ;01746e18123410a0
    shll.b #4,@(0x12345678:32,er1)    ;78146a281234567810a0
    shll.b #4,@(0x1234:16,r2l.b)  ;01756e28123410a0
    shll.b #4,@(0x1234:16,r2.w)  ;01766e28123410a0
    shll.b #4,@(0x1234:16,er2.l)  ;01776e28123410a0
    shll.b #4,@(0x12345678:32,r2l.b)  ;78256a281234567810a0
    shll.b #4,@(0x12345678:32,r2.w)  ;78266a281234567810a0
    shll.b #4,@(0x12345678:32,er2.l)  ;78276a281234567810a0
    shll.b #4,@0xffffff12:8          ;7f1210a0
    shll.b #4,@0x1234:16         ;6a18123410a0
    shll.b #4,@0x12345678:32         ;6a381234567810a0

    shll.w #4,r1             ;1021
    shll.w #4,@er1           ;7d901020
    shll.w #4,@(0x6:2,er1)  ;015769181020
    shll.w #4,@er1+          ;01546d181020
    shll.w #4,@-er1          ;01576d181020
    shll.w #4,@+er1          ;01556d181020
    shll.w #4,@er1-          ;01566d181020
    shll.w #4,@(0x1234:16,er1)    ;01546f1812341020
    shll.w #4,@(0x12345678:32,er1)    ;78146b28123456781020
    shll.w #4,@(0x1234:16,r2l.b)  ;01556f2812341020
    shll.w #4,@(0x1234:16,r2.w)  ;01566f2812341020
    shll.w #4,@(0x1234:16,er2.l)  ;01576f2812341020
    shll.w #4,@(0x12345678:32,r2l.b)  ;78256b28123456781020
    shll.w #4,@(0x12345678:32,r2.w)  ;78266b28123456781020
    shll.w #4,@(0x12345678:32,er2.l)  ;78276b28123456781020
    shll.w #4,@0x1234:16         ;6b1812341020
    shll.w #4,@0x12345678:32         ;6b38123456781020

    shll.l #4,er1             ;1039
    shll.l #4,@er1           ;010469181038
    shll.l #4,@(0xc:2,er1)  ;010769181038
    shll.l #4,@er1+          ;01046d181038
    shll.l #4,@-er1          ;01076d181038
    shll.l #4,@+er1          ;01056d181038
    shll.l #4,@er1-          ;01066d181038
    shll.l #4,@(0x1234:16,er1)    ;01046f1812341038
    shll.l #4,@(0x12345678:32,er1)    ;78946b28123456781038
    shll.l #4,@(0x1234:16,r2l.b)  ;01056f2812341038
    shll.l #4,@(0x1234:16,r2.w)  ;01066f2812341038
    shll.l #4,@(0x1234:16,er2.l)  ;01076f2812341038
    shll.l #4,@(0x12345678:32,r2l.b)  ;78a56b28123456781038
    shll.l #4,@(0x12345678:32,r2.w)  ;78a66b28123456781038
    shll.l #4,@(0x12345678:32,er2.l)  ;78a76b28123456781038
    shll.l #4,@0x1234:16         ;01046b0812341038
    shll.l #4,@0x12345678:32         ;01046b28123456781038

    shll.w #8,r1             ;1061
    shll.w #8,@er1           ;7d901060
    shll.w #8,@(0x6:2,er1)  ;015769181060
    shll.w #8,@er1+          ;01546d181060
    shll.w #8,@-er1          ;01576d181060
    shll.w #8,@+er1          ;01556d181060
    shll.w #8,@er1-          ;01566d181060
    shll.w #8,@(0x1234:16,er1)    ;01546f1812341060
    shll.w #8,@(0x12345678:32,er1)    ;78146b28123456781060
    shll.w #8,@(0x1234:16,r2l.b)  ;01556f2812341060
    shll.w #8,@(0x1234:16,r2.w)  ;01566f2812341060
    shll.w #8,@(0x1234:16,er2.l)  ;01576f2812341060
    shll.w #8,@(0x12345678:32,r2l.b)  ;78256b28123456781060
    shll.w #8,@(0x12345678:32,r2.w)  ;78266b28123456781060
    shll.w #8,@(0x12345678:32,er2.l)  ;78276b28123456781060
    shll.w #8,@0x1234:16         ;6b1812341060
    shll.w #8,@0x12345678:32         ;6b38123456781060

    shll.l #8,er1             ;1079
    shll.l #8,@er1           ;010469181078
    shll.l #8,@(0xc:2,er1)  ;010769181078
    shll.l #8,@er1+          ;01046d181078
    shll.l #8,@-er1          ;01076d181078
    shll.l #8,@+er1          ;01056d181078
    shll.l #8,@er1-          ;01066d181078
    shll.l #8,@(0x1234:16,er1)    ;01046f1812341078
    shll.l #8,@(0x12345678:32,er1)    ;78946b28123456781078
    shll.l #8,@(0x1234:16,r2l.b)  ;01056f2812341078
    shll.l #8,@(0x1234:16,r2.w)  ;01066f2812341078
    shll.l #8,@(0x1234:16,er2.l)  ;01076f2812341078
    shll.l #8,@(0x12345678:32,r2l.b)  ;78a56b28123456781078
    shll.l #8,@(0x12345678:32,r2.w)  ;78a66b28123456781078
    shll.l #8,@(0x12345678:32,er2.l)  ;78a76b28123456781078
    shll.l #8,@0x1234:16         ;01046b0812341078
    shll.l #8,@0x12345678:32         ;01046b28123456781078

    shll.l #16,er1            ;10f9
    shll.l #16,@er1          ;0104691810f8
    shll.l #16,@(0xc:2,er1) ;0107691810f8
    shll.l #16,@er1+         ;01046d1810f8
    shll.l #16,@-er1         ;01076d1810f8
    shll.l #16,@+er1         ;01056d1810f8
    shll.l #16,@er1-         ;01066d1810f8
    shll.l #16,@(0x1234:16,er1)   ;01046f18123410f8
    shll.l #16,@(0x12345678:32,er1)   ;78946b281234567810f8
    shll.l #16,@(0x1234:16,r2l.b) ;01056f28123410f8
    shll.l #16,@(0x1234:16,r2.w) ;01066f28123410f8
    shll.l #16,@(0x1234:16,er2.l) ;01076f28123410f8
    shll.l #16,@(0x12345678:32,r2l.b) ;78a56b281234567810f8
    shll.l #16,@(0x12345678:32,r2.w) ;78a66b281234567810f8
    shll.l #16,@(0x12345678:32,er2.l) ;78a76b281234567810f8
    shll.l #16,@0x1234:16        ;01046b08123410f8
    shll.l #16,@0x12345678:32        ;01046b281234567810f8

    shll.b #0x7:5,r1h        ;03871001
    shll.w #0xf:5,r1         ;038f1011
    shll.l #0x1f:5,er1       ;039f1031

    shll.b r3h,r1h           ;78381001
    shll.w r3h,r1            ;78381011
    shll.l r3h,er1           ;78381031

    shlr.b r1h               ;1101
    shlr.b @er1              ;7d101100
    shlr.b @(0x3:2,er1)      ;017768181100
    shlr.b @er1+             ;01746c181100
    shlr.b @-er1             ;01776c181100
    shlr.b @+er1             ;01756c181100
    shlr.b @er1-             ;01766c181100
    shlr.b @(0x1234:16,er1)       ;01746e1812341100
    shlr.b @(0x12345678:32,er1)       ;78146a28123456781100
    shlr.b @(0x1234:16,r2l.b)     ;01756e2812341100
    shlr.b @(0x1234:16,r2.w)     ;01766e2812341100
    shlr.b @(0x1234:16,er2.l)     ;01776e2812341100
    shlr.b @(0x12345678:32,r2l.b)     ;78256a28123456781100
    shlr.b @(0x12345678:32,r2.w)     ;78266a28123456781100
    shlr.b @(0x12345678:32,er2.l)     ;78276a28123456781100
    shlr.b @0xffffff12:8             ;7f121100
    shlr.b @0x1234:16            ;6a1812341100
    shlr.b @0x12345678:32            ;6a38123456781100

    shlr.w r1                ;1111
    shlr.w @er1              ;7d901110
    shlr.w @(0x6:2,er1)     ;015769181110
    shlr.w @er1+             ;01546d181110
    shlr.w @-er1             ;01576d181110
    shlr.w @+er1             ;01556d181110
    shlr.w @er1-             ;01566d181110
    shlr.w @(0x1234:16,er1)       ;01546f1812341110
    shlr.w @(0x12345678:32,er1)       ;78146b28123456781110
    shlr.w @(0x1234:16,r2l.b)     ;01556f2812341110
    shlr.w @(0x1234:16,r2.w)     ;01566f2812341110
    shlr.w @(0x1234:16,er2.l)     ;01576f2812341110
    shlr.w @(0x12345678:32,r2l.b)     ;78256b28123456781110
    shlr.w @(0x12345678:32,r2.w)     ;78266b28123456781110
    shlr.w @(0x12345678:32,er2.l)     ;78276b28123456781110
    shlr.w @0x1234:16            ;6b1812341110
    shlr.w @0x12345678:32            ;6b38123456781110

    shlr.l er1                ;1131
    shlr.l @er1              ;010469181130
    shlr.l @(0xc:2,er1)     ;010769181130
    shlr.l @er1+             ;01046d181130
    shlr.l @-er1             ;01076d181130
    shlr.l @+er1             ;01056d181130
    shlr.l @er1-             ;01066d181130
    shlr.l @(0x1234:16,er1)       ;01046f1812341130
    shlr.l @(0x12345678:32,er1)       ;78946b28123456781130
    shlr.l @(0x1234:16,r2l.b)     ;01056f2812341130
    shlr.l @(0x1234:16,r2.w)     ;01066f2812341130
    shlr.l @(0x1234:16,er2.l)     ;01076f2812341130
    shlr.l @(0x12345678:32,r2l.b)     ;78a56b28123456781130
    shlr.l @(0x12345678:32,r2.w)     ;78a66b28123456781130
    shlr.l @(0x12345678:32,er2.l)     ;78a76b28123456781130
    shlr.l @0x1234:16            ;01046b0812341130
    shlr.l @0x12345678:32            ;01046b28123456781130

    shlr.b #2,r1h             ;1141
    shlr.b #2,@er1           ;7d101140
    shlr.b #2,@(0x3:2,er1)     ;017768181140
    shlr.b #2,@er1+          ;01746c181140
    shlr.b #2,@-er1          ;01776c181140
    shlr.b #2,@+er1          ;01756c181140
    shlr.b #2,@er1-          ;01766c181140
    shlr.b #2,@(0x1234:16,er1)    ;01746e1812341140
    shlr.b #2,@(0x12345678:32,er1)    ;78146a28123456781140
    shlr.b #2,@(0x1234:16,r2l.b)  ;01756e2812341140
    shlr.b #2,@(0x1234:16,r2.w)  ;01766e2812341140
    shlr.b #2,@(0x1234:16,er2.l)  ;01776e2812341140
    shlr.b #2,@(0x12345678:32,r2l.b)  ;78256a28123456781140
    shlr.b #2,@(0x12345678:32,r2.w)  ;78266a28123456781140
    shlr.b #2,@(0x12345678:32,er2.l)  ;78276a28123456781140
    shlr.b #2,@0xffffff12:8          ;7f121140
    shlr.b #2,@0x1234:16         ;6a1812341140
    shlr.b #2,@0x12345678:32         ;6a38123456781140

    shlr.w #2,r1             ;1151
    shlr.w #2,@er1           ;7d901150
    shlr.w #2,@(0x6:2,er1)  ;015769181150
    shlr.w #2,@er1+          ;01546d181150
    shlr.w #2,@-er1          ;01576d181150
    shlr.w #2,@+er1          ;01556d181150
    shlr.w #2,@er1-          ;01566d181150
    shlr.w #2,@(0x1234:16,er1)    ;01546f1812341150
    shlr.w #2,@(0x12345678:32,er1)    ;78146b28123456781150
    shlr.w #2,@(0x1234:16,r2l.b)  ;01556f2812341150
    shlr.w #2,@(0x1234:16,r2.w)  ;01566f2812341150
    shlr.w #2,@(0x1234:16,er2.l)  ;01576f2812341150
    shlr.w #2,@(0x12345678:32,r2l.b)  ;78256b28123456781150
    shlr.w #2,@(0x12345678:32,r2.w)  ;78266b28123456781150
    shlr.w #2,@(0x12345678:32,er2.l)  ;78276b28123456781150
    shlr.w #2,@0x1234:16         ;6b1812341150
    shlr.w #2,@0x12345678:32         ;6b38123456781150

    shlr.l #2,er1             ;1171
    shlr.l #2,@er1           ;010469181170
    shlr.l #2,@(0xc:2,er1)  ;010769181170
    shlr.l #2,@er1+          ;01046d181170
    shlr.l #2,@-er1          ;01076d181170
    shlr.l #2,@+er1          ;01056d181170
    shlr.l #2,@er1-          ;01066d181170
    shlr.l #2,@(0x1234:16,er1)    ;01046f1812341170
    shlr.l #2,@(0x12345678:32,er1)    ;78946b28123456781170
    shlr.l #2,@(0x1234:16,r2l.b)  ;01056f2812341170
    shlr.l #2,@(0x1234:16,r2.w)  ;01066f2812341170
    shlr.l #2,@(0x1234:16,er2.l)  ;01076f2812341170
    shlr.l #2,@(0x12345678:32,r2l.b)  ;78a56b28123456781170
    shlr.l #2,@(0x12345678:32,r2.w)  ;78a66b28123456781170
    shlr.l #2,@(0x12345678:32,er2.l)  ;78a76b28123456781170
    shlr.l #2,@0x1234:16         ;01046b0812341170
    shlr.l #2,@0x12345678:32         ;01046b28123456781170

    shlr.b #4,r1h             ;11a1
    shlr.b #4,@er1           ;7d1011a0
    shlr.b #4,@(0x3:2,er1)     ;0177681811a0
    shlr.b #4,@er1+          ;01746c1811a0
    shlr.b #4,@-er1          ;01776c1811a0
    shlr.b #4,@+er1          ;01756c1811a0
    shlr.b #4,@er1-          ;01766c1811a0
    shlr.b #4,@(0x1234:16,er1)    ;01746e18123411a0
    shlr.b #4,@(0x12345678:32,er1)    ;78146a281234567811a0
    shlr.b #4,@(0x1234:16,r2l.b)  ;01756e28123411a0
    shlr.b #4,@(0x1234:16,r2.w)  ;01766e28123411a0
    shlr.b #4,@(0x1234:16,er2.l)  ;01776e28123411a0
    shlr.b #4,@(0x12345678:32,r2l.b)  ;78256a281234567811a0
    shlr.b #4,@(0x12345678:32,r2.w)  ;78266a281234567811a0
    shlr.b #4,@(0x12345678:32,er2.l)  ;78276a281234567811a0
    shlr.b #4,@0xffffff12:8          ;7f1211a0
    shlr.b #4,@0x1234:16         ;6a18123411a0
    shlr.b #4,@0x12345678:32         ;6a381234567811a0

    shlr.w #4,r1             ;1121
    shlr.w #4,@er1           ;7d901120
    shlr.w #4,@(0x6:2,er1)     ;015769181120
    shlr.w #4,@er1+          ;01546d181120
    shlr.w #4,@-er1          ;01576d181120
    shlr.w #4,@+er1          ;01556d181120
    shlr.w #4,@er1-          ;01566d181120
    shlr.w #4,@(0x1234:16,er1)    ;01546f1812341120
    shlr.w #4,@(0x12345678:32,er1)    ;78146b28123456781120
    shlr.w #4,@(0x1234:16,r2l.b)  ;01556f2812341120
    shlr.w #4,@(0x1234:16,r2.w)  ;01566f2812341120
    shlr.w #4,@(0x1234:16,er2.l)  ;01576f2812341120
    shlr.w #4,@(0x12345678:32,r2l.b)  ;78256b28123456781120
    shlr.w #4,@(0x12345678:32,r2.w)  ;78266b28123456781120
    shlr.w #4,@(0x12345678:32,er2.l)  ;78276b28123456781120
    shlr.w #4,@0x1234:16         ;6b1812341120
    shlr.w #4,@0x12345678:32         ;6b38123456781120

    shlr.l #4,er1             ;1139
    shlr.l #4,@er1           ;010469181138
    shlr.l #4,@(0xc:2,er1)     ;010769181138
    shlr.l #4,@er1+          ;01046d181138
    shlr.l #4,@-er1          ;01076d181138
    shlr.l #4,@+er1          ;01056d181138
    shlr.l #4,@er1-          ;01066d181138
    shlr.l #4,@(0x1234:16,er1)    ;01046f1812341138
    shlr.l #4,@(0x12345678:32,er1)    ;78946b28123456781138
    shlr.l #4,@(0x1234:16,r2l.b)  ;01056f2812341138
    shlr.l #4,@(0x1234:16,r2.w)  ;01066f2812341138
    shlr.l #4,@(0x1234:16,er2.l)  ;01076f2812341138
    shlr.l #4,@(0x12345678:32,r2l.b)  ;78a56b28123456781138
    shlr.l #4,@(0x12345678:32,r2.w)  ;78a66b28123456781138
    shlr.l #4,@(0x12345678:32,er2.l)  ;78a76b28123456781138
    shlr.l #4,@0x1234:16         ;01046b0812341138
    shlr.l #4,@0x12345678:32         ;01046b28123456781138

    shlr.w #8,r1             ;1161
    shlr.w #8,@er1           ;7d901160
    shlr.w #8,@(0x6:2,er1)  ;015769181160
    shlr.w #8,@er1+          ;01546d181160
    shlr.w #8,@-er1          ;01576d181160
    shlr.w #8,@+er1          ;01556d181160
    shlr.w #8,@er1-          ;01566d181160
    shlr.w #8,@(0x1234:16,er1)    ;01546f1812341160
    shlr.w #8,@(0x12345678:32,er1)    ;78146b28123456781160
    shlr.w #8,@(0x1234:16,r2l.b)  ;01556f2812341160
    shlr.w #8,@(0x1234:16,r2.w)  ;01566f2812341160
    shlr.w #8,@(0x1234:16,er2.l)  ;01576f2812341160
    shlr.w #8,@(0x12345678:32,r2l.b)  ;78256b28123456781160
    shlr.w #8,@(0x12345678:32,r2.w)  ;78266b28123456781160
    shlr.w #8,@(0x12345678:32,er2.l)  ;78276b28123456781160
    shlr.w #8,@0x1234:16         ;6b1812341160
    shlr.w #8,@0x12345678:32         ;6b38123456781160

    shlr.l #8,er1             ;1179
    shlr.l #8,@er1           ;010469181178
    shlr.l #8,@(0xc:2,er1)  ;010769181178
    shlr.l #8,@er1+          ;01046d181178
    shlr.l #8,@-er1          ;01076d181178
    shlr.l #8,@+er1          ;01056d181178
    shlr.l #8,@er1-          ;01066d181178
    shlr.l #8,@(0x1234:16,er1)    ;01046f1812341178
    shlr.l #8,@(0x12345678:32,er1)    ;78946b28123456781178
    shlr.l #8,@(0x1234:16,r2l.b)  ;01056f2812341178
    shlr.l #8,@(0x1234:16,r2.w)  ;01066f2812341178
    shlr.l #8,@(0x1234:16,er2.l)  ;01076f2812341178
    shlr.l #8,@(0x12345678:32,r2l.b)  ;78a56b28123456781178
    shlr.l #8,@(0x12345678:32,r2.w)  ;78a66b28123456781178
    shlr.l #8,@(0x12345678:32,er2.l)  ;78a76b28123456781178
    shlr.l #8,@0x1234:16         ;01046b0812341178
    shlr.l #8,@0x12345678:32         ;01046b28123456781178

    shlr.l #16,er1            ;11f9
    shlr.l #16,@er1          ;0104691811f8
    shlr.l #16,@(0xc:2,er1) ;0107691811f8
    shlr.l #16,@er1+         ;01046d1811f8
    shlr.l #16,@-er1         ;01076d1811f8
    shlr.l #16,@+er1         ;01056d1811f8
    shlr.l #16,@er1-         ;01066d1811f8
    shlr.l #16,@(0x1234:16,er1)   ;01046f18123411f8
    shlr.l #16,@(0x12345678:32,er1)   ;78946b281234567811f8
    shlr.l #16,@(0x1234:16,r2l.b) ;01056f28123411f8
    shlr.l #16,@(0x1234:16,r2.w) ;01066f28123411f8
    shlr.l #16,@(0x1234:16,er2.l) ;01076f28123411f8
    shlr.l #16,@(0x12345678:32,r2l.b) ;78a56b281234567811f8
    shlr.l #16,@(0x12345678:32,r2.w) ;78a66b281234567811f8
    shlr.l #16,@(0x12345678:32,er2.l) ;78a76b281234567811f8
    shlr.l #16,@0x1234:16        ;01046b08123411f8
    shlr.l #16,@0x12345678:32        ;01046b281234567811f8

    shlr.b #0x7:5,r1h        ;03871101
    shlr.w #0xf:5,r1         ;038f1111
    shlr.l #0x1f:5,er1       ;039f1131

    shlr.b r3h,r1h           ;78381101
    shlr.w r3h,r1            ;78381111
    shlr.l r3h,er1           ;78381131

    shal.b r1h               ;1081
    shal.b @er1              ;7d101080
    shal.b @(0x3:2,er1)      ;017768181080
    shal.b @er1+             ;01746c181080
    shal.b @-er1             ;01776c181080
    shal.b @+er1             ;01756c181080
    shal.b @er1-             ;01766c181080
    shal.b @(0x1234:16,er1)       ;01746e1812341080
    shal.b @(0x12345678:32,er1)       ;78146a28123456781080
    shal.b @(0x1234:16,r2l.b)     ;01756e2812341080
    shal.b @(0x1234:16,r2.w)     ;01766e2812341080
    shal.b @(0x1234:16,er2.l)     ;01776e2812341080
    shal.b @(0x12345678:32,r2l.b)     ;78256a28123456781080
    shal.b @(0x12345678:32,r2.w)     ;78266a28123456781080
    shal.b @(0x12345678:32,er2.l)     ;78276a28123456781080
    shal.b @0xffffff12:8             ;7f121080
    shal.b @0x1234:16            ;6a1812341080
    shal.b @0x12345678:32            ;6a38123456781080

    shal.w r1                ;1091
    shal.w @er1              ;7d901090
    shal.w @(0x6:2,er1)     ;015769181090
    shal.w @er1+             ;01546d181090
    shal.w @-er1             ;01576d181090
    shal.w @+er1             ;01556d181090
    shal.w @er1-             ;01566d181090
    shal.w @(0x1234:16,er1)       ;01546f1812341090
    shal.w @(0x12345678:32,er1)       ;78146b28123456781090
    shal.w @(0x1234:16,r2l.b)     ;01556f2812341090
    shal.w @(0x1234:16,r2.w)     ;01566f2812341090
    shal.w @(0x1234:16,er2.l)     ;01576f2812341090
    shal.w @(0x12345678:32,r2l.b)     ;78256b28123456781090
    shal.w @(0x12345678:32,r2.w)     ;78266b28123456781090
    shal.w @(0x12345678:32,er2.l)     ;78276b28123456781090
    shal.w @0x1234:16            ;6b1812341090
    shal.w @0x12345678:32            ;6b38123456781090

    shal.l er1                ;10b1
    shal.l @er1              ;0104691810b0
    shal.l @(0xc:2,er1)     ;0107691810b0
    shal.l @er1+             ;01046d1810b0
    shal.l @-er1             ;01076d1810b0
    shal.l @+er1             ;01056d1810b0
    shal.l @er1-             ;01066d1810b0
    shal.l @(0x1234:16,er1)       ;01046f18123410b0
    shal.l @(0x12345678:32,er1)       ;78946b281234567810b0
    shal.l @(0x1234:16,r2l.b)     ;01056f28123410b0
    shal.l @(0x1234:16,r2.w)     ;01066f28123410b0
    shal.l @(0x1234:16,er2.l)     ;01076f28123410b0
    shal.l @(0x12345678:32,r2l.b)     ;78a56b281234567810b0
    shal.l @(0x12345678:32,r2.w)     ;78a66b281234567810b0
    shal.l @(0x12345678:32,er2.l)     ;78a76b281234567810b0
    shal.l @0x1234:16            ;01046b08123410b0
    shal.l @0x12345678:32            ;01046b281234567810b0

    shal.b #2,r1h             ;10c1
    shal.b #2,@er1           ;7d1010c0
    shal.b #2,@(0x3:2,er1)     ;0177681810c0
    shal.b #2,@er1+          ;01746c1810c0
    shal.b #2,@-er1          ;01776c1810c0
    shal.b #2,@+er1          ;01756c1810c0
    shal.b #2,@er1-          ;01766c1810c0
    shal.b #2,@(0x1234:16,er1)    ;01746e18123410c0
    shal.b #2,@(0x12345678:32,er1)    ;78146a281234567810c0
    shal.b #2,@(0x1234:16,r2l.b)  ;01756e28123410c0
    shal.b #2,@(0x1234:16,r2.w)  ;01766e28123410c0
    shal.b #2,@(0x1234:16,er2.l)  ;01776e28123410c0
    shal.b #2,@(0x12345678:32,r2l.b)  ;78256a281234567810c0
    shal.b #2,@(0x12345678:32,r2.w)  ;78266a281234567810c0
    shal.b #2,@(0x12345678:32,er2.l)  ;78276a281234567810c0
    shal.b #2,@0xffffff12:8          ;7f1210c0
    shal.b #2,@0x1234:16         ;6a18123410c0
    shal.b #2,@0x12345678:32         ;6a381234567810c0

    shal.w #2,r1             ;10d1
    shal.w #2,@er1           ;7d9010d0
    shal.w #2,@(0x6:2,er1)  ;0157691810d0
    shal.w #2,@er1+          ;01546d1810d0
    shal.w #2,@-er1          ;01576d1810d0
    shal.w #2,@+er1          ;01556d1810d0
    shal.w #2,@er1-          ;01566d1810d0
    shal.w #2,@(0x1234:16,er1)    ;01546f18123410d0
    shal.w #2,@(0x12345678:32,er1)    ;78146b281234567810d0
    shal.w #2,@(0x1234:16,r2l.b)  ;01556f28123410d0
    shal.w #2,@(0x1234:16,r2.w)  ;01566f28123410d0
    shal.w #2,@(0x1234:16,er2.l)  ;01576f28123410d0
    shal.w #2,@(0x12345678:32,r2l.b)  ;78256b281234567810d0
    shal.w #2,@(0x12345678:32,r2.w)  ;78266b281234567810d0
    shal.w #2,@(0x12345678:32,er2.l)  ;78276b281234567810d0
    shal.w #2,@0x1234:16         ;6b18123410d0
    shal.w #2,@0x12345678:32         ;6b381234567810d0

    shal.l #2,er1             ;10f1
    shal.l #2,@er1           ;0104691810f0
    shal.l #2,@(0xc:2,er1)  ;0107691810f0
    shal.l #2,@er1+          ;01046d1810f0
    shal.l #2,@-er1          ;01076d1810f0
    shal.l #2,@+er1          ;01056d1810f0
    shal.l #2,@er1-          ;01066d1810f0
    shal.l #2,@(0x1234:16,er1)    ;01046f18123410f0
    shal.l #2,@(0x12345678:32,er1)    ;78946b281234567810f0
    shal.l #2,@(0x1234:16,r2l.b)  ;01056f28123410f0
    shal.l #2,@(0x1234:16,r2.w)  ;01066f28123410f0
    shal.l #2,@(0x1234:16,er2.l)  ;01076f28123410f0
    shal.l #2,@(0x12345678:32,r2l.b)  ;78a56b281234567810f0
    shal.l #2,@(0x12345678:32,r2.w)  ;78a66b281234567810f0
    shal.l #2,@(0x12345678:32,er2.l)  ;78a76b281234567810f0
    shal.l #2,@0x1234:16         ;01046b08123410f0
    shal.l #2,@0x12345678:32         ;01046b281234567810f0

    shar.b r1h                ;1181
    shar.b @er1              ;7d101180
    shar.b @(0x3:2,er1)        ;017768181180
    shar.b @er1+             ;01746c181180
    shar.b @-er1             ;01776c181180
    shar.b @+er1             ;01756c181180
    shar.b @er1-             ;01766c181180
    shar.b @(0x1234:16,er1)       ;01746e1812341180
    shar.b @(0x12345678:32,er1)       ;78146a28123456781180
    shar.b @(0x1234:16,r2l.b)     ;01756e2812341180
    shar.b @(0x1234:16,r2.w)     ;01766e2812341180
    shar.b @(0x1234:16,er2.l)     ;01776e2812341180
    shar.b @(0x12345678:32,r2l.b)     ;78256a28123456781180
    shar.b @(0x12345678:32,r2.w)     ;78266a28123456781180
    shar.b @(0x12345678:32,er2.l)     ;78276a28123456781180
    shar.b @0xffffff12:8             ;7f121180
    shar.b @0x1234:16            ;6a1812341180
    shar.b @0x12345678:32            ;6a38123456781180

    shar.w r1                ;1191
    shar.w @er1              ;7d901190
    shar.w @(0x6:2,er1)     ;015769181190
    shar.w @er1+             ;01546d181190
    shar.w @-er1             ;01576d181190
    shar.w @+er1             ;01556d181190
    shar.w @er1-             ;01566d181190
    shar.w @(0x1234:16,er1)       ;01546f1812341190
    shar.w @(0x12345678:32,er1)       ;78146b28123456781190
    shar.w @(0x1234:16,r2l.b)     ;01556f2812341190
    shar.w @(0x1234:16,r2.w)     ;01566f2812341190
    shar.w @(0x1234:16,er2.l)     ;01576f2812341190
    shar.w @(0x12345678:32,r2l.b)     ;78256b28123456781190
    shar.w @(0x12345678:32,r2.w)     ;78266b28123456781190
    shar.w @(0x12345678:32,er2.l)     ;78276b28123456781190
    shar.w @0x1234:16            ;6b1812341190
    shar.w @0x12345678:32            ;6b38123456781190

    shar.l er1                ;11b1
    shar.l @er1              ;0104691811b0
    shar.l @(0xc:2,er1)     ;0107691811b0
    shar.l @er1+             ;01046d1811b0
    shar.l @-er1             ;01076d1811b0
    shar.l @+er1             ;01056d1811b0
    shar.l @er1-             ;01066d1811b0
    shar.l @(0x1234:16,er1)       ;01046f18123411b0
    shar.l @(0x12345678:32,er1)       ;78946b281234567811b0
    shar.l @(0x1234:16,r2l.b)     ;01056f28123411b0
    shar.l @(0x1234:16,r2.w)     ;01066f28123411b0
    shar.l @(0x1234:16,er2.l)     ;01076f28123411b0
    shar.l @(0x12345678:32,r2l.b)     ;78a56b281234567811b0
    shar.l @(0x12345678:32,r2.w)     ;78a66b281234567811b0
    shar.l @(0x12345678:32,er2.l)     ;78a76b281234567811b0
    shar.l @0x1234:16            ;01046b08123411b0
    shar.l @0x12345678:32            ;01046b281234567811b0

    shar.b #2,r1h             ;11c1
    shar.b #2,@er1           ;7d1011c0
    shar.b #2,@(0x3:2,er1)     ;0177681811c0
    shar.b #2,@er1+          ;01746c1811c0
    shar.b #2,@-er1          ;01776c1811c0
    shar.b #2,@+er1          ;01756c1811c0
    shar.b #2,@er1-          ;01766c1811c0
    shar.b #2,@(0x1234:16,er1)    ;01746e18123411c0
    shar.b #2,@(0x12345678:32,er1)    ;78146a281234567811c0
    shar.b #2,@(0x1234:16,r2l.b)  ;01756e28123411c0
    shar.b #2,@(0x1234:16,r2.w)  ;01766e28123411c0
    shar.b #2,@(0x1234:16,er2.l)  ;01776e28123411c0
    shar.b #2,@(0x12345678:32,r2l.b)  ;78256a281234567811c0
    shar.b #2,@(0x12345678:32,r2.w)  ;78266a281234567811c0
    shar.b #2,@(0x12345678:32,er2.l)  ;78276a281234567811c0
    shar.b #2,@0xffffff12:8          ;7f1211c0
    shar.b #2,@0x1234:16         ;6a18123411c0
    shar.b #2,@0x12345678:32         ;6a381234567811c0

    shar.w #2,r1             ;11d1
    shar.w #2,@er1           ;7d9011d0
    shar.w #2,@(0x6:2,er1)  ;0157691811d0
    shar.w #2,@er1+          ;01546d1811d0
    shar.w #2,@-er1          ;01576d1811d0
    shar.w #2,@+er1          ;01556d1811d0
    shar.w #2,@er1-          ;01566d1811d0
    shar.w #2,@(0x1234:16,er1)    ;01546f18123411d0
    shar.w #2,@(0x12345678:32,er1)    ;78146b281234567811d0
    shar.w #2,@(0x1234:16,r2l.b)  ;01556f28123411d0
    shar.w #2,@(0x1234:16,r2.w)  ;01566f28123411d0
    shar.w #2,@(0x1234:16,er2.l)  ;01576f28123411d0
    shar.w #2,@(0x12345678:32,r2l.b)  ;78256b281234567811d0
    shar.w #2,@(0x12345678:32,r2.w)  ;78266b281234567811d0
    shar.w #2,@(0x12345678:32,er2.l)  ;78276b281234567811d0
    shar.w #2,@0x1234:16         ;6b18123411d0
    shar.w #2,@0x12345678:32         ;6b381234567811d0

    shar.l #2,er1             ;11f1
    shar.l #2,@er1           ;0104691811f0
    shar.l #2,@(0xc:2,er1)  ;0107691811f0
    shar.l #2,@er1+          ;01046d1811f0
    shar.l #2,@-er1          ;01076d1811f0
    shar.l #2,@+er1          ;01056d1811f0
    shar.l #2,@er1-          ;01066d1811f0
    shar.l #2,@(0x1234:16,er1)    ;01046f18123411f0
    shar.l #2,@(0x12345678:32,er1)    ;78946b281234567811f0
    shar.l #2,@(0x1234:16,r2l.b)  ;01056f28123411f0
    shar.l #2,@(0x1234:16,r2.w)  ;01066f28123411f0
    shar.l #2,@(0x1234:16,er2.l)  ;01076f28123411f0
    shar.l #2,@(0x12345678:32,r2l.b)  ;78a56b281234567811f0
    shar.l #2,@(0x12345678:32,r2.w)  ;78a66b281234567811f0
    shar.l #2,@(0x12345678:32,er2.l)  ;78a76b281234567811f0
    shar.l #2,@0x1234:16         ;01046b08123411f0
    shar.l #2,@0x12345678:32         ;01046b281234567811f0

    rotxl.b r1h               ;1201
    rotxl.b @er1             ;7d101200
    rotxl.b @(0x3:2,er1)       ;017768181200
    rotxl.b @er1+            ;01746c181200
    rotxl.b @-er1            ;01776c181200
    rotxl.b @+er1            ;01756c181200
    rotxl.b @er1-            ;01766c181200
    rotxl.b @(0x1234:16,er1)      ;01746e1812341200
    rotxl.b @(0x12345678:32,er1)      ;78146a28123456781200
    rotxl.b @(0x1234:16,r2l.b)    ;01756e2812341200
    rotxl.b @(0x1234:16,r2.w)    ;01766e2812341200
    rotxl.b @(0x1234:16,er2.l)    ;01776e2812341200
    rotxl.b @(0x12345678:32,r2l.b)    ;78256a28123456781200
    rotxl.b @(0x12345678:32,r2.w)    ;78266a28123456781200
    rotxl.b @(0x12345678:32,er2.l)    ;78276a28123456781200
    rotxl.b @0xffffff12:8            ;7f121200
    rotxl.b @0x1234:16           ;6a1812341200
    rotxl.b @0x12345678:32           ;6a38123456781200

    rotxl.w r1               ;1211
    rotxl.w @er1             ;7d901210
    rotxl.w @(0x6:2,er1)    ;015769181210
    rotxl.w @er1+            ;01546d181210
    rotxl.w @-er1            ;01576d181210
    rotxl.w @+er1            ;01556d181210
    rotxl.w @er1-            ;01566d181210
    rotxl.w @(0x1234:16,er1)      ;01546f1812341210
    rotxl.w @(0x12345678:32,er1)      ;78146b28123456781210
    rotxl.w @(0x1234:16,r2l.b)    ;01556f2812341210
    rotxl.w @(0x1234:16,r2.w)    ;01566f2812341210
    rotxl.w @(0x1234:16,er2.l)    ;01576f2812341210
    rotxl.w @(0x12345678:32,r2l.b)    ;78256b28123456781210
    rotxl.w @(0x12345678:32,r2.w)    ;78266b28123456781210
    rotxl.w @(0x12345678:32,er2.l)    ;78276b28123456781210
    rotxl.w @0x1234:16           ;6b1812341210
    rotxl.w @0x12345678:32           ;6b38123456781210

    rotxl.l er1               ;1231
    rotxl.l @er1             ;010469181230
    rotxl.l @(0xc:2,er1)    ;010769181230
    rotxl.l @er1+            ;01046d181230
    rotxl.l @-er1            ;01076d181230
    rotxl.l @+er1            ;01056d181230
    rotxl.l @er1-            ;01066d181230
    rotxl.l @(0x1234:16,er1)      ;01046f1812341230
    rotxl.l @(0x12345678:32,er1)      ;78946b28123456781230
    rotxl.l @(0x1234:16,r2l.b)    ;01056f2812341230
    rotxl.l @(0x1234:16,r2.w)    ;01066f2812341230
    rotxl.l @(0x1234:16,er2.l)    ;01076f2812341230
    rotxl.l @(0x12345678:32,r2l.b)    ;78a56b28123456781230
    rotxl.l @(0x12345678:32,r2.w)    ;78a66b28123456781230
    rotxl.l @(0x12345678:32,er2.l)    ;78a76b28123456781230
    rotxl.l @0x1234:16           ;01046b0812341230
    rotxl.l @0x12345678:32           ;01046b28123456781230

    rotxl.b #2,r1h            ;1241
    rotxl.b #2,@er1          ;7d101240
    rotxl.b #2,@(0x3:2,er1)    ;017768181240
    rotxl.b #2,@er1+         ;01746c181240
    rotxl.b #2,@-er1         ;01776c181240
    rotxl.b #2,@+er1         ;01756c181240
    rotxl.b #2,@er1-         ;01766c181240
    rotxl.b #2,@(0x1234:16,er1)   ;01746e1812341240
    rotxl.b #2,@(0x12345678:32,er1)   ;78146a28123456781240
    rotxl.b #2,@(0x1234:16,r2l.b) ;01756e2812341240
    rotxl.b #2,@(0x1234:16,r2.w) ;01766e2812341240
    rotxl.b #2,@(0x1234:16,er2.l) ;01776e2812341240
    rotxl.b #2,@(0x12345678:32,r2l.b) ;78256a28123456781240
    rotxl.b #2,@(0x12345678:32,r2.w) ;78266a28123456781240
    rotxl.b #2,@(0x12345678:32,er2.l) ;78276a28123456781240
    rotxl.b #2,@0xffffff12:8         ;7f121240
    rotxl.b #2,@0x1234:16        ;6a1812341240
    rotxl.b #2,@0x12345678:32        ;6a38123456781240

    rotxl.w #2,r1            ;1251
    rotxl.w #2,@er1          ;7d901250
    rotxl.w #2,@(0x6:2,er1) ;015769181250
    rotxl.w #2,@er1+         ;01546d181250
    rotxl.w #2,@-er1         ;01576d181250
    rotxl.w #2,@+er1         ;01556d181250
    rotxl.w #2,@er1-         ;01566d181250
    rotxl.w #2,@(0x1234:16,er1)   ;01546f1812341250
    rotxl.w #2,@(0x12345678:32,er1)   ;78146b28123456781250
    rotxl.w #2,@(0x1234:16,r2l.b) ;01556f2812341250
    rotxl.w #2,@(0x1234:16,r2.w) ;01566f2812341250
    rotxl.w #2,@(0x1234:16,er2.l) ;01576f2812341250
    rotxl.w #2,@(0x12345678:32,r2l.b) ;78256b28123456781250
    rotxl.w #2,@(0x12345678:32,r2.w) ;78266b28123456781250
    rotxl.w #2,@(0x12345678:32,er2.l) ;78276b28123456781250
    rotxl.w #2,@0x1234:16        ;6b1812341250
    rotxl.w #2,@0x12345678:32        ;6b38123456781250

    rotxl.l #2,er1            ;1271
    rotxl.l #2,@er1          ;010469181270
    rotxl.l #2,@(0xc:2,er1) ;010769181270
    rotxl.l #2,@er1+         ;01046d181270
    rotxl.l #2,@-er1         ;01076d181270
    rotxl.l #2,@+er1         ;01056d181270
    rotxl.l #2,@er1-         ;01066d181270
    rotxl.l #2,@(0x1234:16,er1)   ;01046f1812341270
    rotxl.l #2,@(0x12345678:32,er1)   ;78946b28123456781270
    rotxl.l #2,@(0x1234:16,r2l.b) ;01056f2812341270
    rotxl.l #2,@(0x1234:16,r2.w) ;01066f2812341270
    rotxl.l #2,@(0x1234:16,er2.l) ;01076f2812341270
    rotxl.l #2,@(0x12345678:32,r2l.b) ;78a56b28123456781270
    rotxl.l #2,@(0x12345678:32,r2.w) ;78a66b28123456781270
    rotxl.l #2,@(0x12345678:32,er2.l) ;78a76b28123456781270
    rotxl.l #2,@0x1234:16        ;01046b0812341270
    rotxl.l #2,@0x12345678:32        ;01046b28123456781270

    rotxr.b r1h               ;1301
    rotxr.b @er1             ;7d101300
    rotxr.b @(0x3:2,er1)       ;017768181300
    rotxr.b @er1+            ;01746c181300
    rotxr.b @-er1            ;01776c181300
    rotxr.b @+er1            ;01756c181300
    rotxr.b @er1-            ;01766c181300
    rotxr.b @(0x1234:16,er1)      ;01746e1812341300
    rotxr.b @(0x12345678:32,er1)      ;78146a28123456781300
    rotxr.b @(0x1234:16,r2l.b)    ;01756e2812341300
    rotxr.b @(0x1234:16,r2.w)    ;01766e2812341300
    rotxr.b @(0x1234:16,er2.l)    ;01776e2812341300
    rotxr.b @(0x12345678:32,r2l.b)    ;78256a28123456781300
    rotxr.b @(0x12345678:32,r2.w)    ;78266a28123456781300
    rotxr.b @(0x12345678:32,er2.l)    ;78276a28123456781300
    rotxr.b @0xffffff12:8            ;7f121300
    rotxr.b @0x1234:16           ;6a1812341300
    rotxr.b @0x12345678:32           ;6a38123456781300

    rotxr.w r1               ;1311
    rotxr.w @er1             ;7d901310
    rotxr.w @(0x6:2,er1)    ;015769181310
    rotxr.w @er1+            ;01546d181310
    rotxr.w @-er1            ;01576d181310
    rotxr.w @+er1            ;01556d181310
    rotxr.w @er1-            ;01566d181310
    rotxr.w @(0x1234:16,er1)      ;01546f1812341310
    rotxr.w @(0x12345678:32,er1)      ;78146b28123456781310
    rotxr.w @(0x1234:16,r2l.b)    ;01556f2812341310
    rotxr.w @(0x1234:16,r2.w)    ;01566f2812341310
    rotxr.w @(0x1234:16,er2.l)    ;01576f2812341310
    rotxr.w @(0x12345678:32,r2l.b)    ;78256b28123456781310
    rotxr.w @(0x12345678:32,r2.w)    ;78266b28123456781310
    rotxr.w @(0x12345678:32,er2.l)    ;78276b28123456781310
    rotxr.w @0x1234:16           ;6b1812341310
    rotxr.w @0x12345678:32           ;6b38123456781310

    rotxr.l er1               ;1331
    rotxr.l @er1             ;010469181330
    rotxr.l @(0xc:2,er1)    ;010769181330
    rotxr.l @er1+            ;01046d181330
    rotxr.l @-er1            ;01076d181330
    rotxr.l @+er1            ;01056d181330
    rotxr.l @er1-            ;01066d181330
    rotxr.l @(0x1234:16,er1)      ;01046f1812341330
    rotxr.l @(0x12345678:32,er1)      ;78946b28123456781330
    rotxr.l @(0x1234:16,r2l.b)    ;01056f2812341330
    rotxr.l @(0x1234:16,r2.w)    ;01066f2812341330
    rotxr.l @(0x1234:16,er2.l)    ;01076f2812341330
    rotxr.l @(0x12345678:32,r2l.b)    ;78a56b28123456781330
    rotxr.l @(0x12345678:32,r2.w)    ;78a66b28123456781330
    rotxr.l @(0x12345678:32,er2.l)    ;78a76b28123456781330
    rotxr.l @0x1234:16           ;01046b0812341330
    rotxr.l @0x12345678:32           ;01046b28123456781330

    rotxr.b #2,r1h            ;1341
    rotxr.b #2,@er1          ;7d101340
    rotxr.b #2,@(0x3:2,er1)    ;017768181340
    rotxr.b #2,@er1+         ;01746c181340
    rotxr.b #2,@-er1         ;01776c181340
    rotxr.b #2,@+er1         ;01756c181340
    rotxr.b #2,@er1-         ;01766c181340
    rotxr.b #2,@(0x1234:16,er1)   ;01746e1812341340
    rotxr.b #2,@(0x12345678:32,er1)   ;78146a28123456781340
    rotxr.b #2,@(0x1234:16,r2l.b) ;01756e2812341340
    rotxr.b #2,@(0x1234:16,r2.w) ;01766e2812341340
    rotxr.b #2,@(0x1234:16,er2.l) ;01776e2812341340
    rotxr.b #2,@(0x12345678:32,r2l.b) ;78256a28123456781340
    rotxr.b #2,@(0x12345678:32,r2.w) ;78266a28123456781340
    rotxr.b #2,@(0x12345678:32,er2.l) ;78276a28123456781340
    rotxr.b #2,@0xffffff12:8         ;7f121340
    rotxr.b #2,@0x1234:16        ;6a1812341340
    rotxr.b #2,@0x12345678:32        ;6a38123456781340

    rotxr.w #2,r1            ;1351
    rotxr.w #2,@er1          ;7d901350
    rotxr.w #2,@(0x6:2,er1) ;015769181350
    rotxr.w #2,@er1+         ;01546d181350
    rotxr.w #2,@-er1         ;01576d181350
    rotxr.w #2,@+er1         ;01556d181350
    rotxr.w #2,@er1-         ;01566d181350
    rotxr.w #2,@(0x1234:16,er1)   ;01546f1812341350
    rotxr.w #2,@(0x12345678:32,er1)   ;78146b28123456781350
    rotxr.w #2,@(0x1234:16,r2l.b) ;01556f2812341350
    rotxr.w #2,@(0x1234:16,r2.w) ;01566f2812341350
    rotxr.w #2,@(0x1234:16,er2.l) ;01576f2812341350
    rotxr.w #2,@(0x12345678:32,r2l.b) ;78256b28123456781350
    rotxr.w #2,@(0x12345678:32,r2.w) ;78266b28123456781350
    rotxr.w #2,@(0x12345678:32,er2.l) ;78276b28123456781350
    rotxr.w #2,@0x1234:16        ;6b1812341350
    rotxr.w #2,@0x12345678:32        ;6b38123456781350

    rotxr.l #2,er1            ;1371
    rotxr.l #2,@er1          ;010469181370
    rotxr.l #2,@(0xc:2,er1) ;010769181370
    rotxr.l #2,@er1+         ;01046d181370
    rotxr.l #2,@-er1         ;01076d181370
    rotxr.l #2,@+er1         ;01056d181370
    rotxr.l #2,@er1-         ;01066d181370
    rotxr.l #2,@(0x1234:16,er1)   ;01046f1812341370
    rotxr.l #2,@(0x12345678:32,er1)   ;78946b28123456781370
    rotxr.l #2,@(0x1234:16,r2l.b) ;01056f2812341370
    rotxr.l #2,@(0x1234:16,r2.w) ;01066f2812341370
    rotxr.l #2,@(0x1234:16,er2.l) ;01076f2812341370
    rotxr.l #2,@(0x12345678:32,r2l.b) ;78a56b28123456781370
    rotxr.l #2,@(0x12345678:32,r2.w) ;78a66b28123456781370
    rotxr.l #2,@(0x12345678:32,er2.l) ;78a76b28123456781370
    rotxr.l #2,@0x1234:16        ;01046b0812341370
    rotxr.l #2,@0x12345678:32        ;01046b28123456781370

    rotl.b r1h                ;1281
    rotl.b @er1              ;7d101280
    rotl.b @(0x3:2,er1)        ;017768181280
    rotl.b @er1+             ;01746c181280
    rotl.b @-er1             ;01776c181280
    rotl.b @+er1             ;01756c181280
    rotl.b @er1-             ;01766c181280
    rotl.b @(0x1234:16,er1)       ;01746e1812341280
    rotl.b @(0x12345678:32,er1)       ;78146a28123456781280
    rotl.b @(0x1234:16,r2l.b)     ;01756e2812341280
    rotl.b @(0x1234:16,r2.w)     ;01766e2812341280
    rotl.b @(0x1234:16,er2.l)     ;01776e2812341280
    rotl.b @(0x12345678:32,r2l.b)     ;78256a28123456781280
    rotl.b @(0x12345678:32,r2.w)     ;78266a28123456781280
    rotl.b @(0x12345678:32,er2.l)     ;78276a28123456781280
    rotl.b @0xffffff12:8             ;7f121280
    rotl.b @0x1234:16            ;6a1812341280
    rotl.b @0x12345678:32            ;6a38123456781280

    rotl.w r1                ;1291
    rotl.w @er1              ;7d901290
    rotl.w @(0x6:2,er1)     ;015769181290
    rotl.w @-er1             ;01576d181290
    rotl.w @er1+             ;01546d181290
    rotl.w @er1-             ;01566d181290
    rotl.w @+er1             ;01556d181290
    rotl.w @(0x1234:16,er1)       ;01546f1812341290
    rotl.w @(0x12345678:32,er1)       ;78146b28123456781290
    rotl.w @(0x1234:16,r2l.b)     ;01556f2812341290
    rotl.w @(0x1234:16,r2.w)     ;01566f2812341290
    rotl.w @(0x1234:16,er2.l)     ;01576f2812341290
    rotl.w @(0x12345678:32,r2l.b)     ;78256b28123456781290
    rotl.w @(0x12345678:32,r2.w)     ;78266b28123456781290
    rotl.w @(0x12345678:32,er2.l)     ;78276b28123456781290
    rotl.w @0x1234:16            ;6b1812341290
    rotl.w @0x12345678:32            ;6b38123456781290

    rotl.l er1                ;12b1
    rotl.l @er1              ;0104691812b0
    rotl.l @(0xc:2,er1)     ;0107691812b0
    rotl.l @er1+             ;01046d1812b0
    rotl.l @-er1             ;01076d1812b0
    rotl.l @+er1             ;01056d1812b0
    rotl.l @er1-             ;01066d1812b0
    rotl.l @(0x1234:16,er1)       ;01046f18123412b0
    rotl.l @(0x12345678:32,er1)       ;78946b281234567812b0
    rotl.l @(0x1234:16,r2l.b)     ;01056f28123412b0
    rotl.l @(0x1234:16,r2.w)     ;01066f28123412b0
    rotl.l @(0x1234:16,er2.l)     ;01076f28123412b0
    rotl.l @(0x12345678:32,r2l.b)     ;78a56b281234567812b0
    rotl.l @(0x12345678:32,r2.w)     ;78a66b281234567812b0
    rotl.l @(0x12345678:32,er2.l)     ;78a76b281234567812b0
    rotl.l @0x1234:16            ;01046b08123412b0
    rotl.l @0x12345678:32            ;01046b281234567812b0

    rotl.b #2,r1h             ;12c1
    rotl.b #2,@er1           ;7d1012c0
    rotl.b #2,@(0x3:2,er1)     ;0177681812c0
    rotl.b #2,@er1+          ;01746c1812c0
    rotl.b #2,@-er1          ;01776c1812c0
    rotl.b #2,@+er1          ;01756c1812c0
    rotl.b #2,@er1-          ;01766c1812c0
    rotl.b #2,@(0x1234:16,er1)    ;01746e18123412c0
    rotl.b #2,@(0x12345678:32,er1)    ;78146a281234567812c0
    rotl.b #2,@(0x1234:16,r2l.b)  ;01756e28123412c0
    rotl.b #2,@(0x1234:16,r2.w)  ;01766e28123412c0
    rotl.b #2,@(0x1234:16,er2.l)  ;01776e28123412c0
    rotl.b #2,@(0x12345678:32,r2l.b)  ;78256a281234567812c0
    rotl.b #2,@(0x12345678:32,r2.w)  ;78266a281234567812c0
    rotl.b #2,@(0x12345678:32,er2.l)  ;78276a281234567812c0
    rotl.b #2,@0xffffff12:8          ;7f1212c0
    rotl.b #2,@0x1234:16         ;6a18123412c0
    rotl.b #2,@0x12345678:32         ;6a381234567812c0

    rotl.w #2,r1             ;12d1
    rotl.w #2,@er1           ;7d9012d0
    rotl.w #2,@(0x6:2,er1)  ;0157691812d0
    rotl.w #2,@er1+          ;01546d1812d0
    rotl.w #2,@-er1          ;01576d1812d0
    rotl.w #2,@+er1          ;01556d1812d0
    rotl.w #2,@er1-          ;01566d1812d0
    rotl.w #2,@(0x1234:16,er1)    ;01546f18123412d0
    rotl.w #2,@(0x12345678:32,er1)    ;78146b281234567812d0
    rotl.w #2,@(0x1234:16,r2l.b)  ;01556f28123412d0
    rotl.w #2,@(0x1234:16,r2.w)  ;01566f28123412d0
    rotl.w #2,@(0x1234:16,er2.l)  ;01576f28123412d0
    rotl.w #2,@(0x12345678:32,r2l.b)  ;78256b281234567812d0
    rotl.w #2,@(0x12345678:32,r2.w)  ;78266b281234567812d0
    rotl.w #2,@(0x12345678:32,er2.l)  ;78276b281234567812d0
    rotl.w #2,@0x1234:16         ;6b18123412d0
    rotl.w #2,@0x12345678:32         ;6b381234567812d0

    rotl.l #2,er1             ;12f1
    rotl.l #2,@er1           ;0104691812f0
    rotl.l #2,@(0xc:2,er1)  ;0107691812f0
    rotl.l #2,@er1+          ;01046d1812f0
    rotl.l #2,@-er1          ;01076d1812f0
    rotl.l #2,@+er1          ;01056d1812f0
    rotl.l #2,@er1-          ;01066d1812f0
    rotl.l #2,@(0x1234:16,er1)    ;01046f18123412f0
    rotl.l #2,@(0x12345678:32,er1)    ;78946b281234567812f0
    rotl.l #2,@(0x1234:16,r2l.b)  ;01056f28123412f0
    rotl.l #2,@(0x1234:16,r2.w)  ;01066f28123412f0
    rotl.l #2,@(0x1234:16,er2.l)  ;01076f28123412f0
    rotl.l #2,@(0x12345678:32,r2l.b)  ;78a56b281234567812f0
    rotl.l #2,@(0x12345678:32,r2.w)  ;78a66b281234567812f0
    rotl.l #2,@(0x12345678:32,er2.l)  ;78a76b281234567812f0
    rotl.l #2,@0x1234:16         ;01046b08123412f0
    rotl.l #2,@0x12345678:32         ;01046b281234567812f0

    rotr.b r1h                ;1381
    rotr.b @er1              ;7d101380
    rotr.b @(0x3:2,er1)        ;017768181380
    rotr.b @er1+             ;01746c181380
    rotr.b @-er1             ;01776c181380
    rotr.b @+er1             ;01756c181380
    rotr.b @er1-             ;01766c181380
    rotr.b @(0x1234:16,er1)       ;01746e1812341380
    rotr.b @(0x12345678:32,er1)       ;78146a28123456781380
    rotr.b @(0x1234:16,r2l.b)     ;01756e2812341380
    rotr.b @(0x1234:16,r2.w)     ;01766e2812341380
    rotr.b @(0x1234:16,er2.l)     ;01776e2812341380
    rotr.b @(0x12345678:32,r2l.b)     ;78256a28123456781380
    rotr.b @(0x12345678:32,r2.w)     ;78266a28123456781380
    rotr.b @(0x12345678:32,er2.l)     ;78276a28123456781380
    rotr.b @0xffffff12:8             ;7f121380
    rotr.b @0x1234:16            ;6a1812341380
    rotr.b @0x12345678:32            ;6a38123456781380

    rotr.w r1                ;1391
    rotr.w @er1              ;7d901390
    rotr.w @(0x6:2,er1)     ;015769181390
    rotr.w @-er1             ;01576d181390
    rotr.w @er1+             ;01546d181390
    rotr.w @er1-             ;01566d181390
    rotr.w @+er1             ;01556d181390
    rotr.w @(0x1234:16,er1)       ;01546f1812341390
    rotr.w @(0x12345678:32,er1)       ;78146b28123456781390
    rotr.w @(0x1234:16,r2l.b)     ;01556f2812341390
    rotr.w @(0x1234:16,r2.w)     ;01566f2812341390
    rotr.w @(0x1234:16,er2.l)     ;01576f2812341390
    rotr.w @(0x12345678:32,r2l.b)     ;78256b28123456781390
    rotr.w @(0x12345678:32,r2.w)     ;78266b28123456781390
    rotr.w @(0x12345678:32,er2.l)     ;78276b28123456781390
    rotr.w @0x1234:16            ;6b1812341390
    rotr.w @0x12345678:32            ;6b38123456781390

    rotr.l er1                ;13b1
    rotr.l @er1              ;0104691813b0
    rotr.l @(0xc:2,er1)     ;0107691813b0
    rotr.l @er1+             ;01046d1813b0
    rotr.l @-er1             ;01076d1813b0
    rotr.l @+er1             ;01056d1813b0
    rotr.l @er1-             ;01066d1813b0
    rotr.l @(0x1234:16,er1)       ;01046f18123413b0
    rotr.l @(0x12345678:32,er1)       ;78946b281234567813b0
    rotr.l @(0x1234:16,r2l.b)     ;01056f28123413b0
    rotr.l @(0x1234:16,r2.w)     ;01066f28123413b0
    rotr.l @(0x1234:16,er2.l)     ;01076f28123413b0
    rotr.l @(0x12345678:32,r2l.b)     ;78a56b281234567813b0
    rotr.l @(0x12345678:32,r2.w)     ;78a66b281234567813b0
    rotr.l @(0x12345678:32,er2.l)     ;78a76b281234567813b0
    rotr.l @0x1234:16            ;01046b08123413b0
    rotr.l @0x12345678:32            ;01046b281234567813b0

    rotr.b #2,r1h             ;13c1
    rotr.b #2,@er1           ;7d1013c0
    rotr.b #2,@(0x3:2,er1)     ;0177681813c0
    rotr.b #2,@er1+          ;01746c1813c0
    rotr.b #2,@-er1          ;01776c1813c0
    rotr.b #2,@+er1          ;01756c1813c0
    rotr.b #2,@er1-          ;01766c1813c0
    rotr.b #2,@(0x1234:16,er1)    ;01746e18123413c0
    rotr.b #2,@(0x12345678:32,er1)    ;78146a281234567813c0
    rotr.b #2,@(0x1234:16,r2l.b)  ;01756e28123413c0
    rotr.b #2,@(0x1234:16,r2.w)  ;01766e28123413c0
    rotr.b #2,@(0x1234:16,er2.l)  ;01776e28123413c0
    rotr.b #2,@(0x12345678:32,r2l.b)  ;78256a281234567813c0
    rotr.b #2,@(0x12345678:32,r2.w)  ;78266a281234567813c0
    rotr.b #2,@(0x12345678:32,er2.l)  ;78276a281234567813c0
    rotr.b #2,@0xffffff12:8          ;7f1213c0
    rotr.b #2,@0x1234:16         ;6a18123413c0
    rotr.b #2,@0x12345678:32         ;6a381234567813c0

    rotr.w #2,r1             ;13d1
    rotr.w #2,@er1           ;7d9013d0
    rotr.w #2,@(0x6:2,er1)  ;0157691813d0
    rotr.w #2,@er1+          ;01546d1813d0
    rotr.w #2,@-er1          ;01576d1813d0
    rotr.w #2,@+er1          ;01556d1813d0
    rotr.w #2,@er1-          ;01566d1813d0
    rotr.w #2,@(0x1234:16,er1)    ;01546f18123413d0
    rotr.w #2,@(0x12345678:32,er1)    ;78146b281234567813d0
    rotr.w #2,@(0x1234:16,r2l.b)  ;01556f28123413d0
    rotr.w #2,@(0x1234:16,r2.w)  ;01566f28123413d0
    rotr.w #2,@(0x1234:16,er2.l)  ;01576f28123413d0
    rotr.w #2,@(0x12345678:32,r2l.b)  ;78256b281234567813d0
    rotr.w #2,@(0x12345678:32,r2.w)  ;78266b281234567813d0
    rotr.w #2,@(0x12345678:32,er2.l)  ;78276b281234567813d0
    rotr.w #2,@0x1234:16         ;6b18123413d0
    rotr.w #2,@0x12345678:32         ;6b381234567813d0

    rotr.l #2,er1             ;13f1
    rotr.l #2,@er1           ;0104691813f0
    rotr.l #2,@(0xc:2,er1)  ;0107691813f0
    rotr.l #2,@er1+          ;01046d1813f0
    rotr.l #2,@-er1          ;01076d1813f0
    rotr.l #2,@+er1          ;01056d1813f0
    rotr.l #2,@er1-          ;01066d1813f0
    rotr.l #2,@(0x1234:16,er1)    ;01046f18123413f0
    rotr.l #2,@(0x12345678:32,er1)    ;78946b281234567813f0
    rotr.l #2,@(0x1234:16,r2l.b)  ;01056f28123413f0
    rotr.l #2,@(0x1234:16,r2.w)  ;01066f28123413f0
    rotr.l #2,@(0x1234:16,er2.l)  ;01076f28123413f0
    rotr.l #2,@(0x12345678:32,r2l.b)  ;78a56b281234567813f0
    rotr.l #2,@(0x12345678:32,r2.w)  ;78a66b281234567813f0
    rotr.l #2,@(0x12345678:32,er2.l)  ;78a76b281234567813f0
    rotr.l #2,@0x1234:16         ;01046b08123413f0
    rotr.l #2,@0x12345678:32         ;01046b281234567813f0

	.end
