- EaCalcRead(-1,1,sea,size,0x003f,earwt_sign_extend,1);\r
- OpGetFlagsNZ(1);\r
+ if (sea < 0x10 && size < 2)\r
+ {\r
+ eatype = earwt_zero_extend;\r
+ EaCalcRead(-1,1,sea,size,0x003f,eatype);\r
+ ot(" movs r2,r1,lsl #%d\n",size?16:24);\r
+ OpGetFlagsNZ(2);\r
+ }\r
+ else\r
+ {\r
+ eatype = earwt_shifted_up;\r
+ EaCalcRead(-1,1,sea,size,0x003f,eatype,1);\r
+ OpGetFlagsNZ(1);\r
+ }\r