2006-11-02 15:18:23 +01:00
|
|
|
|
; struc DiagramData size,color
|
|
|
|
|
; {
|
|
|
|
|
; .color dd color
|
|
|
|
|
; times size db 0 ;;change to value > 100
|
|
|
|
|
; }
|
|
|
|
|
|
|
|
|
|
;------------------------------------------------------
|
|
|
|
|
d_show:
|
|
|
|
|
; esi - pointer to struct
|
|
|
|
|
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cmp dword[esi], tcol
|
|
|
|
|
jne @f
|
|
|
|
|
ret
|
|
|
|
|
@@: pusha
|
|
|
|
|
|
|
|
|
|
mov edx, [esi]
|
|
|
|
|
add esi, 4
|
|
|
|
|
mov edi, esi
|
|
|
|
|
add edi, 285
|
|
|
|
|
|
|
|
|
|
mov ebx, 12 * 65536 + 13
|
|
|
|
|
xor eax, eax
|
|
|
|
|
lodsb
|
2006-11-28 16:54:36 +01:00
|
|
|
|
mov cx, 240
|
2006-11-02 15:18:23 +01:00
|
|
|
|
sub ecx, eax
|
|
|
|
|
|
|
|
|
|
@@: shl ecx, 16
|
2006-11-28 16:54:36 +01:00
|
|
|
|
mov cx, 240
|
2006-11-02 15:18:23 +01:00
|
|
|
|
lodsb
|
|
|
|
|
sub ecx, eax
|
|
|
|
|
mov eax, 38
|
|
|
|
|
int 0x40
|
|
|
|
|
add ebx, 0x10001
|
|
|
|
|
cmp esi, edi
|
|
|
|
|
jle @b
|
|
|
|
|
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------
|
|
|
|
|
d_add:
|
|
|
|
|
; esi - pointer to struct
|
|
|
|
|
; al - value
|
|
|
|
|
pusha
|
|
|
|
|
cmp byte [diag_add_v], 0 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
je d_add_end
|
|
|
|
|
cld
|
|
|
|
|
mov ecx, 285
|
|
|
|
|
add esi, 4
|
|
|
|
|
mov edi, esi
|
|
|
|
|
inc esi
|
|
|
|
|
rep movsb
|
|
|
|
|
cmp al, 100
|
|
|
|
|
jbe @f
|
|
|
|
|
mov al, 100
|
|
|
|
|
@@: mov [edi], al
|
|
|
|
|
d_add_end:
|
|
|
|
|
popa
|
|
|
|
|
ret
|