; Copyright (c) Microsoft Corporation. All rights reserved. ; Custom Build Step, including a listing file placed in intermediate directory ; but without Source Browser information ; debug: ; ml -c -Zi "-Fl$(IntDir)\$(InputName).lst" "-Fo$(IntDir)\$(InputName).obj" "$(InputPath)" ; release: ; ml -c "-Fl$(IntDir)\$(InputName).lst" "-Fo$(IntDir)\$(InputName).obj" "$(InputPath)" ; outputs: ; $(IntDir)\$(InputName).obj ; Custom Build Step, including a listing file placed in intermediate directory ; and Source Browser information also placed in intermediate directory ; debug: ; ml -c -Zi "-Fl$(IntDir)\$(InputName).lst" "-FR$(IntDir)\$(InputName).sbr" "-Fo$(IntDir)\$(InputName).obj" "$(InputPath)" ; release: ; ml -c "-Fl$(IntDir)\$(InputName).lst" "-FR$(IntDir)\$(InputName).sbr" "-Fo$(IntDir)\$(InputName).obj" "$(InputPath)" ; outputs: ; $(IntDir)\$(InputName).obj ; $(IntDir)\$(InputName).sbr ;.386 ;.MODEL FLAT, C PBYTE TYPEDEF PTR BYTE PWORD TYPEDEF PTR WORD PDWORD TYPEDEF PTR DWORD .data .code ImgAddr equ r14 ConAddr equ r15 ; maxDefect equ r8 ; parameterr 3 ; nDefect equ r9 ; parameter 4 DefectX equ qword ptr[rbp+ 30h] DefectY equ qword ptr[rbp+ 38h] DefectType equ qword ptr[rbp+ 40h] DefectVal equ qword ptr[rbp+ 48h] iPitch equ qword Ptr[rbp+ 50h] fSPR equ qword ptr[rbp+ 58h] sSPR equ qword ptr[rbp+ 60h] Suppress equ qword ptr[rbp+ 68h] DTH_Val equ qword ptr[rbp+ 70h] DTH_Add equ qword ptr[rbp+ 78h] ConvWidth equ qword ptr[rbp+ 80h] ConvHeight equ qword ptr[rbp+ 88h] InspLeft equ qword ptr[rbp+ 90h] InspRight equ qword ptr[rbp+ 98h] InspTop equ qword ptr[rbp+ 0a0h] InspBottom equ qword ptr[rbp+ 0a8h] BuffWidth equ qword ptr[rbp+ 0b0h] Threshold equ qword ptr[rbp+ 0b8h] SPR equ qword ptr[rbp+ 0c0h] Test2 equ dword ptr[rbp+ 0c0h] ix equ rdx iy equ rcx ConvFloat PROC local ConAddrO: Qword local WidthV: Qword local FAA: Qword local FAB: Qword local FBB: Qword local FCC: Qword local FD: qword ; PITCH + conv_Width local ImgAddrAdd: qword local SPRV: qword mov rax, spr mov sprv, rax mov ImgAddr, rcx mov ConAddr, rdx mov ConAddrO, rdx mov rax, BuffWidth mov rcx, InspTop mul rcx add rax, InspLeft add rax, ImgAddr mov ImgAddr, rax mov rax, BuffWidth mov rcx, ConvHeight mul rcx mov WidthV, rax ;jmp END_BUFFER mov ix, InspLeft mov iy, InspTop mov r10, DefectX mov r11, DefectY mov r12, DefectType mov r13, DefectVal mov rax, BuffWidth ; À̹ÌÁö Æ÷ÀÎÅÍ À̵¿°ª °è»ê(ÇÑÇà °Ë»ç ³¡³­ ÈÄ Æ÷ÀÎÅÍ À̵¿.) add rax, InspLeft sub rax, InspRight mov ImgAddrAdd, rax mov rax, ConvWidth ; FAA shl rax, 1 mov FAA, rax mov FAB, rax ; FAB sub FAB, 2h mov rax, iPitch ; FBB sub rax, ConvWidth shl rax, 1 mov FBB, rax mov rax, FAA ; FCC add rax, FAB add rax, FBB add rax, 4 mov FCC, rax mov rax, InspLeft ; FD add rax, iPitch add rax, ConvWidth mov FD, rax mov rax, fSPR ; 16bit movd xmm11, eax movdqa xmm0, xmm11 punpcklwd xmm0, xmm11 pshufd xmm11, xmm0, 0 mov rax, sSPR ; 16bit movd xmm12, eax movdqa xmm0, xmm12 punpcklwd xmm0, xmm12 pshufd xmm12, xmm0, 0 movdqa xmm10, xmm11 paddw xmm10, xmm12 mov rax, Suppress ; supress 8bit movd xmm13, eax movdqa xmm0, xmm13 punpcklbw xmm13, xmm0 movdqa xmm0, xmm13 punpcklbw xmm0, xmm13 pshufd xmm13, xmm0, 0 mov rax, DTH_Val ; 16bit movd xmm14, eax movdqa xmm0, xmm14 punpcklwd xmm0, xmm14 pshufd xmm14, xmm0, 0 mov rax, DTH_Add ; 16bit movd xmm15, eax movdqa xmm0, xmm15 punpcklwd xmm0, xmm15 pshufd xmm15, xmm0, 0 mov rax, Threshold ; 16bit movd xmm1, eax movdqa xmm0, xmm1 punpcklwd xmm0, xmm1 pshufd xmm1, xmm0, 0 pxor xmm0, xmm0 pxor xmm4, xmm4 pxor xmm5, xmm5 ;LOOP_Y: LOOP_XY: ; START_16PIXEL: movdqu xmm8, [ImgAddr] ; À̹ÌÁö ·Îµù movdqa xmm2, xmm8 ; Threshold ¸¸µé±â movdqa xmm3, xmm8 punpcklbw xmm2, xmm0 punpckhbw xmm3, xmm0 pcmpgtw xmm2, XMM14 ; 2Â÷ ¹®Åΰª ¹à±â pand xmm2, xmm15 ; 2Â÷ ¹®Åΰª Ãß°¡ paddw xmm2, xmm1 ; 2Â÷ ¹®Åΰª Àû¿ë pcmpgtw xmm3, XMM14 ; 2Â÷ ¹®Åΰª ¹à±â pand xmm3, xmm15 ; 2Â÷ ¹®Åΰª Ãß°¡ paddw xmm3, xmm1 ; 2Â÷ ¹®Åΰª Àû¿ë pxor xmm6, xmm6 ; Set Zero (Vertical Add °ª ÀúÀå) pxor xmm7, xmm7 xor rdi, rdi ; Set Zero (Vertical Add count) jmp VERT_ADD ; À̹ÌÁö°¡ ·ÎµùµÈ »óÅÂÀ̹ǷΠADD·Î Ãâ±Ù. VERT_LOAD: movdqu xmm8, [ImgAddr] ; À̹ÌÁö ·Îµù VERT_ADD: movdqa xmm9, xmm8 ; suppress psubusb xmm9, xmm13 ; suppress º¸´Ù ³ôÀº °ª ¸¸µé±â (saturation 0 ÀÌÇÏ´Â 0) psubusb xmm8, xmm9 ; suppress °ª º¸´Ù ³ôÀº °ªÀº »©ÁØ´Ù. movdqa xmm9, xmm8 ; word·Î ¾ðÆÑ punpcklbw xmm8, xmm0 punpckhbw xmm9, xmm0 paddw xmm6, xmm8 ; ÇÕ»ê - vertical paddw xmm7, xmm9 add ImgAddr, BuffWidth inc rdi ; Vertical LOOP cmp rdi, ConvHeight jl VERT_LOAD sub ImgAddr, WidthV movdqu [ConAddr], xmm6 ; Con_Buff¿¡ ³Ö±â. movdqu [ConAddr+ 10h], xmm7 ;CONV: pxor xmm8, xmm8 ; zero buff pxor xmm9, xmm9 ; »©±â ; STEP 1 pmullw xmm6, xmm10 ; *mulFactorOrg pmullw xmm7, xmm10 psubw xmm8, xmm6 ; ´©Àû Ãß°¡°ª °è»ê psubw xmm9, xmm7 ; ´õÇϱâ sub ConAddr, FAA ; STEP 2 movdqu xmm6, [ConAddr] movdqu xmm7, [ConAddr+10h] pmullw xmm6, xmm10 pmullw xmm7, xmm10 paddw xmm8, xmm6 paddw xmm9, xmm7 ; »©±â & »©±â => ´õÇϱâ sub ConAddr, FBB ; STEP 3 movdqu xmm6, [ConAddr] movdqu xmm7, [ConAddr+10h] pmullw xmm6, XMM11 pmullw xmm7, XMM11 paddw xmm8, xmm6 paddw xmm9, xmm7 sub ConAddr, 2 ; STEP 4 movdqu xmm6, [ConAddr] movdqu xmm7, [ConAddr+10h] pmullw xmm6, XMM12 pmullw xmm7, XMM12 paddw xmm8, xmm6 paddw xmm9, xmm7 sub ConAddr, FAB ; STEP 5 movdqu xmm6, [ConAddr] movdqu xmm7, [ConAddr+10h] pmullw xmm6, XMM11 pmullw xmm7, XMM11 psubw xmm8, xmm6 psubw xmm9, xmm7 sub ConAddr, 2 ; STEP 6 movdqu xmm6, [ConAddr] movdqu xmm7, [ConAddr+10h] pmullw xmm6, XMM12 pmullw xmm7, XMM12 psubw xmm8, xmm6 psubw xmm9, xmm7 add ConAddr, FCC ; ADDRESS ¿øº¹ movdqu xmm6, xmm8 ; ´©Àû ½ÃÀÛ. movdqu xmm7, xmm9 pslldq xmm8, 2 ; low ´©Àû paddw xmm6, xmm8 pslldq xmm8, 2 paddw xmm6, xmm8 pslldq xmm8, 2 paddw xmm6, xmm8 pslldq xmm8, 2 paddw xmm6, xmm8 pslldq xmm8, 2 paddw xmm6, xmm8 pslldq xmm8, 2 paddw xmm6, xmm8 pslldq xmm8, 2 paddw xmm6, xmm8 pslldq xmm9, 2 ; hi ´©Àû paddw xmm7, xmm9 pslldq xmm9, 2 paddw xmm7, xmm9 pslldq xmm9, 2 paddw xmm7, xmm9 pslldq xmm9, 2 paddw xmm7, xmm9 pslldq xmm9, 2 paddw xmm7, xmm9 pslldq xmm9, 2 paddw xmm7, xmm9 pslldq xmm9, 2 paddw xmm7, xmm9 pshufhw xmm4, xmm5, 0ffh pshufd xmm4, xmm4, 0ffh paddw xmm4, xmm6 ; 6°ú 7À» 4¿Í 5¿¡ ´©Àû (4,5 ´Â º¯°æµÇ¸é ¾ÈµÇ´Â xmm) pshufhw xmm5, xmm4, 0ffh pshufd xmm5, xmm5, 0ffh paddw xmm5, xmm7 movdqu xmm6, xmm4 ; ¿¬»ê À§ÇØ copy (6,7Àº ³ª´°¼ÀÀ¸·Î CONV ¹öÆÛ¸¸µé°í, 8,9´Â SPR ¹öÆÛ ±×´ë·Î) movdqu xmm7, xmm5 movdqu xmm8, xmm4 movdqu xmm9, xmm5 psraw xmm6, spr ; SPR Á¦°ÅµÈ °ª ÀúÀå.°ö¼À¹öÆÛ¸¦ ÇÕ¹öÆÛ·Î ¸¸µé±â. psraw xmm7, spr ;ADD IX, 15 ;jmp END_16_PIXEL INS_WHITE_DEFECT: pcmpgtw xmm8, xmm2 ; ¹é°áÇÔ ±¸ºÐ, threshold º¸´Ù ³ôÀº °ÍÀº 1111 pcmpgtw xmm9, xmm3 orpd xmm8, xmm9 ; °áÇÔÀÌ ÇѰ³µµ ¾ø´ÂÁö ¿ì¼± °Ë»ç. pmovmskb eax, xmm8 cmp eax, 0 jz INS_WHITE_PASS movdqu xmm8, xmm4 pcmpgtw xmm8, xmm2 WHITE_0: pextrw rdi, xmm8, 0h cmp rdi, 0 je WHITE_1 cmp rdx, FD jl WHITE_1 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 0h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_1: inc ix pextrw rdi, xmm8, 1h cmp rdi, 0 je WHITE_2 cmp rdx, FD jl WHITE_2 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 1h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_2: inc ix pextrw rdi, xmm8, 2h cmp rdi, 0 je WHITE_3 cmp rdx, FD jl WHITE_3 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 2h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_3: inc ix pextrw rdi, xmm8, 3h cmp rdi, 0 je WHITE_4 cmp rdx, FD jl WHITE_4 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 3h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_4: inc ix pextrw rdi, xmm8, 4h cmp rdi, 0 je WHITE_5 cmp rdx, FD jl WHITE_5 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 4h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_5: inc ix pextrw rdi, xmm8, 5h cmp rdi, 0 je WHITE_6 cmp rdx, FD jl WHITE_6 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 5h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_6: inc ix pextrw rdi, xmm8, 6h cmp rdi, 0 je WHITE_7 cmp rdx, FD jl WHITE_7 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 6h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_7: inc ix pextrw rdi, xmm8, 7h cmp rdi, 0 je WHITE_8 cmp rdx, FD jl WHITE_8 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 7h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_8: inc ix pextrw edi, xmm9, 0h cmp edi, 0 je WHITE_9 cmp rdx, FD jl WHITE_9 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 0h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_9: inc ix pextrw rdi, xmm9, 1h cmp rdi, 0 je WHITE_10 cmp rdx, FD jl WHITE_10 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 1h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_10: inc ix pextrw rdi, xmm9, 2h cmp rdi, 0 je WHITE_11 cmp rdx, FD jl WHITE_11 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 2h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_11: inc ix pextrw rdi, xmm9, 3h cmp rdi, 0 je WHITE_12 cmp rdx, FD jl WHITE_12 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 3h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_12: inc ix pextrw rdi, xmm9, 4h cmp rdi, 0 je WHITE_13 cmp rdx, FD jl WHITE_13 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 4h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_13: inc ix pextrw rdi, xmm9, 5h cmp rdi, 0 je WHITE_14 cmp rdx, FD jl WHITE_14 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 5h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_14: inc ix pextrw rdi, xmm9, 6h cmp rdi, 0 je WHITE_15 cmp rdx, FD jl WHITE_15 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 6h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 WHITE_15: inc ix pextrw edi, xmm9, 7h cmp edi, 0 je INS_BLACK_DEFECT cmp rdx, FD jl END_16_PIXEL cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 7h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 0 inc r9 jmp INS_BLACK_DEFECT INS_WHITE_PASS: add ix, 15 INS_BLACK_DEFECT: cmp ix, FD jle END_16_PIXEL psubw xmm0, xmm2 ; minus Threshold ¸¸µé±â. movdqu xmm2, xmm0 pxor xmm0, xmm0 psubw xmm0, xmm3 movdqu xmm3, xmm0 pxor xmm0, xmm0 ; xmm0 ´Â Ç×»ó 0À¸·Î ¼Â pcmpgtw xmm2, xmm4 ; Èæ°áÇÔ ±¸ºÐ, threshold º¸´Ù ³·Àº °ÍÀº 1111 pcmpgtw xmm3, xmm5 movdqu xmm8, xmm2 ; °áÇÔÀÌ ÇѰ³µµ ¾ø´ÂÁö ¿ì¼± °Ë»ç. orpd xmm8, xmm3 pmovmskb edi, xmm8 cmp edi, 0 jz END_16_PIXEL sub ix, 15 BLACK_0: pextrw edi, xmm2, 0h cmp edi, 0 je BLACK_1 cmp ix, FD jl BLACK_1 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 0h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_1: inc ix pextrw edi, xmm2, 1h cmp edi, 0 je BLACK_2 cmp ix, FD jl BLACK_2 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 1h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_2: inc ix pextrw edi, xmm2, 2h cmp edi, 0 je BLACK_3 cmp ix, FD jl BLACK_3 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 2h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_3: inc ix pextrw edi, xmm2, 3h cmp edi, 0 je BLACK_4 cmp ix, FD jl BLACK_4 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 3h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_4: inc ix pextrw edi, xmm2, 4h cmp edi, 0 je BLACK_5 cmp ix, FD jl BLACK_5 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 4h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_5: inc ix pextrw edi, xmm2, 5h cmp edi, 0 je BLACK_6 cmp ix, FD jl BLACK_6 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 5h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_6: inc ix pextrw edi, xmm2, 6h cmp edi, 0 je BLACK_7 cmp ix, FD jl BLACK_7 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 6h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_7: inc ix pextrw edi, xmm2, 7h cmp edi, 0 je BLACK_8 cmp ix, FD jl BLACK_8 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm6, 7h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_8: inc ix pextrw edi, xmm3, 0h cmp edi, 0 je BLACK_9 cmp ix, FD jl BLACK_9 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 0h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_9: inc ix pextrw edi, xmm3, 1h cmp edi, 0 je BLACK_10 cmp ix, FD jl BLACK_10 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 1h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_10: inc ix pextrw edi, xmm3, 2h cmp edi, 0 je BLACK_11 cmp ix, FD jl BLACK_11 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 2h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_11: inc ix pextrw edi, xmm3, 3h cmp edi, 0 je BLACK_12 cmp ix, FD jl BLACK_12 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 3h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_12: inc ix pextrw edi, xmm3, 4h cmp edi, 0 je BLACK_13 cmp ix, FD jl BLACK_13 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 4h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_13: inc ix pextrw edi, xmm3, 5h cmp edi, 0 je BLACK_14 cmp ix, FD jl BLACK_14 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 5h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_14: inc ix pextrw edi, xmm3, 6h cmp edi, 0 je BLACK_15 cmp ix, FD jl BLACK_15 cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 6h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 BLACK_15: inc ix pextrw edi, xmm3, 7h cmp edi, 0 je END_16_PIXEL cmp ix, FD jl END_16_PIXEL cmp r8, r9 ; °áÇÔ¹öÆÛ°¡ ²ËÂ÷¸é. ³¡ je END_BUFFER pextrw edi, xmm7, 7h mov [r10+ 4*r9], edx mov [r11+ 4*r9], ecx mov [r13+ 2*r9], di mov word ptr [r12+ 2*r9], 1 inc r9 END_16_PIXEL: add ImgAddr, 10h add ConAddr, 20h inc ix ; x Loop cmp ix, InspRight jl LOOP_XY pxor xmm4, xmm4 pxor xmm5, xmm5 mov ConAddr, ConAddrO mov ix, InspLeft add ImgAddr, ImgAddrAdd inc iy ; y Loop cmp iy, InspBottom jl LOOP_XY END_BUFFER: mov rax, r9 ; return nDefect RET ConvFloat ENDP end