не надо, простите, епсти мозгу 894: fp->fsize = LD_DWORD(&dir[DIR_FileSize]); /* File size */
14FC 905876 mov.b [0x000c+31],0x0000
14FE 905966 mov.b [0x000c+30],0x0004
1500 905A56 mov.b [0x000c+29],0x0008
1502 905B46 mov.b [0x000c+28],0x000c
1504 DD00C8 sl 0x0000,#8,0x0002
1506 200000 mov.w #0x0,0x0000
1508 FB8182 ze 0x0004,0x0006
150A 200002 mov.w #0x0,0x0004
150C 700002 ior.w 0x0000,0x0004,0x0000
150E 708083 ior.w 0x0002,0x0006,0x0002
1510 DD2248 sl 0x0008,#8,0x0008
1512 200005 mov.w #0x0,0x000a
1514 700004 ior.w 0x0000,0x0008,0x0000
1516 708085 ior.w 0x0002,0x000a,0x0002
1518 FB8306 ze 0x000c,0x000c
151A 200007 mov.w #0x0,0x000e
151C 700006 ior.w 0x0000,0x000c,0x0000
151E 708087 ior.w 0x0002,0x000e,0x0002
1520 980550 mov.w 0x0000,[0x0014+10]
1522 980561 mov.w 0x0002,[0x0014+12]
ой, надо же, а там оказывается еще строчка сверху была:
893: ((DWORD)LD_WORD(&dir[DIR_FstClusHI]) << 16) | LD_WORD(&dir[DIR_FstClusLO]);
куда же она подевалась? Надо внимательно посмотреть листинг... Оказывается что получается так
894: fp->fsize = LD_DWORD(&dir[DIR_FileSize]); /* File size */
1520 980550 mov.w 0x0000,[0x0014+10]
1522 980561 mov.w 0x0002,[0x0014+12]
и никак иначе. А все что было до этого, относится к ((DWORD)LD_WORD(&dir[DIR_FstClusHI]) << 16) | LD_WORD(&dir[DIR_FstClusLO]);