2246,6 → 2246,16 |
jge .copy_end ;¥á«¨ ¨§®¡à ¦¥¨¥ ¯®«®áâìî ¢ë« §¨â § ¯à ¢ãî áâ®à®ã |
mov ebx,buf2d_h ;ebx - ¢ëá®â ®á®¢®£® ¡ãä¥à |
mov ecx,[coord_y] |
cmp ecx,0 |
jge @f |
;¥á«¨ ª®®à¤¨ â coord_y<0 (1-ï áâனª ) |
add edx,ecx ;㬥ìè ¥¬ ¢ëá®âã ª®¯¨à㥬®© ª à⨪¨ |
neg ecx |
;inc ecx |
imul ecx,eax |
add esi,ecx ;ᤢ¨£ ¥¬ 㪠§ ⥫ì á ª®¯¨à㥬묨 ¤ 묨, á ãç¥â®¬ ¯à®¯ã襮© ç á⨠|
xor ecx,ecx ;®¡ã«ï¥¬ ª®®à¤¨ âã coord_y |
@@: |
cmp ecx,ebx |
jge .copy_end ;¥á«¨ ª®®à¤¨ â 'y' ¡®«ìè¥ ¢ëá®âë ¡ãä¥à |
add ecx,edx ;ecx - ¨¦ïï ª®®à¤¨ â ª®¯¨à㥬®© ª à⨪¨ |
2255,9 → 2265,16 |
sub edx,ecx ;㬥ìè ¥¬ ¢ëá®âã ª®¯¨à㥬®© ª à⨪¨, ¢ á«ãç¥ ª®£¤ ® ¢ë« §¨â § ¨¦îî £à ¨æã |
@@: |
mov ebx,buf2d_w |
mov ecx,ebx ;ecx ¨á¯®«ì§ã¥¬ ¤«ï ¢à¥¬¥ëå 楫¥© |
imul ecx,[coord_y] |
mov ecx,[coord_y] ;ecx ¨á¯®«ì§ã¥¬ ¤«ï ¢à¥¬¥ëå 楫¥© |
cmp ecx,0 |
jge .end_otr_c_y |
;¥á«¨ ª®®à¤¨ â coord_y<0 (2-ï áâனª ) |
mov ecx,[coord_x] |
jmp @f |
.end_otr_c_y: |
imul ecx,ebx |
add ecx,[coord_x] |
@@: |
lea ecx,[ecx+ecx*2] |
add ecx,buf2d_data |
sub ebx,eax |