;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;arith_1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	.h8300sx
	.text
_start:
    sub.b #0x12:8,@er1                       ;7d10a112
    sub.b #0x12:8,@(0x3:2,er1)                 ;01776818a112
    sub.b #0x12:8,@er1+                      ;01746c18a112
    sub.b #0x12:8,@-er1                      ;01776c18a112
    sub.b #0x12:8,@+er1                      ;01756c18a112
    sub.b #0x12:8,@er1-                      ;01766c18a112
    sub.b #0x12:8,@(0x1234:16,er1)                ;01746e181234a112
    sub.b #0x12:8,@(0x12345678:32,er1)                ;78146a2812345678a112
    sub.b #0x12:8,@(0x1234:16,r2l.b)              ;01756e281234a112
    sub.b #0x12:8,@(0x1234:16,r2.w)              ;01766e281234a112
    sub.b #0x12:8,@(0x1234:16,er2.l)              ;01776e281234a112
    sub.b #0x12:8,@(0x12345678:32,r2l.b)              ;78256a2812345678a112
    sub.b #0x12:8,@(0x12345678:32,r2.w)              ;78266a2812345678a112
    sub.b #0x12:8,@(0x12345678:32,er2.l)              ;78276a2812345678a112
    sub.b #0x12:8,@0xffffff9a:8                      ;7f9aa112
    sub.b #0x12:8,@0x1234:16                     ;6a181234a112
    sub.b #0x12:8,@0x12345678:32                     ;6a3812345678a112

    sub.b r3h,r1h                           ;1831

    sub.b r3h,@er1                         ;7d101830
    sub.b r3h,@(0x3:2,er1)                   ;01793133
    sub.b r3h,@er1+                        ;01798133
    sub.b r3h,@-er1                        ;0179b133
    sub.b r3h,@+er1                        ;01799133
    sub.b r3h,@er1-                        ;0179a133
    sub.b r3h,@(0x1234:16,er1)                  ;0179c1331234
    sub.b r3h,@(0x12345678:32,er1)                  ;0179c93312345678
    sub.b r3h,@(0x1234:16,r2l.b)                ;0179d2331234
    sub.b r3h,@(0x1234:16,r2.w)                ;0179e2331234
    sub.b r3h,@(0x1234:16,er2.l)                ;0179f2331234
    sub.b r3h,@(0x12345678:32,r2l.b)                ;0179da3312345678
    sub.b r3h,@(0x12345678:32,r2.w)                ;0179ea3312345678
    sub.b r3h,@(0x12345678:32,er2.l)                ;0179fa3312345678
    sub.b r3h,@0xffffff12:8                        ;7f121830
    sub.b r3h,@0x1234:16                       ;6a1812341830
    sub.b r3h,@0x12345678:32                        ;6a38123456781830

    sub.b @er3,r1h                         ;7c301801
    sub.b @(0x3:2,er3),r1h                  ;017a3331
    sub.b @er3+,r1h                       ;017a8331
    sub.b @-er3,r1h                       ;017ab331
    sub.b @+er3,r1h                       ;017a9331
    sub.b @er3-,r1h                       ;017aa331
    sub.b @(0x1234:16,er1),r1h                  ;017ac1311234
    sub.b @(0x12345678:32,er1),r1h                  ;017ac93112345678
    sub.b @(0x1234:16,r2l.b),r1h                ;017ad2311234
    sub.b @(0x1234:16,r2.w),r1h                ;017ae2311234
    sub.b @(0x1234:16,er2.l),r1h                ;017af2311234
    sub.b @(0x12345678:32,r2l.b),r1h                ;017ada3112345678
    sub.b @(0x12345678:32,r2.w),r1h                ;017aea3112345678
    sub.b @(0x12345678:32,er2.l),r1h                ;017afa3112345678
    sub.b @0xffffff12:8,r1h                        ;7e121801
    sub.b @0x1234:16,r1h                       ;6a1012341801
    sub.b @0x12345678:32,r1h                       ;6a30123456781801

    sub.b @er3,@er1                                ;7c350130
    sub.b @er3,@(3:2,er1)                          ;7c353130
    sub.b @er3,@-er1                               ;7c35b130
    sub.b @er3,@er1+                               ;7c358130
    sub.b @er3,@er1-                               ;7c35a130
    sub.b @er3,@+er1                               ;7c359130
    sub.b @er3,@(0xffff9abc:16,er1)                ;7c35c1309abc
    sub.b @er3,@(0x9abcdef0:32,er1)                ;7c35c9309abcdef0
    sub.b @er3,@(0xffff9abc:16,r2l.b)              ;7c35d2309abc
    sub.b @er3,@(0xffff9abc:16,r2.w)              ;7c35e2309abc
    sub.b @er3,@(0xffff9abc:16,er2.l)              ;7c35f2309abc
    sub.b @er3,@(0x9abcdef0:32,r2l.b)              ;7c35da309abcdef0
    sub.b @er3,@(0x9abcdef0:32,r2.w)              ;7c35ea309abcdef0
    sub.b @er3,@(0x9abcdef0:32,er2.l)              ;7c35fa309abcdef0
    sub.b @er3,@0xffff9abc:16                      ;7c3540309abc
    sub.b @er3,@0x9abcdef0:32                      ;7c3548309abcdef0

    sub.b @-er3,@er1                               ;01776c3c0130
    sub.b @-er3,@(3:2,er1)                         ;01776c3c3130
    sub.b @-er3,@-er1                              ;01776c3cb130
    sub.b @-er3,@er1+                              ;01776c3c8130
    sub.b @-er3,@er1-                              ;01776c3ca130
    sub.b @-er3,@+er1                              ;01776c3c9130
    sub.b @-er3,@(0xffff9abc:16,er1)               ;01776c3cc1309abc
    sub.b @-er3,@(0x9abcdef0:32,er1)               ;01776c3cc9309abcdef0
    sub.b @-er3,@(0xffff9abc:16,r2l.b)             ;01776c3cd2309abc
    sub.b @-er3,@(0xffff9abc:16,r2.w)             ;01776c3ce2309abc
    sub.b @-er3,@(0xffff9abc:16,er2.l)             ;01776c3cf2309abc
    sub.b @-er3,@(0x9abcdef0:32,r2l.b)             ;01776c3cda309abcdef0
    sub.b @-er3,@(0x9abcdef0:32,r2.w)             ;01776c3cea309abcdef0
    sub.b @-er3,@(0x9abcdef0:32,er2.l)             ;01776c3cfa309abcdef0
    sub.b @-er3,@0xffff9abc:16                     ;01776c3c40309abc
    sub.b @-er3,@0x9abcdef0:32                     ;01776c3c48309abcdef0

    sub.b @er3+,@er1                               ;01746c3c0130
    sub.b @er3+,@(3:2,er1)                         ;01746c3c3130
    sub.b @er3+,@-er1                              ;01746c3cb130
    sub.b @er3+,@er1+                              ;01746c3c8130
    sub.b @er3+,@er1-                              ;01746c3ca130
    sub.b @er3+,@+er1                              ;01746c3c9130
    sub.b @er3+,@(0xffff9abc:16,er1)               ;01746c3cc1309abc
    sub.b @er3+,@(0x9abcdef0:32,er1)               ;01746c3cc9309abcdef0
    sub.b @er3+,@(0xffff9abc:16,r2l.b)             ;01746c3cd2309abc
    sub.b @er3+,@(0xffff9abc:16,r2.w)             ;01746c3ce2309abc
    sub.b @er3+,@(0xffff9abc:16,er2.l)             ;01746c3cf2309abc
    sub.b @er3+,@(0x9abcdef0:32,r2l.b)             ;01746c3cda309abcdef0
    sub.b @er3+,@(0x9abcdef0:32,r2.w)             ;01746c3cea309abcdef0
    sub.b @er3+,@(0x9abcdef0:32,er2.l)             ;01746c3cfa309abcdef0
    sub.b @er3+,@0xffff9abc:16                     ;01746c3c40309abc
    sub.b @er3+,@0x9abcdef0:32                     ;01746c3c48309abcdef0

    sub.b @er3-,@er1                               ;01766c3c0130
    sub.b @er3-,@(3:2,er1)                         ;01766c3c3130
    sub.b @er3-,@-er1                              ;01766c3cb130
    sub.b @er3-,@er1+                              ;01766c3c8130
    sub.b @er3-,@er1-                              ;01766c3ca130
    sub.b @er3-,@+er1                              ;01766c3c9130
    sub.b @er3-,@(0xffff9abc:16,er1)               ;01766c3cc1309abc
    sub.b @er3-,@(0x9abcdef0:32,er1)               ;01766c3cc9309abcdef0
    sub.b @er3-,@(0xffff9abc:16,r2l.b)             ;01766c3cd2309abc
    sub.b @er3-,@(0xffff9abc:16,r2.w)             ;01766c3ce2309abc
    sub.b @er3-,@(0xffff9abc:16,er2.l)             ;01766c3cf2309abc
    sub.b @er3-,@(0x9abcdef0:32,r2l.b)             ;01766c3cda309abcdef0
    sub.b @er3-,@(0x9abcdef0:32,r2.w)             ;01766c3cea309abcdef0
    sub.b @er3-,@(0x9abcdef0:32,er2.l)             ;01766c3cfa309abcdef0
    sub.b @er3-,@0xffff9abc:16                     ;01766c3c40309abc
    sub.b @er3-,@0x9abcdef0:32                     ;01766c3c48309abcdef0

    sub.b @+er3,@er1                               ;01756c3c0130
    sub.b @+er3,@(3:2,er1)                         ;01756c3c3130
    sub.b @+er3,@-er1                              ;01756c3cb130
    sub.b @+er3,@er1+                              ;01756c3c8130
    sub.b @+er3,@er1-                              ;01756c3ca130
    sub.b @+er3,@+er1                              ;01756c3c9130
    sub.b @+er3,@(0xffff9abc:16,er1)               ;01756c3cc1309abc
    sub.b @+er3,@(0x9abcdef0:32,er1)               ;01756c3cc9309abcdef0
    sub.b @+er3,@(0xffff9abc:16,r2l.b)             ;01756c3cd2309abc
    sub.b @+er3,@(0xffff9abc:16,r2.w)             ;01756c3ce2309abc
    sub.b @+er3,@(0xffff9abc:16,er2.l)             ;01756c3cf2309abc
    sub.b @+er3,@(0x9abcdef0:32,r2l.b)             ;01756c3cda309abcdef0
    sub.b @+er3,@(0x9abcdef0:32,r2.w)             ;01756c3cea309abcdef0
    sub.b @+er3,@(0x9abcdef0:32,er2.l)             ;01756c3cfa309abcdef0
    sub.b @+er3,@0xffff9abc:16                     ;01756c3c40309abc
    sub.b @+er3,@0x9abcdef0:32                     ;01756c3c48309abcdef0

    sub.b @(0x1234:16,er3),@er1                         ;01746e3c12340130
    sub.b @(0x1234:16,er3),@(3:2,er1)                   ;01746e3c12343130
    sub.b @(0x1234:16,er3),@-er1                        ;01746e3c1234b130
    sub.b @(0x1234:16,er3),@er1+                        ;01746e3c12348130
    sub.b @(0x1234:16,er3),@er1-                        ;01746e3c1234a130
    sub.b @(0x1234:16,er3),@+er1                        ;01746e3c12349130
    sub.b @(0x1234:16,er3),@(0xffff9abc:16,er1)         ;01746e3c1234c1309abc
    sub.b @(0x1234:16,er3),@(0x9abcdef0:32,er1)         ;01746e3c1234c9309abcdef0
    sub.b @(0x1234:16,er3),@(0xffff9abc:16,r2l.b)       ;01746e3c1234d2309abc
    sub.b @(0x1234:16,er3),@(0xffff9abc:16,r2.w)       ;01746e3c1234e2309abc
    sub.b @(0x1234:16,er3),@(0xffff9abc:16,er2.l)       ;01746e3c1234f2309abc
    sub.b @(0x1234:16,er3),@(0x9abcdef0:32,r2l.b)       ;01746e3c1234da309abcdef0
    sub.b @(0x1234:16,er3),@(0x9abcdef0:32,r2.w)       ;01746e3c1234ea309abcdef0
    sub.b @(0x1234:16,er3),@(0x9abcdef0:32,er2.l)       ;01746e3c1234fa309abcdef0
    sub.b @(0x1234:16,er3),@0xffff9abc:16               ;01746e3c123440309abc
    sub.b @(0x1234:16,er3),@0x9abcdef0:32               ;01746e3c123448309abcdef0

    sub.b @(0x12345678:32,er3),@er1                         ;78346a2c123456780130
    sub.b @(0x12345678:32,er3),@(3:2,er1)                   ;78346a2c123456783130
    sub.b @(0x12345678:32,er3),@-er1                        ;78346a2c12345678b130
    sub.b @(0x12345678:32,er3),@er1+                        ;78346a2c123456788130
    sub.b @(0x12345678:32,er3),@er1-                        ;78346a2c12345678a130
    sub.b @(0x12345678:32,er3),@+er1                        ;78346a2c123456789130
    sub.b @(0x12345678:32,er3),@(0xffff9abc:16,er1)         ;78346a2c12345678c1309abc
    sub.b @(0x12345678:32,er3),@(0x9abcdef0:32,er1)         ;78346a2c12345678c9309abcdef0
    sub.b @(0x12345678:32,er3),@(0xffff9abc:16,r2l.b)       ;78346a2c12345678d2309abc
    sub.b @(0x12345678:32,er3),@(0xffff9abc:16,r2.w)       ;78346a2c12345678e2309abc
    sub.b @(0x12345678:32,er3),@(0xffff9abc:16,er2.l)       ;78346a2c12345678f2309abc
    sub.b @(0x12345678:32,er3),@(0x9abcdef0:32,r2l.b)       ;78346a2c12345678da309abcdef0
    sub.b @(0x12345678:32,er3),@(0x9abcdef0:32,r2.w)       ;78346a2c12345678ea309abcdef0
    sub.b @(0x12345678:32,er3),@(0x9abcdef0:32,er2.l)       ;78346a2c12345678fa309abcdef0
    sub.b @(0x12345678:32,er3),@0xffff9abc:16               ;78346a2c1234567840309abc
    sub.b @(0x12345678:32,er3),@0x9abcdef0:32               ;78346a2c1234567848309abcdef0

    sub.b @(0x1234:16,r3l.b),@er1                       ;01756e3c12340130
    sub.b @(0x1234:16,r3l.b),@(3:2,er1)                 ;01756e3c12343130
    sub.b @(0x1234:16,r3l.b),@-er1                      ;01756e3c1234b130
    sub.b @(0x1234:16,r3l.b),@er1+                      ;01756e3c12348130
    sub.b @(0x1234:16,r3l.b),@er1-                      ;01756e3c1234a130
    sub.b @(0x1234:16,r3l.b),@+er1                      ;01756e3c12349130
    sub.b @(0x1234:16,r3l.b),@(0xffff9abc:16,er1)       ;01756e3c1234c1309abc
    sub.b @(0x1234:16,r3l.b),@(0x9abcdef0:32,er1)       ;01756e3c1234c9309abcdef0
    sub.b @(0x1234:16,r3l.b),@(0xffff9abc:16,r2l.b)     ;01756e3c1234d2309abc
    sub.b @(0x1234:16,r3l.b),@(0xffff9abc:16,r2.w)     ;01756e3c1234e2309abc
    sub.b @(0x1234:16,r3l.b),@(0xffff9abc:16,er2.l)     ;01756e3c1234f2309abc
    sub.b @(0x1234:16,r3l.b),@(0x9abcdef0:32,r2l.b)     ;01756e3c1234da309abcdef0
    sub.b @(0x1234:16,r3l.b),@(0x9abcdef0:32,r2.w)     ;01756e3c1234ea309abcdef0
    sub.b @(0x1234:16,r3l.b),@(0x9abcdef0:32,er2.l)     ;01756e3c1234fa309abcdef0
    sub.b @(0x1234:16,r3l.b),@0xffff9abc:16             ;01756e3c123440309abc
    sub.b @(0x1234:16,r3l.b),@0x9abcdef0:32             ;01756e3c123448309abcdef0

    sub.b @(0x1234:16,r3.w),@er1                       ;01766e3c12340130
    sub.b @(0x1234:16,r3.w),@(3:2,er1)                 ;01766e3c12343130
    sub.b @(0x1234:16,r3.w),@-er1                      ;01766e3c1234b130
    sub.b @(0x1234:16,r3.w),@er1+                      ;01766e3c12348130
    sub.b @(0x1234:16,r3.w),@er1-                      ;01766e3c1234a130
    sub.b @(0x1234:16,r3.w),@+er1                      ;01766e3c12349130
    sub.b @(0x1234:16,r3.w),@(0xffff9abc:16,er1)       ;01766e3c1234c1309abc
    sub.b @(0x1234:16,r3.w),@(0x9abcdef0:32,er1)       ;01766e3c1234c9309abcdef0
    sub.b @(0x1234:16,r3.w),@(0xffff9abc:16,r2l.b)     ;01766e3c1234d2309abc
    sub.b @(0x1234:16,r3.w),@(0xffff9abc:16,r2.w)     ;01766e3c1234e2309abc
    sub.b @(0x1234:16,r3.w),@(0xffff9abc:16,er2.l)     ;01766e3c1234f2309abc
    sub.b @(0x1234:16,r3.w),@(0x9abcdef0:32,r2l.b)     ;01766e3c1234da309abcdef0
    sub.b @(0x1234:16,r3.w),@(0x9abcdef0:32,r2.w)     ;01766e3c1234ea309abcdef0
    sub.b @(0x1234:16,r3.w),@(0x9abcdef0:32,er2.l)     ;01766e3c1234fa309abcdef0
    sub.b @(0x1234:16,r3.w),@0xffff9abc:16             ;01766e3c123440309abc
    sub.b @(0x1234:16,r3.w),@0x9abcdef0:32             ;01766e3c123448309abcdef0

    sub.b @(0x1234:16,er3.l),@er1                       ;01776e3c12340130
    sub.b @(0x1234:16,er3.l),@(3:2,er1)                 ;01776e3c12343130
    sub.b @(0x1234:16,er3.l),@-er1                      ;01776e3c1234b130
    sub.b @(0x1234:16,er3.l),@er1+                      ;01776e3c12348130
    sub.b @(0x1234:16,er3.l),@er1-                      ;01776e3c1234a130
    sub.b @(0x1234:16,er3.l),@+er1                      ;01776e3c12349130
    sub.b @(0x1234:16,er3.l),@(0xffff9abc:16,er1)       ;01776e3c1234c1309abc
    sub.b @(0x1234:16,er3.l),@(0x9abcdef0:32,er1)       ;01776e3c1234c9309abcdef0
    sub.b @(0x1234:16,er3.l),@(0xffff9abc:16,r2l.b)     ;01776e3c1234d2309abc
    sub.b @(0x1234:16,er3.l),@(0xffff9abc:16,r2.w)     ;01776e3c1234e2309abc
    sub.b @(0x1234:16,er3.l),@(0xffff9abc:16,er2.l)     ;01776e3c1234f2309abc
    sub.b @(0x1234:16,er3.l),@(0x9abcdef0:32,r2l.b)     ;01776e3c1234da309abcdef0
    sub.b @(0x1234:16,er3.l),@(0x9abcdef0:32,r2.w)     ;01776e3c1234ea309abcdef0
    sub.b @(0x1234:16,er3.l),@(0x9abcdef0:32,er2.l)     ;01776e3c1234fa309abcdef0
    sub.b @(0x1234:16,er3.l),@0xffff9abc:16             ;01776e3c123440309abc
    sub.b @(0x1234:16,er3.l),@0x9abcdef0:32             ;01776e3c123448309abcdef0

    sub.b @(0x12345678:32,r3l.b),@er1                       ;78356a2c123456780130
    sub.b @(0x12345678:32,r3l.b),@(3:2,er1)                 ;78356a2c123456783130
    sub.b @(0x12345678:32,r3l.b),@-er1                      ;78356a2c12345678b130
    sub.b @(0x12345678:32,r3l.b),@er1+                      ;78356a2c123456788130
    sub.b @(0x12345678:32,r3l.b),@er1-                      ;78356a2c12345678a130
    sub.b @(0x12345678:32,r3l.b),@+er1                      ;78356a2c123456789130
    sub.b @(0x12345678:32,r3l.b),@(0xffff9abc:16,er1)       ;78356a2c12345678c1309abc
    sub.b @(0x12345678:32,r3l.b),@(0x9abcdef0:32,er1)       ;78356a2c12345678c9309abcdef0
    sub.b @(0x12345678:32,r3l.b),@(0xffff9abc:16,r2l.b)     ;78356a2c12345678d2309abc
    sub.b @(0x12345678:32,r3l.b),@(0xffff9abc:16,r2.w)     ;78356a2c12345678e2309abc
    sub.b @(0x12345678:32,r3l.b),@(0xffff9abc:16,er2.l)     ;78356a2c12345678f2309abc
    sub.b @(0x12345678:32,r3l.b),@(0x9abcdef0:32,r2l.b)     ;78356a2c12345678da309abcdef0
    sub.b @(0x12345678:32,r3l.b),@(0x9abcdef0:32,r2.w)     ;78356a2c12345678ea309abcdef0
    sub.b @(0x12345678:32,r3l.b),@(0x9abcdef0:32,er2.l)     ;78356a2c12345678fa309abcdef0
    sub.b @(0x12345678:32,r3l.b),@0xffff9abc:16             ;78356a2c1234567840309abc
    sub.b @(0x12345678:32,r3l.b),@0x9abcdef0:32             ;78356a2c1234567848309abcdef0

    sub.b @(0x12345678:32,r3.w),@er1                       ;78366a2c123456780130
    sub.b @(0x12345678:32,r3.w),@(3:2,er1)                 ;78366a2c123456783130
    sub.b @(0x12345678:32,r3.w),@-er1                      ;78366a2c12345678b130
    sub.b @(0x12345678:32,r3.w),@er1+                      ;78366a2c123456788130
    sub.b @(0x12345678:32,r3.w),@er1-                      ;78366a2c12345678a130
    sub.b @(0x12345678:32,r3.w),@+er1                      ;78366a2c123456789130
    sub.b @(0x12345678:32,r3.w),@(0xffff9abc:16,er1)       ;78366a2c12345678c1309abc
    sub.b @(0x12345678:32,r3.w),@(0x9abcdef0:32,er1)       ;78366a2c12345678c9309abcdef0
    sub.b @(0x12345678:32,r3.w),@(0xffff9abc:16,r2l.b)     ;78366a2c12345678d2309abc
    sub.b @(0x12345678:32,r3.w),@(0xffff9abc:16,r2.w)     ;78366a2c12345678e2309abc
    sub.b @(0x12345678:32,r3.w),@(0xffff9abc:16,er2.l)     ;78366a2c12345678f2309abc
    sub.b @(0x12345678:32,r3.w),@(0x9abcdef0:32,r2l.b)     ;78366a2c12345678da309abcdef0
    sub.b @(0x12345678:32,r3.w),@(0x9abcdef0:32,r2.w)     ;78366a2c12345678ea309abcdef0
    sub.b @(0x12345678:32,r3.w),@(0x9abcdef0:32,er2.l)     ;78366a2c12345678fa309abcdef0
    sub.b @(0x12345678:32,r3.w),@0xffff9abc:16             ;78366a2c1234567840309abc
    sub.b @(0x12345678:32,r3.w),@0x9abcdef0:32             ;78366a2c1234567848309abcdef0

    sub.b @(0x12345678:32,er3.l),@er1                       ;78376a2c123456780130
    sub.b @(0x12345678:32,er3.l),@(3:2,er1)                 ;78376a2c123456783130
    sub.b @(0x12345678:32,er3.l),@-er1                      ;78376a2c12345678b130
    sub.b @(0x12345678:32,er3.l),@er1+                      ;78376a2c123456788130
    sub.b @(0x12345678:32,er3.l),@er1-                      ;78376a2c12345678a130
    sub.b @(0x12345678:32,er3.l),@+er1                      ;78376a2c123456789130
    sub.b @(0x12345678:32,er3.l),@(0xffff9abc:16,er1)       ;78376a2c12345678c1309abc
    sub.b @(0x12345678:32,er3.l),@(0x9abcdef0:32,er1)       ;78376a2c12345678c9309abcdef0
    sub.b @(0x12345678:32,er3.l),@(0xffff9abc:16,r2l.b)     ;78376a2c12345678d2309abc
    sub.b @(0x12345678:32,er3.l),@(0xffff9abc:16,r2.w)     ;78376a2c12345678e2309abc
    sub.b @(0x12345678:32,er3.l),@(0xffff9abc:16,er2.l)     ;78376a2c12345678f2309abc
    sub.b @(0x12345678:32,er3.l),@(0x9abcdef0:32,r2l.b)     ;78376a2c12345678da309abcdef0
    sub.b @(0x12345678:32,er3.l),@(0x9abcdef0:32,r2.w)     ;78376a2c12345678ea309abcdef0
    sub.b @(0x12345678:32,er3.l),@(0x9abcdef0:32,er2.l)     ;78376a2c12345678fa309abcdef0
    sub.b @(0x12345678:32,er3.l),@0xffff9abc:16             ;78376a2c1234567840309abc
    sub.b @(0x12345678:32,er3.l),@0x9abcdef0:32             ;78376a2c1234567848309abcdef0

    sub.b @0x1234:16,@er1                              ;6a1512340130
    sub.b @0x1234:16,@(3:2,er1)                        ;6a1512343130
    sub.b @0x1234:16,@-er1                             ;6a151234b130
    sub.b @0x1234:16,@er1+                             ;6a1512348130
    sub.b @0x1234:16,@er1-                             ;6a151234a130
    sub.b @0x1234:16,@+er1                             ;6a1512349130
    sub.b @0x1234:16,@(0xffff9abc:16,er1)              ;6a151234c1309abc
    sub.b @0x1234:16,@(0x9abcdef0:32,er1)              ;6a151234c9309abcdef0
    sub.b @0x1234:16,@(0xffff9abc:16,r2l.b)            ;6a151234d2309abc
    sub.b @0x1234:16,@(0xffff9abc:16,r2.w)            ;6a151234e2309abc
    sub.b @0x1234:16,@(0xffff9abc:16,er2.l)            ;6a151234f2309abc
    sub.b @0x1234:16,@(0x9abcdef0:32,r2l.b)            ;6a151234da309abcdef0
    sub.b @0x1234:16,@(0x9abcdef0:32,r2.w)            ;6a151234ea309abcdef0
    sub.b @0x1234:16,@(0x9abcdef0:32,er2.l)            ;6a151234fa309abcdef0
    sub.b @0x1234:16,@0xffff9abc:16                    ;6a15123440309abc
    sub.b @0x1234:16,@0x9abcdef0:32                    ;6a15123448309abcdef0

    sub.b @0x12345678:32,@er1                              ;6a35123456780130
    sub.b @0x12345678:32,@(3:2,er1)                        ;6a35123456783130
    sub.b @0x12345678:32,@-er1                             ;6a3512345678b130
    sub.b @0x12345678:32,@er1+                             ;6a35123456788130
    sub.b @0x12345678:32,@er1-                             ;6a3512345678a130
    sub.b @0x12345678:32,@+er1                             ;6a35123456789130
    sub.b @0x12345678:32,@(0xffff9abc:16,er1)              ;6a3512345678c1309abc
    sub.b @0x12345678:32,@(0x9abcdef0:32,er1)              ;6a3512345678c9309abcdef0
    sub.b @0x12345678:32,@(0xffff9abc:16,r2l.b)            ;6a3512345678d2309abc
    sub.b @0x12345678:32,@(0xffff9abc:16,r2.w)            ;6a3512345678e2309abc
    sub.b @0x12345678:32,@(0xffff9abc:16,er2.l)            ;6a3512345678f2309abc
    sub.b @0x12345678:32,@(0x9abcdef0:32,r2l.b)            ;6a3512345678da309abcdef0
    sub.b @0x12345678:32,@(0x9abcdef0:32,r2.w)            ;6a3512345678ea309abcdef0
    sub.b @0x12345678:32,@(0x9abcdef0:32,er2.l)            ;6a3512345678fa309abcdef0
    sub.b @0x12345678:32,@0xffff9abc:16                    ;6a351234567840309abc
    sub.b @0x12345678:32,@0x9abcdef0:32                    ;6a351234567848309abcdef0

    sub.w #0x1234:16,r1                       ;79311234
    sub.w #7:3,r2                         ;1a72
    sub.w #0x1234:16,@er1                      ;015e01301234
    sub.w #0x1234:16,@(0x6:2,er1)             ;015e31301234
    sub.w #0x1234:16,@er1+                     ;015e81301234
    sub.w #0x1234:16,@-er1                     ;015eb1301234
    sub.w #0x1234:16,@+er1                     ;015e91301234
    sub.w #0x1234:16,@er1-                     ;015ea1301234
    sub.w #0x1234:16,@(0xffff9abc:16,er1)               ;015ec1309abc1234
    sub.w #0x1234:16,@(0x9abcdef0:32,er1)               ;015ec9309abcdef01234
    sub.w #0x1234:16,@(0xffff9abc:16,r2l.b)             ;015ed2309abc1234
    sub.w #0x1234:16,@(0xffff9abc:16,r2.w)             ;015ee2309abc1234
    sub.w #0x1234:16,@(0xffff9abc:16,er2.l)             ;015ef2309abc1234
    sub.w #0x1234:16,@(0x9abcdef0:32,r2l.b)             ;015eda309abcdef01234
    sub.w #0x1234:16,@(0x9abcdef0:32,r2.w)             ;015eea309abcdef01234
    sub.w #0x1234:16,@(0x9abcdef0:32,er2.l)             ;015efa309abcdef01234
    sub.w #0x1234:16,@0xffff9abc:16                     ;015e40309abc1234
    sub.w #0x1234:16,@0x9abcdef0:32                     ;015e48309abcdef01234

    sub.w #0x7:3,@er1                       ;7d901a70
    sub.w #0x7:3,@0x1234:16                     ;6b1812341a70
    sub.w #0x7:3,@0x12345678:32                     ;6b38123456781a70

    sub.w r3,r1                           ;1931

    sub.w r3,@er1                         ;7d901930
    sub.w r3,@(0x6:2,er1)                ;01593133
    sub.w r3,@er1+                        ;01598133
    sub.w r3,@-er1                        ;0159b133
    sub.w r3,@+er1                        ;01599133
    sub.w r3,@er1-                        ;0159a133
    sub.w r3,@(0x1234:16,er1)                  ;0159c1331234
    sub.w r3,@(0x12345678:32,er1)                  ;0159c93312345678
    sub.w r3,@(0x1234:16,r2l.b)                ;0159d2331234
    sub.w r3,@(0x1234:16,r2.w)                ;0159e2331234
    sub.w r3,@(0x1234:16,er2.l)                ;0159f2331234
    sub.w r3,@(0x12345678:32,r2l.b)                ;0159da3312345678
    sub.w r3,@(0x12345678:32,r2.w)                ;0159ea3312345678
    sub.w r3,@(0x12345678:32,er2.l)                ;0159fa3312345678
    sub.w r3,@0x1234:16                       ;6b1812341930
    sub.w r3,@0x12345678:32                       ;6b38123456781930

    sub.w @er3,r1                         ;7cb01901
    sub.w @(0x6:2,er3),r1               ;015a3331
    sub.w @er3+,r1                       ;015a8331
    sub.w @-er3,r1                       ;015ab331
    sub.w @+er3,r1                       ;015a9331
    sub.w @er3-,r1                       ;015aa331
    sub.w @(0x1234:16,er1),r1                  ;015ac1311234
    sub.w @(0x12345678:32,er1),r1                  ;015ac93112345678
    sub.w @(0x1234:16,r2l.b),r1                ;015ad2311234
    sub.w @(0x1234:16,r2.w),r1                ;015ae2311234
    sub.w @(0x1234:16,er2.l),r1                ;015af2311234
    sub.w @(0x12345678:32,r2l.b),r1                ;015ada3112345678
    sub.w @(0x12345678:32,r2.w),r1                ;015aea3112345678
    sub.w @(0x12345678:32,er2.l),r1                ;015afa3112345678
    sub.w @0x1234:16,r1                       ;6b1012341901
    sub.w @0x12345678:32,r1                       ;6b30123456781901

    sub.w @er3,@er1                                ;7cb50130
    sub.w @er3,@(6:2,er1)                          ;7cb53130
    sub.w @er3,@-er1                               ;7cb5b130
    sub.w @er3,@er1+                               ;7cb58130
    sub.w @er3,@er1-                               ;7cb5a130
    sub.w @er3,@+er1                               ;7cb59130
    sub.w @er3,@(0xffff9abc:16,er1)                ;7cb5c1309abc
    sub.w @er3,@(0x9abcdef0:32,er1)                ;7cb5c9309abcdef0
    sub.w @er3,@(0xffff9abc:16,r2l.b)              ;7cb5d2309abc
    sub.w @er3,@(0xffff9abc:16,r2.w)              ;7cb5e2309abc
    sub.w @er3,@(0xffff9abc:16,er2.l)              ;7cb5f2309abc
    sub.w @er3,@(0x9abcdef0:32,r2l.b)              ;7cb5da309abcdef0
    sub.w @er3,@(0x9abcdef0:32,r2.w)              ;7cb5ea309abcdef0
    sub.w @er3,@(0x9abcdef0:32,er2.l)              ;7cb5fa309abcdef0
    sub.w @er3,@0xffff9abc:16                      ;7cb540309abc
    sub.w @er3,@0x9abcdef0:32                      ;7cb548309abcdef0

    sub.w @-er3,@er1                               ;01576d3c0130
    sub.w @-er3,@(6:2,er1)                         ;01576d3c3130
    sub.w @-er3,@-er1                              ;01576d3cb130
    sub.w @-er3,@er1+                              ;01576d3c8130
    sub.w @-er3,@er1-                              ;01576d3ca130
    sub.w @-er3,@+er1                              ;01576d3c9130
    sub.w @-er3,@(0xffff9abc:16,er1)               ;01576d3cc1309abc
    sub.w @-er3,@(0x9abcdef0:32,er1)               ;01576d3cc9309abcdef0
    sub.w @-er3,@(0xffff9abc:16,r2l.b)             ;01576d3cd2309abc
    sub.w @-er3,@(0xffff9abc:16,r2.w)             ;01576d3ce2309abc
    sub.w @-er3,@(0xffff9abc:16,er2.l)             ;01576d3cf2309abc
    sub.w @-er3,@(0x9abcdef0:32,r2l.b)             ;01576d3cda309abcdef0
    sub.w @-er3,@(0x9abcdef0:32,r2.w)             ;01576d3cea309abcdef0
    sub.w @-er3,@(0x9abcdef0:32,er2.l)             ;01576d3cfa309abcdef0
    sub.w @-er3,@0xffff9abc:16                     ;01576d3c40309abc
    sub.w @-er3,@0x9abcdef0:32                     ;01576d3c48309abcdef0

    sub.w @er3+,@er1                               ;01546d3c0130
    sub.w @er3+,@(6:2,er1)                         ;01546d3c3130
    sub.w @er3+,@-er1                              ;01546d3cb130
    sub.w @er3+,@er1+                              ;01546d3c8130
    sub.w @er3+,@er1-                              ;01546d3ca130
    sub.w @er3+,@+er1                              ;01546d3c9130
    sub.w @er3+,@(0xffff9abc:16,er1)               ;01546d3cc1309abc
    sub.w @er3+,@(0x9abcdef0:32,er1)               ;01546d3cc9309abcdef0
    sub.w @er3+,@(0xffff9abc:16,r2l.b)             ;01546d3cd2309abc
    sub.w @er3+,@(0xffff9abc:16,r2.w)             ;01546d3ce2309abc
    sub.w @er3+,@(0xffff9abc:16,er2.l)             ;01546d3cf2309abc
    sub.w @er3+,@(0x9abcdef0:32,r2l.b)             ;01546d3cda309abcdef0
    sub.w @er3+,@(0x9abcdef0:32,r2.w)             ;01546d3cea309abcdef0
    sub.w @er3+,@(0x9abcdef0:32,er2.l)             ;01546d3cfa309abcdef0
    sub.w @er3+,@0xffff9abc:16                     ;01546d3c40309abc
    sub.w @er3+,@0x9abcdef0:32                     ;01546d3c48309abcdef0

    sub.w @er3-,@er1                               ;01566d3c0130
    sub.w @er3-,@(6:2,er1)                         ;01566d3c3130
    sub.w @er3-,@-er1                              ;01566d3cb130
    sub.w @er3-,@er1+                              ;01566d3c8130
    sub.w @er3-,@er1-                              ;01566d3ca130
    sub.w @er3-,@+er1                              ;01566d3c9130
    sub.w @er3-,@(0xffff9abc:16,er1)               ;01566d3cc1309abc
    sub.w @er3-,@(0x9abcdef0:32,er1)               ;01566d3cc9309abcdef0
    sub.w @er3-,@(0xffff9abc:16,r2l.b)             ;01566d3cd2309abc
    sub.w @er3-,@(0xffff9abc:16,r2.w)             ;01566d3ce2309abc
    sub.w @er3-,@(0xffff9abc:16,er2.l)             ;01566d3cf2309abc
    sub.w @er3-,@(0x9abcdef0:32,r2l.b)             ;01566d3cda309abcdef0
    sub.w @er3-,@(0x9abcdef0:32,r2.w)             ;01566d3cea309abcdef0
    sub.w @er3-,@(0x9abcdef0:32,er2.l)             ;01566d3cfa309abcdef0
    sub.w @er3-,@0xffff9abc:16                     ;01566d3c40309abc
    sub.w @er3-,@0x9abcdef0:32                     ;01566d3c48309abcdef0

    sub.w @+er3,@er1                               ;01556d3c0130
    sub.w @+er3,@(6:2,er1)                         ;01556d3c3130
    sub.w @+er3,@-er1                              ;01556d3cb130
    sub.w @+er3,@er1+                              ;01556d3c8130
    sub.w @+er3,@er1-                              ;01556d3ca130
    sub.w @+er3,@+er1                              ;01556d3c9130
    sub.w @+er3,@(0xffff9abc:16,er1)               ;01556d3cc1309abc
    sub.w @+er3,@(0x9abcdef0:32,er1)               ;01556d3cc9309abcdef0
    sub.w @+er3,@(0xffff9abc:16,r2l.b)             ;01556d3cd2309abc
    sub.w @+er3,@(0xffff9abc:16,r2.w)             ;01556d3ce2309abc
    sub.w @+er3,@(0xffff9abc:16,er2.l)             ;01556d3cf2309abc
    sub.w @+er3,@(0x9abcdef0:32,r2l.b)             ;01556d3cda309abcdef0
    sub.w @+er3,@(0x9abcdef0:32,r2.w)             ;01556d3cea309abcdef0
    sub.w @+er3,@(0x9abcdef0:32,er2.l)             ;01556d3cfa309abcdef0
    sub.w @+er3,@0xffff9abc:16                     ;01556d3c40309abc
    sub.w @+er3,@0x9abcdef0:32                     ;01556d3c48309abcdef0

    sub.w @(0x1234:16,er3),@er1                         ;01546f3c12340130
    sub.w @(0x1234:16,er3),@(6:2,er1)                   ;01546f3c12343130
    sub.w @(0x1234:16,er3),@-er1                        ;01546f3c1234b130
    sub.w @(0x1234:16,er3),@er1+                        ;01546f3c12348130
    sub.w @(0x1234:16,er3),@er1-                        ;01546f3c1234a130
    sub.w @(0x1234:16,er3),@+er1                        ;01546f3c12349130
    sub.w @(0x1234:16,er3),@(0xffff9abc:16,er1)         ;01546f3c1234c1309abc
    sub.w @(0x1234:16,er3),@(0x9abcdef0:32,er1)         ;01546f3c1234c9309abcdef0
    sub.w @(0x1234:16,er3),@(0xffff9abc:16,r2l.b)       ;01546f3c1234d2309abc
    sub.w @(0x1234:16,er3),@(0xffff9abc:16,r2.w)       ;01546f3c1234e2309abc
    sub.w @(0x1234:16,er3),@(0xffff9abc:16,er2.l)       ;01546f3c1234f2309abc
    sub.w @(0x1234:16,er3),@(0x9abcdef0:32,r2l.b)       ;01546f3c1234da309abcdef0
    sub.w @(0x1234:16,er3),@(0x9abcdef0:32,r2.w)       ;01546f3c1234ea309abcdef0
    sub.w @(0x1234:16,er3),@(0x9abcdef0:32,er2.l)       ;01546f3c1234fa309abcdef0
    sub.w @(0x1234:16,er3),@0xffff9abc:16               ;01546f3c123440309abc
    sub.w @(0x1234:16,er3),@0x9abcdef0:32               ;01546f3c123448309abcdef0

    sub.w @(0x12345678:32,er3),@er1                         ;78346b2c123456780130
    sub.w @(0x12345678:32,er3),@(6:2,er1)                   ;78346b2c123456783130
    sub.w @(0x12345678:32,er3),@-er1                        ;78346b2c12345678b130
    sub.w @(0x12345678:32,er3),@er1+                        ;78346b2c123456788130
    sub.w @(0x12345678:32,er3),@er1-                        ;78346b2c12345678a130
    sub.w @(0x12345678:32,er3),@+er1                        ;78346b2c123456789130
    sub.w @(0x12345678:32,er3),@(0xffff9abc:16,er1)         ;78346b2c12345678c1309abc
    sub.w @(0x12345678:32,er3),@(0x9abcdef0:32,er1)         ;78346b2c12345678c9309abcdef0
    sub.w @(0x12345678:32,er3),@(0xffff9abc:16,r2l.b)       ;78346b2c12345678d2309abc
    sub.w @(0x12345678:32,er3),@(0xffff9abc:16,r2.w)       ;78346b2c12345678e2309abc
    sub.w @(0x12345678:32,er3),@(0xffff9abc:16,er2.l)       ;78346b2c12345678f2309abc
    sub.w @(0x12345678:32,er3),@(0x9abcdef0:32,r2l.b)       ;78346b2c12345678da309abcdef0
    sub.w @(0x12345678:32,er3),@(0x9abcdef0:32,r2.w)       ;78346b2c12345678ea309abcdef0
    sub.w @(0x12345678:32,er3),@(0x9abcdef0:32,er2.l)       ;78346b2c12345678fa309abcdef0
    sub.w @(0x12345678:32,er3),@0xffff9abc:16               ;78346b2c1234567840309abc
    sub.w @(0x12345678:32,er3),@0x9abcdef0:32               ;78346b2c1234567848309abcdef0

    sub.w @(0x1234:16,r3l.b),@er1                       ;01556f3c12340130
    sub.w @(0x1234:16,r3l.b),@(6:2,er1)                 ;01556f3c12343130
    sub.w @(0x1234:16,r3l.b),@-er1                      ;01556f3c1234b130
    sub.w @(0x1234:16,r3l.b),@er1+                      ;01556f3c12348130
    sub.w @(0x1234:16,r3l.b),@er1-                      ;01556f3c1234a130
    sub.w @(0x1234:16,r3l.b),@+er1                      ;01556f3c12349130
    sub.w @(0x1234:16,r3l.b),@(0xffff9abc:16,er1)       ;01556f3c1234c1309abc
    sub.w @(0x1234:16,r3l.b),@(0x9abcdef0:32,er1)       ;01556f3c1234c9309abcdef0
    sub.w @(0x1234:16,r3l.b),@(0xffff9abc:16,r2l.b)     ;01556f3c1234d2309abc
    sub.w @(0x1234:16,r3l.b),@(0xffff9abc:16,r2.w)     ;01556f3c1234e2309abc
    sub.w @(0x1234:16,r3l.b),@(0xffff9abc:16,er2.l)     ;01556f3c1234f2309abc
    sub.w @(0x1234:16,r3l.b),@(0x9abcdef0:32,r2l.b)     ;01556f3c1234da309abcdef0
    sub.w @(0x1234:16,r3l.b),@(0x9abcdef0:32,r2.w)     ;01556f3c1234ea309abcdef0
    sub.w @(0x1234:16,r3l.b),@(0x9abcdef0:32,er2.l)     ;01556f3c1234fa309abcdef0
    sub.w @(0x1234:16,r3l.b),@0xffff9abc:16             ;01556f3c123440309abc
    sub.w @(0x1234:16,r3l.b),@0x9abcdef0:32             ;01556f3c123448309abcdef0

    sub.w @(0x1234:16,r3.w),@er1                       ;01566f3c12340130
    sub.w @(0x1234:16,r3.w),@(6:2,er1)                 ;01566f3c12343130
    sub.w @(0x1234:16,r3.w),@-er1                      ;01566f3c1234b130
    sub.w @(0x1234:16,r3.w),@er1+                      ;01566f3c12348130
    sub.w @(0x1234:16,r3.w),@er1-                      ;01566f3c1234a130
    sub.w @(0x1234:16,r3.w),@+er1                      ;01566f3c12349130
    sub.w @(0x1234:16,r3.w),@(0xffff9abc:16,er1)       ;01566f3c1234c1309abc
    sub.w @(0x1234:16,r3.w),@(0x9abcdef0:32,er1)       ;01566f3c1234c9309abcdef0
    sub.w @(0x1234:16,r3.w),@(0xffff9abc:16,r2l.b)     ;01566f3c1234d2309abc
    sub.w @(0x1234:16,r3.w),@(0xffff9abc:16,r2.w)     ;01566f3c1234e2309abc
    sub.w @(0x1234:16,r3.w),@(0xffff9abc:16,er2.l)     ;01566f3c1234f2309abc
    sub.w @(0x1234:16,r3.w),@(0x9abcdef0:32,r2l.b)     ;01566f3c1234da309abcdef0
    sub.w @(0x1234:16,r3.w),@(0x9abcdef0:32,r2.w)     ;01566f3c1234ea309abcdef0
    sub.w @(0x1234:16,r3.w),@(0x9abcdef0:32,er2.l)     ;01566f3c1234fa309abcdef0
    sub.w @(0x1234:16,r3.w),@0xffff9abc:16             ;01566f3c123440309abc
    sub.w @(0x1234:16,r3.w),@0x9abcdef0:32             ;01566f3c123448309abcdef0

    sub.w @(0x1234:16,er3.l),@er1                       ;01576f3c12340130
    sub.w @(0x1234:16,er3.l),@(6:2,er1)                 ;01576f3c12343130
    sub.w @(0x1234:16,er3.l),@-er1                      ;01576f3c1234b130
    sub.w @(0x1234:16,er3.l),@er1+                      ;01576f3c12348130
    sub.w @(0x1234:16,er3.l),@er1-                      ;01576f3c1234a130
    sub.w @(0x1234:16,er3.l),@+er1                      ;01576f3c12349130
    sub.w @(0x1234:16,er3.l),@(0xffff9abc:16,er1)       ;01576f3c1234c1309abc
    sub.w @(0x1234:16,er3.l),@(0x9abcdef0:32,er1)       ;01576f3c1234c9309abcdef0
    sub.w @(0x1234:16,er3.l),@(0xffff9abc:16,r2l.b)     ;01576f3c1234d2309abc
    sub.w @(0x1234:16,er3.l),@(0xffff9abc:16,r2.w)     ;01576f3c1234e2309abc
    sub.w @(0x1234:16,er3.l),@(0xffff9abc:16,er2.l)     ;01576f3c1234f2309abc
    sub.w @(0x1234:16,er3.l),@(0x9abcdef0:32,r2l.b)     ;01576f3c1234da309abcdef0
    sub.w @(0x1234:16,er3.l),@(0x9abcdef0:32,r2.w)     ;01576f3c1234ea309abcdef0
    sub.w @(0x1234:16,er3.l),@(0x9abcdef0:32,er2.l)     ;01576f3c1234fa309abcdef0
    sub.w @(0x1234:16,er3.l),@0xffff9abc:16             ;01576f3c123440309abc
    sub.w @(0x1234:16,er3.l),@0x9abcdef0:32             ;01576f3c123448309abcdef0

    sub.w @(0x12345678:32,r3l.b),@er1                       ;78356b2c123456780130
    sub.w @(0x12345678:32,r3l.b),@(6:2,er1)                 ;78356b2c123456783130
    sub.w @(0x12345678:32,r3l.b),@-er1                      ;78356b2c12345678b130
    sub.w @(0x12345678:32,r3l.b),@er1+                      ;78356b2c123456788130
    sub.w @(0x12345678:32,r3l.b),@er1-                      ;78356b2c12345678a130
    sub.w @(0x12345678:32,r3l.b),@+er1                      ;78356b2c123456789130
    sub.w @(0x12345678:32,r3l.b),@(0xffff9abc:16,er1)       ;78356b2c12345678c1309abc
    sub.w @(0x12345678:32,r3l.b),@(0x9abcdef0:32,er1)       ;78356b2c12345678c9309abcdef0
    sub.w @(0x12345678:32,r3l.b),@(0xffff9abc:16,r2l.b)     ;78356b2c12345678d2309abc
    sub.w @(0x12345678:32,r3l.b),@(0xffff9abc:16,r2.w)     ;78356b2c12345678e2309abc
    sub.w @(0x12345678:32,r3l.b),@(0xffff9abc:16,er2.l)     ;78356b2c12345678f2309abc
    sub.w @(0x12345678:32,r3l.b),@(0x9abcdef0:32,r2l.b)     ;78356b2c12345678da309abcdef0
    sub.w @(0x12345678:32,r3l.b),@(0x9abcdef0:32,r2.w)     ;78356b2c12345678ea309abcdef0
    sub.w @(0x12345678:32,r3l.b),@(0x9abcdef0:32,er2.l)     ;78356b2c12345678fa309abcdef0
    sub.w @(0x12345678:32,r3l.b),@0xffff9abc:16             ;78356b2c1234567840309abc
    sub.w @(0x12345678:32,r3l.b),@0x9abcdef0:32             ;78356b2c1234567848309abcdef0

    sub.w @(0x12345678:32,r3.w),@er1                       ;78366b2c123456780130
    sub.w @(0x12345678:32,r3.w),@(6:2,er1)                 ;78366b2c123456783130
    sub.w @(0x12345678:32,r3.w),@-er1                      ;78366b2c12345678b130
    sub.w @(0x12345678:32,r3.w),@er1+                      ;78366b2c123456788130
    sub.w @(0x12345678:32,r3.w),@er1-                      ;78366b2c12345678a130
    sub.w @(0x12345678:32,r3.w),@+er1                      ;78366b2c123456789130
    sub.w @(0x12345678:32,r3.w),@(0xffff9abc:16,er1)       ;78366b2c12345678c1309abc
    sub.w @(0x12345678:32,r3.w),@(0x9abcdef0:32,er1)       ;78366b2c12345678c9309abcdef0
    sub.w @(0x12345678:32,r3.w),@(0xffff9abc:16,r2l.b)     ;78366b2c12345678d2309abc
    sub.w @(0x12345678:32,r3.w),@(0xffff9abc:16,r2.w)     ;78366b2c12345678e2309abc
    sub.w @(0x12345678:32,r3.w),@(0xffff9abc:16,er2.l)     ;78366b2c12345678f2309abc
    sub.w @(0x12345678:32,r3.w),@(0x9abcdef0:32,r2l.b)     ;78366b2c12345678da309abcdef0
    sub.w @(0x12345678:32,r3.w),@(0x9abcdef0:32,r2.w)     ;78366b2c12345678ea309abcdef0
    sub.w @(0x12345678:32,r3.w),@(0x9abcdef0:32,er2.l)     ;78366b2c12345678fa309abcdef0
    sub.w @(0x12345678:32,r3.w),@0xffff9abc:16             ;78366b2c1234567840309abc
    sub.w @(0x12345678:32,r3.w),@0x9abcdef0:32             ;78366b2c1234567848309abcdef0

    sub.w @(0x12345678:32,er3.l),@er1                       ;78376b2c123456780130
    sub.w @(0x12345678:32,er3.l),@(6:2,er1)                 ;78376b2c123456783130
    sub.w @(0x12345678:32,er3.l),@-er1                      ;78376b2c12345678b130
    sub.w @(0x12345678:32,er3.l),@er1+                      ;78376b2c123456788130
    sub.w @(0x12345678:32,er3.l),@er1-                      ;78376b2c12345678a130
    sub.w @(0x12345678:32,er3.l),@+er1                      ;78376b2c123456789130
    sub.w @(0x12345678:32,er3.l),@(0xffff9abc:16,er1)       ;78376b2c12345678c1309abc
    sub.w @(0x12345678:32,er3.l),@(0x9abcdef0:32,er1)       ;78376b2c12345678c9309abcdef0
    sub.w @(0x12345678:32,er3.l),@(0xffff9abc:16,r2l.b)     ;78376b2c12345678d2309abc
    sub.w @(0x12345678:32,er3.l),@(0xffff9abc:16,r2.w)     ;78376b2c12345678e2309abc
    sub.w @(0x12345678:32,er3.l),@(0xffff9abc:16,er2.l)     ;78376b2c12345678f2309abc
    sub.w @(0x12345678:32,er3.l),@(0x9abcdef0:32,r2l.b)     ;78376b2c12345678da309abcdef0
    sub.w @(0x12345678:32,er3.l),@(0x9abcdef0:32,r2.w)     ;78376b2c12345678ea309abcdef0
    sub.w @(0x12345678:32,er3.l),@(0x9abcdef0:32,er2.l)     ;78376b2c12345678fa309abcdef0
    sub.w @(0x12345678:32,er3.l),@0xffff9abc:16             ;78376b2c1234567840309abc
    sub.w @(0x12345678:32,er3.l),@0x9abcdef0:32             ;78376b2c1234567848309abcdef0

    sub.w @0x1234:16,@er1                              ;6b1512340130
    sub.w @0x1234:16,@(6:2,er1)                        ;6b1512343130
    sub.w @0x1234:16,@-er1                             ;6b151234b130
    sub.w @0x1234:16,@er1+                             ;6b1512348130
    sub.w @0x1234:16,@er1-                             ;6b151234a130
    sub.w @0x1234:16,@+er1                             ;6b1512349130
    sub.w @0x1234:16,@(0xffff9abc:16,er1)              ;6b151234c1309abc
    sub.w @0x1234:16,@(0x9abcdef0:32,er1)              ;6b151234c9309abcdef0
    sub.w @0x1234:16,@(0xffff9abc:16,r2l.b)            ;6b151234d2309abc
    sub.w @0x1234:16,@(0xffff9abc:16,r2.w)            ;6b151234e2309abc
    sub.w @0x1234:16,@(0xffff9abc:16,er2.l)            ;6b151234f2309abc
    sub.w @0x1234:16,@(0x9abcdef0:32,r2l.b)            ;6b151234da309abcdef0
    sub.w @0x1234:16,@(0x9abcdef0:32,r2.w)            ;6b151234ea309abcdef0
    sub.w @0x1234:16,@(0x9abcdef0:32,er2.l)            ;6b151234fa309abcdef0
    sub.w @0x1234:16,@0xffff9abc:16                    ;6b15123440309abc
    sub.w @0x1234:16,@0x9abcdef0:32                    ;6b15123448309abcdef0

    sub.w @0x12345678:32,@er1                              ;6b35123456780130
    sub.w @0x12345678:32,@(6:2,er1)                        ;6b35123456783130
    sub.w @0x12345678:32,@-er1                             ;6b3512345678b130
    sub.w @0x12345678:32,@er1+                             ;6b35123456788130
    sub.w @0x12345678:32,@er1-                             ;6b3512345678a130
    sub.w @0x12345678:32,@+er1                             ;6b35123456789130
    sub.w @0x12345678:32,@(0xffff9abc:16,er1)              ;6b3512345678c1309abc
    sub.w @0x12345678:32,@(0x9abcdef0:32,er1)              ;6b3512345678c9309abcdef0
    sub.w @0x12345678:32,@(0xffff9abc:16,r2l.b)            ;6b3512345678d2309abc
    sub.w @0x12345678:32,@(0xffff9abc:16,r2.w)            ;6b3512345678e2309abc
    sub.w @0x12345678:32,@(0xffff9abc:16,er2.l)            ;6b3512345678f2309abc
    sub.w @0x12345678:32,@(0x9abcdef0:32,r2l.b)            ;6b3512345678da309abcdef0
    sub.w @0x12345678:32,@(0x9abcdef0:32,r2.w)            ;6b3512345678ea309abcdef0
    sub.w @0x12345678:32,@(0x9abcdef0:32,er2.l)            ;6b3512345678fa309abcdef0
    sub.w @0x12345678:32,@0xffff9abc:16                    ;6b351234567840309abc
    sub.w @0x12345678:32,@0x9abcdef0:32                    ;6b351234567848309abcdef0

    sub.l #0x12345678:32,er1                      ;7a3112345678
    sub.l #0x1234:16,er1                       ;7a391234
    sub.l #0x7:3,er2                        ;1afa
    sub.l #0x12345678:32,@er1                      ;010e013812345678
    sub.l #0x12345678:32,@(0xc:2,er1)             ;010e313812345678
    sub.l #0x12345678:32,@er1+                     ;010e813812345678
    sub.l #0x12345678:32,@-er1                     ;010eb13812345678
    sub.l #0x12345678:32,@+er1                     ;010e913812345678
    sub.l #0x12345678:32,@er1-                     ;010ea13812345678
    sub.l #0x12345678:32,@(0xffff9abc:16,er1)               ;010ec1389abc12345678
    sub.l #0x12345678:32,@(0x9abcdef0:32,er1)               ;010ec9389abcdef012345678
    sub.l #0x12345678:32,@(0xffff9abc:16,r2l.b)             ;010ed2389abc12345678
    sub.l #0x12345678:32,@(0xffff9abc:16,r2.w)             ;010ee2389abc12345678
    sub.l #0x12345678:32,@(0xffff9abc:16,er2.l)             ;010ef2389abc12345678
    sub.l #0x12345678:32,@(0x9abcdef0:32,r2l.b)             ;010eda389abcdef012345678
    sub.l #0x12345678:32,@(0x9abcdef0:32,r2.w)             ;010eea389abcdef012345678
    sub.l #0x12345678:32,@(0x9abcdef0:32,er2.l)             ;010efa389abcdef012345678
    sub.l #0x12345678:32,@0xffff9abc:16                    ;010e40389abc12345678
    sub.l #0x12345678:32,@0x9abcdef0:32                    ;010e48389abcdef012345678
    sub.l #0x1234:16,@er1                      ;010e01301234
    sub.l #0x1234:16,@(0xc:2,er1)             ;010e31301234
    sub.l #0x1234:16,@er1+                     ;010e81301234
    sub.l #0x1234:16,@-er1                     ;010eb1301234
    sub.l #0x1234:16,@+er1                     ;010e91301234
    sub.l #0x1234:16,@er1-                     ;010ea1301234
    sub.l #0x1234:16,@(0xffff9abc:16,er1)               ;010ec1309abc1234
    sub.l #0x1234:16,@(0x9abcdef0:32,er1)               ;010ec9309abcdef01234
    sub.l #0x1234:16,@(0xffff9abc:16,r2l.b)             ;010ed2309abc1234
    sub.l #0x1234:16,@(0xffff9abc:16,r2.w)             ;010ee2309abc1234
    sub.l #0x1234:16,@(0xffff9abc:16,er2.l)             ;010ef2309abc1234
    sub.l #0x1234:16,@(0x9abcdef0:32,r2l.b)             ;010eda309abcdef01234
    sub.l #0x1234:16,@(0x9abcdef0:32,r2.w)             ;010eea309abcdef01234
    sub.l #0x1234:16,@(0x9abcdef0:32,er2.l)             ;010efa309abcdef01234
    sub.l #0x1234:16,@0xffff9abc:16                    ;010e40309abc1234
    sub.l #0x1234:16,@0x9abcdef0:32                    ;010e48309abcdef01234

    sub.l er3,er1                         ;1ab1

    sub.l er3,@er1                         ;01090133
    sub.l er3,@(0xc:2,er1)                ;01093133
    sub.l er3,@er1+                        ;01098133
    sub.l er3,@-er1                        ;0109b133
    sub.l er3,@+er1                        ;01099133
    sub.l er3,@er1-                        ;0109a133
    sub.l er3,@(0x1234:16,er1)                  ;0109c1331234
    sub.l er3,@(0x12345678:32,er1)                  ;0109c93312345678
    sub.l er3,@(0x1234:16,r2l.b)                ;0109d2331234
    sub.l er3,@(0x1234:16,r2.w)                ;0109e2331234
    sub.l er3,@(0x1234:16,er2.l)                ;0109f2331234
    sub.l er3,@(0x12345678:32,r2l.b)                ;0109da3312345678
    sub.l er3,@(0x12345678:32,r2.w)                ;0109ea3312345678
    sub.l er3,@(0x12345678:32,er2.l)                ;0109fa3312345678
    sub.l er3,@0x1234:16                       ;010940331234
    sub.l er3,@0x12345678:32                       ;0109483312345678

    sub.l @er3,er1                         ;010a0331
    sub.l @(0xc:2,er3),er1               ;010a3331
    sub.l @er3+,er1                       ;010a8331
    sub.l @-er3,er1                       ;010ab331
    sub.l @+er3,er1                       ;010a9331
    sub.l @er3-,er1                       ;010aa331
    sub.l @(0x1234:16,er1),er1                  ;010ac1311234
    sub.l @(0x12345678:32,er1),er1                  ;010ac93112345678
    sub.l @(0x1234:16,r2l.b),er1                ;010ad2311234
    sub.l @(0x1234:16,r2.w),er1                ;010ae2311234
    sub.l @(0x1234:16,er2.l),er1                ;010af2311234
    sub.l @(0x12345678:32,r2l.b),er1                ;010ada3112345678
    sub.l @(0x12345678:32,r2.w),er1                ;010aea3112345678
    sub.l @(0x12345678:32,er2.l),er1                ;010afa3112345678
    sub.l @0x1234:16,er1                       ;010a40311234
    sub.l @0x12345678:32,er1                       ;010a483112345678

    sub.l @er3,@er1                                ;0104693c0130
    sub.l @er3,@(0xc:2,er1)                          ;0104693c3130
    sub.l @er3,@-er1                               ;0104693cb130
    sub.l @er3,@er1+                               ;0104693c8130
    sub.l @er3,@er1-                               ;0104693ca130
    sub.l @er3,@+er1                               ;0104693c9130
    sub.l @er3,@(0xffff9abc:16,er1)                ;0104693cc1309abc
    sub.l @er3,@(0x9abcdef0:32,er1)                ;0104693cc9309abcdef0
    sub.l @er3,@(0xffff9abc:16,r2l.b)              ;0104693cd2309abc
    sub.l @er3,@(0xffff9abc:16,r2.w)              ;0104693ce2309abc
    sub.l @er3,@(0xffff9abc:16,er2.l)              ;0104693cf2309abc
    sub.l @er3,@(0x9abcdef0:32,r2l.b)              ;0104693cda309abcdef0
    sub.l @er3,@(0x9abcdef0:32,r2.w)              ;0104693cea309abcdef0
    sub.l @er3,@(0x9abcdef0:32,er2.l)              ;0104693cfa309abcdef0
    sub.l @er3,@0xffff9abc:16                      ;0104693c40309abc
    sub.l @er3,@0x9abcdef0:32                      ;0104693c48309abcdef0

    sub.l @(0xc:2,er3),@er1                       ;0107693c0130
    sub.l @(0xc:2,er3),@(0xc:2,er1)                 ;0107693c3130
    sub.l @(0xc:2,er3),@-er1                      ;0107693cb130
    sub.l @(0xc:2,er3),@er1+                      ;0107693c8130
    sub.l @(0xc:2,er3),@er1-                      ;0107693ca130
    sub.l @(0xc:2,er3),@+er1                      ;0107693c9130
    sub.l @(0xc:2,er3),@(0xffff9abc:16,er1)       ;0107693cc1309abc
    sub.l @(0xc:2,er3),@(0x9abcdef0:32,er1)       ;0107693cc9309abcdef0
    sub.l @(0xc:2,er3),@(0xffff9abc:16,r2l.b)     ;0107693cd2309abc
    sub.l @(0xc:2,er3),@(0xffff9abc:16,r2.w)     ;0107693ce2309abc
    sub.l @(0xc:2,er3),@(0xffff9abc:16,er2.l)     ;0107693cf2309abc
    sub.l @(0xc:2,er3),@(0x9abcdef0:32,r2l.b)     ;0107693cda309abcdef0
    sub.l @(0xc:2,er3),@(0x9abcdef0:32,r2.w)     ;0107693cea309abcdef0
    sub.l @(0xc:2,er3),@(0x9abcdef0:32,er2.l)     ;0107693cfa309abcdef0
    sub.l @(0xc:2,er3),@0xffff9abc:16             ;0107693c40309abc
    sub.l @(0xc:2,er3),@0x9abcdef0:32             ;0107693c48309abcdef0

    sub.l @-er3,@er1                               ;01076d3c0130
    sub.l @-er3,@(0xc:2,er1)                         ;01076d3c3130
    sub.l @-er3,@-er1                              ;01076d3cb130
    sub.l @-er3,@er1+                              ;01076d3c8130
    sub.l @-er3,@er1-                              ;01076d3ca130
    sub.l @-er3,@+er1                              ;01076d3c9130
    sub.l @-er3,@(0xffff9abc:16,er1)               ;01076d3cc1309abc
    sub.l @-er3,@(0x9abcdef0:32,er1)               ;01076d3cc9309abcdef0
    sub.l @-er3,@(0xffff9abc:16,r2l.b)             ;01076d3cd2309abc
    sub.l @-er3,@(0xffff9abc:16,r2.w)             ;01076d3ce2309abc
    sub.l @-er3,@(0xffff9abc:16,er2.l)             ;01076d3cf2309abc
    sub.l @-er3,@(0x9abcdef0:32,r2l.b)             ;01076d3cda309abcdef0
    sub.l @-er3,@(0x9abcdef0:32,r2.w)             ;01076d3cea309abcdef0
    sub.l @-er3,@(0x9abcdef0:32,er2.l)             ;01076d3cfa309abcdef0
    sub.l @-er3,@0xffff9abc:16                     ;01076d3c40309abc
    sub.l @-er3,@0x9abcdef0:32                     ;01076d3c48309abcdef0

    sub.l @er3+,@er1                               ;01046d3c0130
    sub.l @er3+,@(0xc:2,er1)                         ;01046d3c3130
    sub.l @er3+,@-er1                              ;01046d3cb130
    sub.l @er3+,@er1+                              ;01046d3c8130
    sub.l @er3+,@er1-                              ;01046d3ca130
    sub.l @er3+,@+er1                              ;01046d3c9130
    sub.l @er3+,@(0xffff9abc:16,er1)               ;01046d3cc1309abc
    sub.l @er3+,@(0x9abcdef0:32,er1)               ;01046d3cc9309abcdef0
    sub.l @er3+,@(0xffff9abc:16,r2l.b)             ;01046d3cd2309abc
    sub.l @er3+,@(0xffff9abc:16,r2.w)             ;01046d3ce2309abc
    sub.l @er3+,@(0xffff9abc:16,er2.l)             ;01046d3cf2309abc
    sub.l @er3+,@(0x9abcdef0:32,r2l.b)             ;01046d3cda309abcdef0
    sub.l @er3+,@(0x9abcdef0:32,r2.w)             ;01046d3cea309abcdef0
    sub.l @er3+,@(0x9abcdef0:32,er2.l)             ;01046d3cfa309abcdef0
    sub.l @er3+,@0xffff9abc:16                     ;01046d3c40309abc
    sub.l @er3+,@0x9abcdef0:32                     ;01046d3c48309abcdef0

    sub.l @er3-,@er1                               ;01066d3c0130
    sub.l @er3-,@(0xc:2,er1)                         ;01066d3c3130
    sub.l @er3-,@-er1                              ;01066d3cb130
    sub.l @er3-,@er1+                              ;01066d3c8130
    sub.l @er3-,@er1-                              ;01066d3ca130
    sub.l @er3-,@+er1                              ;01066d3c9130
    sub.l @er3-,@(0xffff9abc:16,er1)               ;01066d3cc1309abc
    sub.l @er3-,@(0x9abcdef0:32,er1)               ;01066d3cc9309abcdef0
    sub.l @er3-,@(0xffff9abc:16,r2l.b)             ;01066d3cd2309abc
    sub.l @er3-,@(0xffff9abc:16,r2.w)             ;01066d3ce2309abc
    sub.l @er3-,@(0xffff9abc:16,er2.l)             ;01066d3cf2309abc
    sub.l @er3-,@(0x9abcdef0:32,r2l.b)             ;01066d3cda309abcdef0
    sub.l @er3-,@(0x9abcdef0:32,r2.w)             ;01066d3cea309abcdef0
    sub.l @er3-,@(0x9abcdef0:32,er2.l)             ;01066d3cfa309abcdef0
    sub.l @er3-,@0xffff9abc:16                     ;01066d3c40309abc
    sub.l @er3-,@0x9abcdef0:32                     ;01066d3c48309abcdef0

    sub.l @+er3,@er1                               ;01056d3c0130
    sub.l @+er3,@(0xc:2,er1)                         ;01056d3c3130
    sub.l @+er3,@-er1                              ;01056d3cb130
    sub.l @+er3,@er1+                              ;01056d3c8130
    sub.l @+er3,@er1-                              ;01056d3ca130
    sub.l @+er3,@+er1                              ;01056d3c9130
    sub.l @+er3,@(0xffff9abc:16,er1)               ;01056d3cc1309abc
    sub.l @+er3,@(0x9abcdef0:32,er1)               ;01056d3cc9309abcdef0
    sub.l @+er3,@(0xffff9abc:16,r2l.b)             ;01056d3cd2309abc
    sub.l @+er3,@(0xffff9abc:16,r2.w)             ;01056d3ce2309abc
    sub.l @+er3,@(0xffff9abc:16,er2.l)             ;01056d3cf2309abc
    sub.l @+er3,@(0x9abcdef0:32,r2l.b)             ;01056d3cda309abcdef0
    sub.l @+er3,@(0x9abcdef0:32,r2.w)             ;01056d3cea309abcdef0
    sub.l @+er3,@(0x9abcdef0:32,er2.l)             ;01056d3cfa309abcdef0
    sub.l @+er3,@0xffff9abc:16                     ;01056d3c40309abc
    sub.l @+er3,@0x9abcdef0:32                     ;01056d3c48309abcdef0

    sub.l @(0x1234:16,er3),@er1                         ;01046f3c12340130
    sub.l @(0x1234:16,er3),@(0xc:2,er1)                   ;01046f3c12343130
    sub.l @(0x1234:16,er3),@-er1                        ;01046f3c1234b130
    sub.l @(0x1234:16,er3),@er1+                        ;01046f3c12348130
    sub.l @(0x1234:16,er3),@er1-                        ;01046f3c1234a130
    sub.l @(0x1234:16,er3),@+er1                        ;01046f3c12349130
    sub.l @(0x1234:16,er3),@(0xffff9abc:16,er1)         ;01046f3c1234c1309abc
    sub.l @(0x1234:16,er3),@(0x9abcdef0:32,er1)         ;01046f3c1234c9309abcdef0
    sub.l @(0x1234:16,er3),@(0xffff9abc:16,r2l.b)       ;01046f3c1234d2309abc
    sub.l @(0x1234:16,er3),@(0xffff9abc:16,r2.w)       ;01046f3c1234e2309abc
    sub.l @(0x1234:16,er3),@(0xffff9abc:16,er2.l)       ;01046f3c1234f2309abc
    sub.l @(0x1234:16,er3),@(0x9abcdef0:32,r2l.b)       ;01046f3c1234da309abcdef0
    sub.l @(0x1234:16,er3),@(0x9abcdef0:32,r2.w)       ;01046f3c1234ea309abcdef0
    sub.l @(0x1234:16,er3),@(0x9abcdef0:32,er2.l)       ;01046f3c1234fa309abcdef0
    sub.l @(0x1234:16,er3),@0xffff9abc:16               ;01046f3c123440309abc
    sub.l @(0x1234:16,er3),@0x9abcdef0:32               ;01046f3c123448309abcdef0

    sub.l @(0x12345678:32,er3),@er1                         ;78b46b2c123456780130
    sub.l @(0x12345678:32,er3),@(0xc:2,er1)                   ;78b46b2c123456783130
    sub.l @(0x12345678:32,er3),@-er1                        ;78b46b2c12345678b130
    sub.l @(0x12345678:32,er3),@er1+                        ;78b46b2c123456788130
    sub.l @(0x12345678:32,er3),@er1-                        ;78b46b2c12345678a130
    sub.l @(0x12345678:32,er3),@+er1                        ;78b46b2c123456789130
    sub.l @(0x12345678:32,er3),@(0xffff9abc:16,er1)         ;78b46b2c12345678c1309abc
    sub.l @(0x12345678:32,er3),@(0x9abcdef0:32,er1)         ;78b46b2c12345678c9309abcdef0
    sub.l @(0x12345678:32,er3),@(0xffff9abc:16,r2l.b)       ;78b46b2c12345678d2309abc
    sub.l @(0x12345678:32,er3),@(0xffff9abc:16,r2.w)       ;78b46b2c12345678e2309abc
    sub.l @(0x12345678:32,er3),@(0xffff9abc:16,er2.l)       ;78b46b2c12345678f2309abc
    sub.l @(0x12345678:32,er3),@(0x9abcdef0:32,r2l.b)       ;78b46b2c12345678da309abcdef0
    sub.l @(0x12345678:32,er3),@(0x9abcdef0:32,r2.w)       ;78b46b2c12345678ea309abcdef0
    sub.l @(0x12345678:32,er3),@(0x9abcdef0:32,er2.l)       ;78b46b2c12345678fa309abcdef0
    sub.l @(0x12345678:32,er3),@0xffff9abc:16               ;78b46b2c1234567840309abc
    sub.l @(0x12345678:32,er3),@0x9abcdef0:32               ;78b46b2c1234567848309abcdef0

    sub.l @(0x1234:16,r3l.b),@er1                       ;01056f3c12340130
    sub.l @(0x1234:16,r3l.b),@(0xc:2,er1)                 ;01056f3c12343130
    sub.l @(0x1234:16,r3l.b),@-er1                      ;01056f3c1234b130
    sub.l @(0x1234:16,r3l.b),@er1+                      ;01056f3c12348130
    sub.l @(0x1234:16,r3l.b),@er1-                      ;01056f3c1234a130
    sub.l @(0x1234:16,r3l.b),@+er1                      ;01056f3c12349130
    sub.l @(0x1234:16,r3l.b),@(0xffff9abc:16,er1)       ;01056f3c1234c1309abc
    sub.l @(0x1234:16,r3l.b),@(0x9abcdef0:32,er1)       ;01056f3c1234c9309abcdef0
    sub.l @(0x1234:16,r3l.b),@(0xffff9abc:16,r2l.b)     ;01056f3c1234d2309abc
    sub.l @(0x1234:16,r3l.b),@(0xffff9abc:16,r2.w)     ;01056f3c1234e2309abc
    sub.l @(0x1234:16,r3l.b),@(0xffff9abc:16,er2.l)     ;01056f3c1234f2309abc
    sub.l @(0x1234:16,r3l.b),@(0x9abcdef0:32,r2l.b)     ;01056f3c1234da309abcdef0
    sub.l @(0x1234:16,r3l.b),@(0x9abcdef0:32,r2.w)     ;01056f3c1234ea309abcdef0
    sub.l @(0x1234:16,r3l.b),@(0x9abcdef0:32,er2.l)     ;01056f3c1234fa309abcdef0
    sub.l @(0x1234:16,r3l.b),@0xffff9abc:16             ;01056f3c123440309abc
    sub.l @(0x1234:16,r3l.b),@0x9abcdef0:32             ;01056f3c123448309abcdef0

    sub.l @(0x1234:16,r3.w),@er1                       ;01066f3c12340130
    sub.l @(0x1234:16,r3.w),@(0xc:2,er1)                 ;01066f3c12343130
    sub.l @(0x1234:16,r3.w),@-er1                      ;01066f3c1234b130
    sub.l @(0x1234:16,r3.w),@er1+                      ;01066f3c12348130
    sub.l @(0x1234:16,r3.w),@er1-                      ;01066f3c1234a130
    sub.l @(0x1234:16,r3.w),@+er1                      ;01066f3c12349130
    sub.l @(0x1234:16,r3.w),@(0xffff9abc:16,er1)       ;01066f3c1234c1309abc
    sub.l @(0x1234:16,r3.w),@(0x9abcdef0:32,er1)       ;01066f3c1234c9309abcdef0
    sub.l @(0x1234:16,r3.w),@(0xffff9abc:16,r2l.b)     ;01066f3c1234d2309abc
    sub.l @(0x1234:16,r3.w),@(0xffff9abc:16,r2.w)     ;01066f3c1234e2309abc
    sub.l @(0x1234:16,r3.w),@(0xffff9abc:16,er2.l)     ;01066f3c1234f2309abc
    sub.l @(0x1234:16,r3.w),@(0x9abcdef0:32,r2l.b)     ;01066f3c1234da309abcdef0
    sub.l @(0x1234:16,r3.w),@(0x9abcdef0:32,r2.w)     ;01066f3c1234ea309abcdef0
    sub.l @(0x1234:16,r3.w),@(0x9abcdef0:32,er2.l)     ;01066f3c1234fa309abcdef0
    sub.l @(0x1234:16,r3.w),@0xffff9abc:16             ;01066f3c123440309abc
    sub.l @(0x1234:16,r3.w),@0x9abcdef0:32             ;01066f3c123448309abcdef0

    sub.l @(0x1234:16,er3.l),@er1                       ;01076f3c12340130
    sub.l @(0x1234:16,er3.l),@(0xc:2,er1)                 ;01076f3c12343130
    sub.l @(0x1234:16,er3.l),@-er1                      ;01076f3c1234b130
    sub.l @(0x1234:16,er3.l),@er1+                      ;01076f3c12348130
    sub.l @(0x1234:16,er3.l),@er1-                      ;01076f3c1234a130
    sub.l @(0x1234:16,er3.l),@+er1                      ;01076f3c12349130
    sub.l @(0x1234:16,er3.l),@(0xffff9abc:16,er1)       ;01076f3c1234c1309abc
    sub.l @(0x1234:16,er3.l),@(0x9abcdef0:32,er1)       ;01076f3c1234c9309abcdef0
    sub.l @(0x1234:16,er3.l),@(0xffff9abc:16,r2l.b)     ;01076f3c1234d2309abc
    sub.l @(0x1234:16,er3.l),@(0xffff9abc:16,r2.w)     ;01076f3c1234e2309abc
    sub.l @(0x1234:16,er3.l),@(0xffff9abc:16,er2.l)     ;01076f3c1234f2309abc
    sub.l @(0x1234:16,er3.l),@(0x9abcdef0:32,r2l.b)     ;01076f3c1234da309abcdef0
    sub.l @(0x1234:16,er3.l),@(0x9abcdef0:32,r2.w)     ;01076f3c1234ea309abcdef0
    sub.l @(0x1234:16,er3.l),@(0x9abcdef0:32,er2.l)     ;01076f3c1234fa309abcdef0
    sub.l @(0x1234:16,er3.l),@0xffff9abc:16             ;01076f3c123440309abc
    sub.l @(0x1234:16,er3.l),@0x9abcdef0:32             ;01076f3c123448309abcdef0

    sub.l @(0x12345678:32,r3l.b),@er1                       ;78b56b2c123456780130
    sub.l @(0x12345678:32,r3l.b),@(0xc:2,er1)                 ;78b56b2c123456783130
    sub.l @(0x12345678:32,r3l.b),@-er1                      ;78b56b2c12345678b130
    sub.l @(0x12345678:32,r3l.b),@er1+                      ;78b56b2c123456788130
    sub.l @(0x12345678:32,r3l.b),@er1-                      ;78b56b2c12345678a130
    sub.l @(0x12345678:32,r3l.b),@+er1                      ;78b56b2c123456789130
    sub.l @(0x12345678:32,r3l.b),@(0xffff9abc:16,er1)       ;78b56b2c12345678c1309abc
    sub.l @(0x12345678:32,r3l.b),@(0x9abcdef0:32,er1)       ;78b56b2c12345678c9309abcdef0
    sub.l @(0x12345678:32,r3l.b),@(0xffff9abc:16,r2l.b)     ;78b56b2c12345678d2309abc
    sub.l @(0x12345678:32,r3l.b),@(0xffff9abc:16,r2.w)     ;78b56b2c12345678e2309abc
    sub.l @(0x12345678:32,r3l.b),@(0xffff9abc:16,er2.l)     ;78b56b2c12345678f2309abc
    sub.l @(0x12345678:32,r3l.b),@(0x9abcdef0:32,r2l.b)     ;78b56b2c12345678da309abcdef0
    sub.l @(0x12345678:32,r3l.b),@(0x9abcdef0:32,r2.w)     ;78b56b2c12345678ea309abcdef0
    sub.l @(0x12345678:32,r3l.b),@(0x9abcdef0:32,er2.l)     ;78b56b2c12345678fa309abcdef0
    sub.l @(0x12345678:32,r3l.b),@0xffff9abc:16             ;78b56b2c1234567840309abc
    sub.l @(0x12345678:32,r3l.b),@0x9abcdef0:32             ;78b56b2c1234567848309abcdef0

    sub.l @(0x12345678:32,r3.w),@er1                       ;78b66b2c123456780130
    sub.l @(0x12345678:32,r3.w),@(0xc:2,er1)                 ;78b66b2c123456783130
    sub.l @(0x12345678:32,r3.w),@-er1                      ;78b66b2c12345678b130
    sub.l @(0x12345678:32,r3.w),@er1+                      ;78b66b2c123456788130
    sub.l @(0x12345678:32,r3.w),@er1-                      ;78b66b2c12345678a130
    sub.l @(0x12345678:32,r3.w),@+er1                      ;78b66b2c123456789130
    sub.l @(0x12345678:32,r3.w),@(0xffff9abc:16,er1)       ;78b66b2c12345678c1309abc
    sub.l @(0x12345678:32,r3.w),@(0x9abcdef0:32,er1)       ;78b66b2c12345678c9309abcdef0
    sub.l @(0x12345678:32,r3.w),@(0xffff9abc:16,r2l.b)     ;78b66b2c12345678d2309abc
    sub.l @(0x12345678:32,r3.w),@(0xffff9abc:16,r2.w)     ;78b66b2c12345678e2309abc
    sub.l @(0x12345678:32,r3.w),@(0xffff9abc:16,er2.l)     ;78b66b2c12345678f2309abc
    sub.l @(0x12345678:32,r3.w),@(0x9abcdef0:32,r2l.b)     ;78b66b2c12345678da309abcdef0
    sub.l @(0x12345678:32,r3.w),@(0x9abcdef0:32,r2.w)     ;78b66b2c12345678ea309abcdef0
    sub.l @(0x12345678:32,r3.w),@(0x9abcdef0:32,er2.l)     ;78b66b2c12345678fa309abcdef0
    sub.l @(0x12345678:32,r3.w),@0xffff9abc:16             ;78b66b2c1234567840309abc
    sub.l @(0x12345678:32,r3.w),@0x9abcdef0:32             ;78b66b2c1234567848309abcdef0

    sub.l @(0x12345678:32,er3.l),@er1                       ;78b76b2c123456780130
    sub.l @(0x12345678:32,er3.l),@(0xc:2,er1)                 ;78b76b2c123456783130
    sub.l @(0x12345678:32,er3.l),@-er1                      ;78b76b2c12345678b130
    sub.l @(0x12345678:32,er3.l),@er1+                      ;78b76b2c123456788130
    sub.l @(0x12345678:32,er3.l),@er1-                      ;78b76b2c12345678a130
    sub.l @(0x12345678:32,er3.l),@+er1                      ;78b76b2c123456789130
    sub.l @(0x12345678:32,er3.l),@(0xffff9abc:16,er1)       ;78b76b2c12345678c1309abc
    sub.l @(0x12345678:32,er3.l),@(0x9abcdef0:32,er1)       ;78b76b2c12345678c9309abcdef0
    sub.l @(0x12345678:32,er3.l),@(0xffff9abc:16,r2l.b)     ;78b76b2c12345678d2309abc
    sub.l @(0x12345678:32,er3.l),@(0xffff9abc:16,r2.w)     ;78b76b2c12345678e2309abc
    sub.l @(0x12345678:32,er3.l),@(0xffff9abc:16,er2.l)     ;78b76b2c12345678f2309abc
    sub.l @(0x12345678:32,er3.l),@(0x9abcdef0:32,r2l.b)     ;78b76b2c12345678da309abcdef0
    sub.l @(0x12345678:32,er3.l),@(0x9abcdef0:32,r2.w)     ;78b76b2c12345678ea309abcdef0
    sub.l @(0x12345678:32,er3.l),@(0x9abcdef0:32,er2.l)     ;78b76b2c12345678fa309abcdef0
    sub.l @(0x12345678:32,er3.l),@0xffff9abc:16             ;78b76b2c1234567840309abc
    sub.l @(0x12345678:32,er3.l),@0x9abcdef0:32             ;78b76b2c1234567848309abcdef0

    sub.l @0x1234:16,@er1                              ;01046b0c12340130
    sub.l @0x1234:16,@(0xc:2,er1)                        ;01046b0c12343130
    sub.l @0x1234:16,@-er1                             ;01046b0c1234b130
    sub.l @0x1234:16,@er1+                             ;01046b0c12348130
    sub.l @0x1234:16,@er1-                             ;01046b0c1234a130
    sub.l @0x1234:16,@+er1                             ;01046b0c12349130
    sub.l @0x1234:16,@(0xffff9abc:16,er1)              ;01046b0c1234c1309abc
    sub.l @0x1234:16,@(0x9abcdef0:32,er1)              ;01046b0c1234c9309abcdef0
    sub.l @0x1234:16,@(0xffff9abc:16,r2l.b)            ;01046b0c1234d2309abc
    sub.l @0x1234:16,@(0xffff9abc:16,r2.w)            ;01046b0c1234e2309abc
    sub.l @0x1234:16,@(0xffff9abc:16,er2.l)            ;01046b0c1234f2309abc
    sub.l @0x1234:16,@(0x9abcdef0:32,r2l.b)            ;01046b0c1234da309abcdef0
    sub.l @0x1234:16,@(0x9abcdef0:32,r2.w)            ;01046b0c1234ea309abcdef0
    sub.l @0x1234:16,@(0x9abcdef0:32,er2.l)            ;01046b0c1234fa309abcdef0
    sub.l @0x1234:16,@0xffff9abc:16                    ;01046b0c123440309abc
    sub.l @0x1234:16,@0x9abcdef0:32                    ;01046b0c123448309abcdef0

    sub.l @0x12345678:32,@er1                              ;01046b2c123456780130
    sub.l @0x12345678:32,@(0xc:2,er1)                        ;01046b2c123456783130
    sub.l @0x12345678:32,@-er1                             ;01046b2c12345678b130
    sub.l @0x12345678:32,@er1+                             ;01046b2c123456788130
    sub.l @0x12345678:32,@er1-                             ;01046b2c12345678a130
    sub.l @0x12345678:32,@+er1                             ;01046b2c123456789130
    sub.l @0x12345678:32,@(0xffff9abc:16,er1)              ;01046b2c12345678c1309abc
    sub.l @0x12345678:32,@(0x9abcdef0:32,er1)              ;01046b2c12345678c9309abcdef0
    sub.l @0x12345678:32,@(0xffff9abc:16,r2l.b)            ;01046b2c12345678d2309abc
    sub.l @0x12345678:32,@(0xffff9abc:16,r2.w)            ;01046b2c12345678e2309abc
    sub.l @0x12345678:32,@(0xffff9abc:16,er2.l)            ;01046b2c12345678f2309abc
    sub.l @0x12345678:32,@(0x9abcdef0:32,r2l.b)            ;01046b2c12345678da309abcdef0
    sub.l @0x12345678:32,@(0x9abcdef0:32,r2.w)            ;01046b2c12345678ea309abcdef0
    sub.l @0x12345678:32,@(0x9abcdef0:32,er2.l)            ;01046b2c12345678fa309abcdef0
    sub.l @0x12345678:32,@0xffff9abc:16                    ;01046b2c1234567840309abc
    sub.l @0x12345678:32,@0x9abcdef0:32                    ;01046b2c1234567848309abcdef0

	.end
