⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lutils.asm

📁 ldraw_DOS游戏开发包
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; For LUtils 
;     by Lin Wei 2000
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.486p
.DOSSEG
.MODEL FLAT,C
.CODE

; void LGMemListCpy(char *dest,long len,short *list,char *source);
; void LMemCpyMap(char *dest,char *source,long len,char **map);
;////////////////////////////////////////////////////////////////////////////
LGMemListCpy  PROC PUBLIC USES ESI EDI EDX ECX EAX EBX,
                       DEST:DWORD, LEN:DWORD, LIST:DWORD, SOURCE:DWORD
               cld
               mov edi,DEST
               mov esi,SOURCE
               mov edx,LIST
               mov ecx,LEN
               sub ax,ax
               sub ebx,ebx
            pixel_loop:
               mov bx,[edx]
               inc edx
               inc edx
               mov al,[esi+ebx]
               cmp al,ah
               jz  skip
               mov [edi],al
            skip:
               inc edi
               dec ecx
               jnz pixel_loop
               ret
LGMemListCpy  ENDP

LMemCpyMap PROC PUBLIC USES ESI EDI ECX EBX EDX AX,
                       DEST:DWORD, SOURCE:DWORD, LEN:DWORD, MAP:DWORD
               cld
               mov esi,source
               mov edi,dest
               mov ecx,len
               mov edx,map
               sub ebx,ebx
               sub eax,eax
          _for:mov al,[esi]
               cmp al,0
               jz _next
               mov ah,al
               mov al,[edi]
               mov bx,ax
               mov al,[edx+ebx]
               mov [edi],al
         _next:inc esi
               inc edi
               dec ecx
               jnz _for
               ret
LMemCpyMap ENDP

END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -