Rev 2177 | Rev 2230 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2177 | Rev 2185 | ||
---|---|---|---|
Line 1078... | Line 1078... | ||
1078 | mov esi,dword[coord_x1] |
1078 | mov esi,dword[coord_x1] |
1079 | cmp ebx,esi |
1079 | cmp ebx,esi |
1080 | jle @f |
1080 | jle @f |
1081 | xchg ebx,esi ;¥á«¨ x0 > x1 â® ¬¥ï¥¬ ¬¥áâ ¬¨ x0 ¨ x1 |
1081 | xchg ebx,esi ;¥á«¨ x0 > x1 â® ¬¥ï¥¬ ¬¥áâ ¬¨ x0 ¨ x1 |
1082 | @@: |
1082 | @@: |
- | 1083 | bt ebx,31 |
|
- | 1084 | jae @f |
|
- | 1085 | ;¥á«¨ ª®®à¤¨ â x0 ®âà¨æ ⥫ì ï |
|
- | 1086 | xor ebx,ebx |
|
- | 1087 | @@: |
|
1083 | cmp esi,buf2d_w |
1088 | cmp esi,buf2d_w |
1084 | jl @f |
1089 | jl @f |
- | 1090 | ;¥á«¨ ª®®à¤¨ â x0 ¡®«ìè¥ è¨à¨ë ¡ãä¥à |
|
1085 | mov esi,buf2d_w |
1091 | mov esi,buf2d_w |
1086 | ;dec esi |
1092 | ;dec esi |
1087 | @@: |
1093 | @@: |
- | 1094 | cmp ebx,esi |
|
- | 1095 | jge .end24 ;¥á«¨ x0 >= x1 ¬®¦¥â ¢®§¨ªãâì ª®£¤ ®¡¥ ª®®à¤¨ âë x0, x1 室¨«¨áì § ®¤¨¬ ¨§ ¯à¥¤¥«®¢ ¡ãä¥à |
|
Line 1088... | Line 1096... | ||
1088 | 1096 | ||
1089 | ;¢ eax ¢ëç¨á«ï¥¬ ç «® 1-© â®çª¨ «¨¨¨ ¢ ¡ãä¥à¥ ¨§®¡à ¦¥¨ï |
1097 | ;¢ eax ¢ëç¨á«ï¥¬ ç «® 1-© â®çª¨ «¨¨¨ ¢ ¡ãä¥à¥ ¨§®¡à ¦¥¨ï |
1090 | mov eax,buf2d_w ;size x |
1098 | mov eax,buf2d_w ;size x |
1091 | imul eax,ecx ;size_x*y |
1099 | imul eax,ecx ;size_x*y |
1092 | add eax,ebx ;size_x*y+x |
1100 | add eax,ebx ;size_x*y+x |
1093 | lea eax,[eax+eax*2] ;(size_x*y+x)*3 |
1101 | lea eax,[eax+eax*2] ;(size_x*y+x)*3 |
Line -... | Line 1102... | ||
- | 1102 | add eax,buf2d_data ;ptr+(size_x*y+x)*3 |
|
- | 1103 | ||
1094 | add eax,buf2d_data ;ptr+(size_x*y+x)*3 |
1104 | mov ecx,esi |
- | 1105 | sub ecx,ebx ;¢ ecx ª®««¨ç¥á⢮ â®ç¥ª «¨¨¨ ¢ë¢®¤¨¬ëå ¢ ¡ãä¥à |
|
- | 1106 | mov edx,dword[color] |
|
- | 1107 | mov ebx,edx ;ª®®à¤¨ â x0 ¢ ebx 㦥 ¥ 㦠|
|
1095 | 1108 | ror edx,16 ;¯®¢®à 稢 ¥¬ ॣ¨áâà çâ® ¡ë 3-© ¡ ©â ¯®¯ « ¢ dl |
|
1096 | mov edx,dword[color] |
- | |
1097 | @@: ;横« ¯® ®á¨ x ®â x0 ¤® x1 |
- | |
1098 | cmp ebx,esi |
- | |
1099 | jge @f |
- | |
1100 | bt ebx,31 |
1109 | cld |
1101 | jc .otr_x |
- | |
1102 | mov word[eax],dx ;copy pixel color |
1110 | @@: ;横« ¯® ®á¨ x ®â x0 ¤® x1 |
1103 | ror edx,16 |
- | |
1104 | mov byte[eax+2],dl |
- | |
1105 | ror edx,16 |
1111 | mov word[eax],bx ;copy pixel color |
1106 | .otr_x: |
- | |
1107 | add eax,3 |
1112 | mov byte[eax+2],dl |
1108 | inc ebx |
- | |
1109 | jmp @b |
1113 | add eax,3 |
1110 | @@: |
1114 | loop @b |
1111 | .end24: |
1115 | .end24: |
1112 | popad |
1116 | popad |