src/hermes/x86p_16.asm
branchSDL-1.2
changeset 3983 540466e900db
parent 1873 eb4d9d99849b
child 5392 30e4d724fe98
equal deleted inserted replaced
3982:0a0f8cccc77c 3983:540466e900db
    18 SDL_FUNC _ConvertX86p16_16RGB555
    18 SDL_FUNC _ConvertX86p16_16RGB555
    19 SDL_FUNC _ConvertX86p16_16BGR555
    19 SDL_FUNC _ConvertX86p16_16BGR555
    20 SDL_FUNC _ConvertX86p16_8RGB332
    20 SDL_FUNC _ConvertX86p16_8RGB332
    21 
    21 
    22 EXTERN _ConvertX86
    22 EXTERN _ConvertX86
    23 EXTERN _x86return
       
    24 
    23 
    25 SECTION .text
    24 SECTION .text
    26 
    25 
    27 _ConvertX86p16_16BGR565:
    26 _ConvertX86p16_16BGR565:
    28 
    27 
    47     add esi,BYTE 2
    46     add esi,BYTE 2
    48     add edi,BYTE 2
    47     add edi,BYTE 2
    49     dec ecx
    48     dec ecx
    50     jnz .L1
    49     jnz .L1
    51 .L2
    50 .L2
    52     jmp _x86return
    51     retn
    53 
    52 
    54 .L3 ; head
    53 .L3 ; head
    55     mov eax,edi
    54     mov eax,edi
    56     and eax,BYTE 11b
    55     and eax,BYTE 11b
    57     jz .L4
    56     jz .L4
   125     mov [edi+1],ah
   124     mov [edi+1],ah
   126     add esi,BYTE 2
   125     add esi,BYTE 2
   127     add edi,BYTE 2
   126     add edi,BYTE 2
   128 
   127 
   129 .L7
   128 .L7
   130     jmp _x86return
   129     retn
   131 
   130 
   132 
   131 
   133 
   132 
   134 
   133 
   135 
   134 
   154     add esi,BYTE 2
   153     add esi,BYTE 2
   155     add edi,BYTE 2
   154     add edi,BYTE 2
   156     dec ecx
   155     dec ecx
   157     jnz .L1
   156     jnz .L1
   158 .L2
   157 .L2
   159     jmp _x86return
   158     retn
   160 
   159 
   161 .L3 ; head
   160 .L3 ; head
   162     mov eax,edi
   161     mov eax,edi
   163     and eax,BYTE 11b
   162     and eax,BYTE 11b
   164     jz .L4
   163     jz .L4
   233     add edi,BYTE 2
   232     add edi,BYTE 2
   234     dec ecx
   233     dec ecx
   235     jmp SHORT .L6
   234     jmp SHORT .L6
   236 
   235 
   237 .L7 pop ebp
   236 .L7 pop ebp
   238     jmp _x86return
   237     retn
   239 
   238 
   240 
   239 
   241 
   240 
   242 
   241 
   243 
   242 
   267     add esi,BYTE 2
   266     add esi,BYTE 2
   268     add edi,BYTE 2
   267     add edi,BYTE 2
   269     dec ecx
   268     dec ecx
   270     jnz .L1
   269     jnz .L1
   271 .L2
   270 .L2
   272     jmp _x86return
   271     retn
   273 
   272 
   274 .L3 ; head
   273 .L3 ; head
   275     mov eax,edi
   274     mov eax,edi
   276     and eax,BYTE 11b
   275     and eax,BYTE 11b
   277     jz .L4
   276     jz .L4
   351     mov [edi+1],ah
   350     mov [edi+1],ah
   352     add esi,BYTE 2
   351     add esi,BYTE 2
   353     add edi,BYTE 2
   352     add edi,BYTE 2
   354 
   353 
   355 .L7
   354 .L7
   356     jmp _x86return
   355     retn
   357 
   356 
   358 
   357 
   359 
   358 
   360 
   359 
   361 
   360 
   384     add esi,BYTE 2
   383     add esi,BYTE 2
   385     inc edi
   384     inc edi
   386     dec ecx
   385     dec ecx
   387     jnz .L1
   386     jnz .L1
   388 .L2
   387 .L2
   389     jmp _x86return
   388     retn
   390 
   389 
   391 .L3 mov eax,edi
   390 .L3 mov eax,edi
   392     and eax,BYTE 11b
   391     and eax,BYTE 11b
   393     jz .L4
   392     jz .L4
   394     mov al,[esi+0]
   393     mov al,[esi+0]
   482     inc edi
   481     inc edi
   483     dec ecx
   482     dec ecx
   484     jnz .L6
   483     jnz .L6
   485 
   484 
   486 .L7 pop ebp
   485 .L7 pop ebp
   487     jmp _x86return
   486     retn
   488 
   487 
   489 %ifidn __OUTPUT_FORMAT__,elf
   488 %ifidn __OUTPUT_FORMAT__,elf
   490 section .note.GNU-stack noalloc noexec nowrite progbits
   489 section .note.GNU-stack noalloc noexec nowrite progbits
   491 %endif
   490 %endif