本帖最后由 无善无恶心之体 于 2018-11-12 09:38 编辑
128: unsigned int iX=0x1234,iY=0x5678;
0360 212342 mov.w #0x1234,0x0004
129: unsigned long lZ;
130:
131: while(1)
132: { cAmpInv=lZ>>24;
0364 DE0848 lsr 0x0002,#8,0x0000
0366 B7E804 mov.b 0x0000,0x0804
133: ++iX,
0368 E80102 inc.w 0x0004,0x0004
134: lZ=iX*iY;
0362 256783 mov.w #0x5678,0x0006
036A B99003 mul.ss 0x0004,0x0006,0x0000
036C 200001 mov.w #0x0,0x0002
036E 37FFFA bra 0x000364
申请了两个uint iX, iY. 将两个相乘后的结果存入 ulong变量lZ。
有两处疑问:
1. 为何用mul.ss 而不用 mul.uu
2. 为何将积的高16位清零
|