1917,6 → 1917,19 |
jge .copy_end ;¥á«¨ ¨§®¡à ¦¥¨¥ ¯®«®áâìî ¢ë« §¨â § ¯à ¢ãî áâ®à®ã |
mov ebx,buf2d_h ;ebx - ¢ëá®â ®á®¢®£® ¡ãä¥à |
mov ecx,[coord_y] |
cmp ecx,0 |
jge @f |
;¥á«¨ ª®®à¤¨ â coord_y<0 (1-ï áâனª ) |
add edx,ecx ;㬥ìè ¥¬ ¢ëá®âã ª®¯¨à㥬®© ª à⨪¨ |
cmp edx,0 |
jle .copy_end ;¥á«¨ ª®¯¨à㥬®¥ ¨§®¡à ¦¥¨¥ 室¨âáï ¯®«®áâìî ¤ ¢¥à奩 £à ¨æ¥© ¡ãä¥à (coord_y<0 ¨ |coord_y|>buf_source.h) |
neg ecx |
;inc ecx |
imul ecx,eax |
lea ecx,[ecx+ecx*2] ;¯® 3 ¡ ©â ¯¨ªá¥«ì |
add esi,ecx ;ᤢ¨£ ¥¬ 㪠§ ⥫ì á ª®¯¨à㥬묨 ¤ 묨, á ãç¥â®¬ ¯à®¯ã襮© ç á⨠|
xor ecx,ecx ;®¡ã«ï¥¬ ª®®à¤¨ âã coord_y |
@@: |
cmp ecx,ebx |
jge .copy_end ;¥á«¨ ª®®à¤¨ â 'y' ¡®«ìè¥ ¢ëá®âë ¡ãä¥à |
add ecx,edx ;ecx - ¨¦ïï ª®®à¤¨ â ª®¯¨à㥬®© ª à⨪¨ |
1926,9 → 1939,16 |
sub edx,ecx ;㬥ìè ¥¬ ¢ëá®âã ª®¯¨à㥬®© ª à⨪¨, ¢ á«ãç¥ ª®£¤ ® ¢ë« §¨â § ¨¦îî £à ¨æã |
@@: |
mov ebx,buf2d_w |
mov ecx,ebx ;ecx ¨á¯®«ì§ã¥¬ ¤«ï ¢à¥¬¥ëå 楫¥© |
imul ecx,[coord_y] |
mov ecx,[coord_y] ;ecx ¨á¯®«ì§ã¥¬ ¤«ï ¢à¥¬¥ëå 楫¥© |
cmp ecx,0 |
jg .end_otr_c_y_24 |
;¥á«¨ ª®®à¤¨ â coord_y<=0 (2-ï áâனª ) |
mov ecx,[coord_x] |
jmp @f |
.end_otr_c_y_24: |
imul ecx,ebx |
add ecx,[coord_x] |
@@: |
lea ecx,[ecx+ecx*2] |
add ecx,buf2d_data |
sub ebx,eax |
1982,6 → 2002,19 |
jge .copy_end ;¥á«¨ ¨§®¡à ¦¥¨¥ ¯®«®áâìî ¢ë« §¨â § ¯à ¢ãî áâ®à®ã |
mov ebx,buf2d_h ;ebx - ¢ëá®â ®á®¢®£® ¡ãä¥à |
mov ecx,[coord_y] |
cmp ecx,0 |
jge @f |
;¥á«¨ ª®®à¤¨ â coord_y<0 (1-ï áâனª ) |
add edx,ecx ;㬥ìè ¥¬ ¢ëá®âã ª®¯¨à㥬®© ª à⨪¨ |
cmp edx,0 |
jle .copy_end ;¥á«¨ ª®¯¨à㥬®¥ ¨§®¡à ¦¥¨¥ 室¨âáï ¯®«®áâìî ¤ ¢¥à奩 £à ¨æ¥© ¡ãä¥à (coord_y<0 ¨ |coord_y|>buf_source.h) |
neg ecx |
;inc ecx |
imul ecx,eax |
shl ecx,2 ;¯® 4 ¡ ©â ¯¨ªá¥«ì |
add esi,ecx ;ᤢ¨£ ¥¬ 㪠§ ⥫ì á ª®¯¨à㥬묨 ¤ 묨, á ãç¥â®¬ ¯à®¯ã襮© ç á⨠|
xor ecx,ecx ;®¡ã«ï¥¬ ª®®à¤¨ âã coord_y |
@@: |
cmp ecx,ebx |
jge .copy_end ;¥á«¨ ª®®à¤¨ â 'y' ¡®«ìè¥ ¢ëá®âë ¡ãä¥à |
add ecx,edx ;ecx - ¨¦ïï ª®®à¤¨ â ª®¯¨à㥬®© ª à⨪¨ |
1991,9 → 2024,19 |
sub edx,ecx ;㬥ìè ¥¬ ¢ëá®âã ª®¯¨à㥬®© ª à⨪¨, ¢ á«ãç¥ ª®£¤ ® ¢ë« §¨â § ¨¦îî £à ¨æã |
@@: |
mov ebx,buf2d_w |
mov ecx,ebx ;ecx ¨á¯®«ì§ã¥¬ ¤«ï ¢à¥¬¥ëå 楫¥© |
imul ecx,[coord_y] |
;mov ecx,ebx ;ecx ¨á¯®«ì§ã¥¬ ¤«ï ¢à¥¬¥ëå 楫¥© |
;imul ecx,[coord_y] |
;add ecx,[coord_x] |
mov ecx,[coord_y] ;ecx ¨á¯®«ì§ã¥¬ ¤«ï ¢à¥¬¥ëå 楫¥© |
cmp ecx,0 |
jg .end_otr_c_y_32 |
;¥á«¨ ª®®à¤¨ â coord_y<=0 (2-ï áâனª ) |
mov ecx,[coord_x] |
jmp @f |
.end_otr_c_y_32: |
imul ecx,ebx |
add ecx,[coord_x] |
@@: |
lea ecx,[ecx+ecx*2] |
add ecx,buf2d_data |
sub ebx,eax |
2120,7 → 2163,7 |
neg ecx |
;inc ecx |
imul ecx,eax |
shl ecx,2 ;¯® 4 ¡¨â ¯¨ªá¥«ì |
shl ecx,2 ;¯® 4 ¡ ©â ¯¨ªá¥«ì |
add esi,ecx ;ᤢ¨£ ¥¬ 㪠§ ⥫ì á ª®¯¨à㥬묨 ¤ 묨, á ãç¥â®¬ ¯à®¯ã襮© ç á⨠|
xor ecx,ecx ;®¡ã«ï¥¬ ª®®à¤¨ âã coord_y |
@@: |
2160,7 → 2203,7 |
@@: |
|
lea ebx,[ebx+ebx*2] ;ª®««¨ç¥á⢮ ¡ ©â ¢ 1-© áâப¥ ¡ãä¥à ¬¨ãá ç¨á«® ¡ ©â ¢ 1-© áâப¥ ª®¯¨à㥬®© ª à⨪¨ |
|
;g; |
cld |
cmp [right_bytes],0 |
jg .copy_1 |