home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Audio 4.94 - Over 11,000 Files
/
audio-11000.iso
/
msdos
/
sndbords
/
proaudio
/
pcmtlsrc
/
tpcm.arj
/
SETPAL.ASM
< prev
next >
Wrap
Assembly Source File
|
1992-08-31
|
15KB
|
654 lines
;$Author: BCRANE $
;$Date: 31 Aug 1992 19:10:54 $
;$Header: X:/sccs/sdkapp/setpal.asv 1.2 31 Aug 1992 19:10:54 BCRANE $
;$Log: X:/sccs/sdkapp/setpal.asv $
;
; Rev 1.2 31 Aug 1992 19:10:54 BCRANE
; removed commenting-out of cycpal()
;
; Rev 1.1 31 Aug 1992 09:35:34 BCRANE
; added five more palettes
;
; Rev 1.0 29 Jul 1992 16:58:02 BCRANE
; Initial revision.
;$Logfile: X:/sccs/sdkapp/setpal.asv $
;$Modtimes$
;$Revision: 1.2 $
;$Workfile: setpal.asm $
.model compact
include c:\include\macros.inc
public _savpal, _setpal, _rstpal, _usepal, _stirpal
public _fcycpal, _bcycpal, _f16cycpal, _b16cycpal,
public _flppal, _uflppal, _dflppal
public _getcurrentpalette
public p_new
public _currentpalette
.code
;;_text segment para public 'CODE'
;; assume cs:_text, ds:nothing, ss:nothing, es:nothing
_getcurrentpalette proc
mov ax, offset p_new
mov dx, cs
ret
_getcurrentpalette endp
_savpal proc
pushall
mov ax, cs
mov es, ax
getvgapal p_old
popall
ret
_savpal endp
_setpal proc
pushall
mov ax, cs
mov es, ax
setvgapal p_new
popall
ret
_setpal endp
_rstpal proc
pushall
mov ax, cs
mov es, ax
setvgapal p_old
popall
ret
_rstpal endp
_fcycpal proc
pushall
mov ax, cs
mov ds, ax
mov cx, 253
mov di, offset p_new[253*3]
mov al, byte ptr [di][3]
mov ah, byte ptr [di][4]
mov bl, byte ptr [di][5]
@@:
mov bh, byte ptr [di][0]
mov byte ptr [di][3], bh
mov bh, byte ptr [di][1]
mov byte ptr [di][4], bh
mov bh, byte ptr [di][2]
mov byte ptr [di][5], bh
sub di, 3
loop @B
mov byte ptr [di][3], al
mov byte ptr [di][4], ah
mov byte ptr [di][5], bl
popall
ret
_fcycpal endp
_bcycpal proc
pushall
mov ax, cs
mov ds, ax
mov cx, 253
mov di, offset p_new[3]
mov al, byte ptr [di][0]
mov ah, byte ptr [di][1]
mov bl, byte ptr [di][2]
@@:
mov bh, byte ptr [di][3]
mov byte ptr [di][0], bh
mov bh, byte ptr [di][4]
mov byte ptr [di][1], bh
mov bh, byte ptr [di][5]
mov byte ptr [di][2], bh
add di, 3
loop @B
mov byte ptr [di][0], al
mov byte ptr [di][1], ah
mov byte ptr [di][2], bl
popall
ret
_bcycpal endp
_f16cycpal proc
pushall
mov ax, cs
mov ds, ax
mov cx, 14
mov di, offset p_new[14*3]
mov al, byte ptr [di][3]
mov ah, byte ptr [di][4]
mov bl, byte ptr [di][5]
@@:
mov bh, byte ptr [di][0]
mov byte ptr [di][3], bh
mov bh, byte ptr [di][1]
mov byte ptr [di][4], bh
mov bh, byte ptr [di][2]
mov byte ptr [di][5], bh
sub di, 3
loop @B
mov byte ptr [di][3], al
mov byte ptr [di][4], ah
mov byte ptr [di][5], bl
popall
ret
_f16cycpal endp
_b16cycpal proc
pushall
mov ax, cs
mov ds, ax
mov cx, 14
mov di, offset p_new[3]
mov al, byte ptr [di][0]
mov ah, byte ptr [di][1]
mov bl, byte ptr [di][2]
@@:
mov bh, byte ptr [di][3]
mov byte ptr [di][0], bh
mov bh, byte ptr [di][4]
mov byte ptr [di][1], bh
mov bh, byte ptr [di][5]
mov byte ptr [di][2], bh
add di, 3
loop @B
mov byte ptr [di][0], al
mov byte ptr [di][1], ah
mov byte ptr [di][2], bl
popall
ret
_b16cycpal endp
_flppal proc
pushall
mov ax, cs
mov ds, ax
jmp @F
upordown db 0
@@:
cmp upordown, 0
jnz goup
godown:
mov cx, 255
mov di, offset p_new
add di, 3
@@:
dec byte ptr [di]
inc di
dec byte ptr [di]
inc di
dec byte ptr [di]
inc di
loop @B
popall
ret
goup:
mov cx, 255
mov di, offset p_new
add di, 3
@@:
inc byte ptr [di]
inc di
inc byte ptr [di]
inc di
inc byte ptr [di]
inc di
loop @B
popall
ret
_flppal endp
_uflppal proc
pushall
mov ax, cs
mov ds, ax
mov upordown, 1
popall
call _flppal
ret
_uflppal endp
_dflppal proc
pushall
mov ax, cs
mov ds, ax
mov upordown, 0
popall
call _flppal
ret
_dflppal endp
_delay proc
mov cx, 0FFFFh
@@: push cx
mov cx, 0FFFFh
rep or bx, bx
pop cx
loop @B
ret
_delay endp
_stirpal proc
push bp
mov bp, sp
push si
push di
mov ax, 040h
mov es, ax
mov ax, es:[06Ch]
mov si, ax
shr ax, 1
jpe @F
shr ax, 1
@@:
inc si
xor si, ax
and si, 0FFh
inc si
and si, 0FFh
mov ax, si
shl ax, 1
add ax, si
mov si, ax
mov ax, es:[06Ch]
mov di, ax
shr ax, 1
jpe @F
shr ax, 1
@@:
inc di
xor di, ax
and di, 0FFh
inc di
and di, 0FFh
mov ax, di
shl ax, 1
add ax, di
mov di, ax
add di, offset p_new
cmp word ptr [bp+2][2], 0
jz usenew
mov ax, [bp+2][2]
dec ax
jz _stirpal1
dec ax
jz _stirpal2
dec ax
jz _stirpal3
jmp short usenew
_stirpal1:
add si, offset _pal1
jmp short _stirpal_do
_stirpal2:
add si, offset _pal2
jmp short _stirpal_do
_stirpal3:
add si, offset _pal3
jmp short _stirpal_do
usenew:
add si, offset p_new
jmp short _stirpal_do
_stirpal_do:
cld
push ds
mov ax, cs
mov ds, ax
mov es, ax
xchg si, di
lodsw
mov bx, ax
lodsb
mov dl, al
sub si, 3
sub di, 3
xchg si, di
movsw
movsb
cmp word ptr [bp+2][2], 0
jnz @F
sub si, 3
sub di, 3
xchg si, di
mov ax, bx
stosw
mov al, dl
stosb
@@:
pop ds
pop di
pop si
pop bp
ret
_stirpal endp
_usepal proc
push bp
mov bp, sp
push si
push di
mov ax, [bp+2][2]
or ax, ax
jz usepal0
dec ax
jz usepal1
dec ax
jz usepal2
dec ax
jz usepal3
dec ax
jz usepal4
dec ax
jz usepal5
dec ax
jz usepal6
dec ax
jz usepal7
dec ax
jz usepal8
dec ax
jz usepalnewold
dec ax
jz usepalnew
jmp short _usep_exit
usepal0:
mov si, offset p_old
jmp short _usep_do
usepal1:
mov si, offset _pal1
jmp short _usep_do
usepal2:
mov si, offset _pal2
jmp short _usep_do
usepal3:
mov si, offset _pal3
jmp short _usep_do
usepal4:
mov si, offset _pal4
jmp short _usep_do
usepal5:
mov si, offset _pal5
jmp short _usep_do
usepal6:
mov si, offset _pal6
jmp short _usep_do
usepal7:
mov si, offset _pal7
jmp short _usep_do
usepal8:
mov si, offset _pal8
jmp short _usep_do
usepalnewold:
mov si, offset p_new_old
jmp short _usep_do
usepalnew:
mov si, offset p_new
jmp short _usep_do
_usep_do:
mov cx, 256/2*3
push es
push ds
mov ax, cs
mov ds, ax
mov es, ax
mov di, offset p_new
cld
rep movsw
pop ds
pop es
_usep_exit:
pop di
pop si
pop bp
ret
_usepal endp
p_old db 256*3 dup (0)
_currentpalette label far
p_new label near
include _pal0_db.asm
_pal1 label near
include _pal1_db.asm
_pal2 label near
include _pal2_db.asm
_pal3 label near
include _pal3_db.asm
_pal4 label near
include _pal4_db.asm
_pal5 label near
include _pal5_db.asm
_pal6 label near
include _pal6_db.asm
_pal7 label near
include _pal7_db.asm
_pal8 label near
include _pal8_db.asm
p_new_old label near
blue: db 00h,00h,00h, 00h,00h,01h, 00h,00h,02h, 00h,00h,03h
db 00h,00h,04h, 00h,00h,05h, 00h,00h,06h, 00h,00h,07h
db 00h,00h,08h, 00h,00h,09h, 00h,00h,0Ah, 00h,00h,0Bh
db 00h,00h,0Ch, 00h,00h,0Dh, 00h,00h,0Eh, 00h,00h,0Fh
db 00h,00h,10h, 00h,00h,11h, 00h,00h,12h, 00h,00h,13h
db 00h,00h,14h, 00h,00h,15h, 00h,00h,16h, 00h,00h,17h
db 00h,00h,18h, 00h,00h,19h, 00h,00h,1Ah, 00h,00h,1Bh
db 00h,00h,1Ch, 00h,00h,1Dh, 00h,00h,1Eh, 00h,00h,1Fh
db 00h,00h,20h, 00h,00h,21h, 00h,00h,22h, 00h,00h,23h
db 00h,00h,24h, 00h,00h,25h, 00h,00h,26h, 00h,00h,27h
db 00h,00h,28h, 00h,00h,29h, 00h,00h,2Ah, 00h,00h,2Bh
db 00h,00h,2Ch, 00h,00h,2Dh, 00h,00h,2Eh, 00h,00h,2Fh
db 00h,00h,30h, 00h,00h,31h, 00h,00h,32h, 00h,00h,33h
db 00h,00h,34h, 00h,00h,35h, 00h,00h,36h, 00h,00h,37h
db 00h,00h,38h, 00h,00h,39h, 00h,00h,3Ah, 00h,00h,3Bh
db 00h,00h,3Ch, 00h,00h,3Dh, 00h,00h,3Eh, 00h,00h,3Fh
db 00h,00h,3Fh, 00h,01h,3Eh, 00h,02h,3Dh, 00h,03h,3Ch
db 00h,04h,3Bh, 00h,05h,3Ah, 00h,06h,39h, 00h,07h,38h
db 00h,08h,37h, 00h,09h,36h, 00h,0Ah,35h, 00h,0Bh,34h
db 00h,0Ch,33h, 00h,0Dh,32h, 00h,0Eh,31h, 00h,0Fh,30h
db 00h,10h,2Fh, 00h,11h,2Eh, 00h,12h,2Dh, 00h,13h,2Ch
db 00h,14h,2Bh, 00h,15h,2Ah, 00h,16h,29h, 00h,17h,28h
db 00h,18h,27h, 00h,19h,26h, 00h,1Ah,25h, 00h,1Bh,24h
db 00h,1Ch,23h, 00h,1Dh,22h, 00h,1Eh,21h, 00h,1Fh,20h
db 00h,20h,1Fh, 00h,21h,1Eh, 00h,22h,1Dh, 00h,23h,1Ch
db 00h,24h,1Bh, 00h,25h,1Ah, 00h,26h,19h, 00h,27h,18h
db 00h,28h,17h, 00h,29h,16h, 00h,2Ah,15h, 00h,2Bh,14h
db 00h,2Ch,13h, 00h,2Dh,12h, 00h,2Eh,11h, 00h,2Fh,10h
db 00h,30h,0Fh, 00h,31h,0Eh, 00h,32h,0Dh, 00h,33h,0Ch
db 00h,34h,0Bh, 00h,35h,0Ah, 00h,36h,09h, 00h,37h,08h
db 00h,38h,07h, 00h,39h,06h, 00h,3Ah,05h, 00h,3Bh,04h
db 00h,3Ch,03h, 00h,3Dh,02h, 00h,3Eh,01h, 00h,3Fh,00h
db 00h,3Fh,00h, 01h,3Eh,00h, 02h,3Dh,00h, 03h,3Ch,00h
db 04h,3Bh,00h, 05h,3Ah,00h, 06h,39h,00h, 07h,38h,00h
db 08h,37h,00h, 09h,36h,00h, 0Ah,35h,00h, 0Bh,34h,00h
db 0Ch,33h,00h, 0Dh,32h,00h, 0Eh,31h,00h, 0Fh,30h,00h
db 10h,2Fh,00h, 11h,2Eh,00h, 12h,2Dh,00h, 13h,2Ch,00h
db 14h,2Bh,00h, 15h,2Ah,00h, 16h,29h,00h, 17h,28h,00h
db 18h,27h,00h, 19h,26h,00h, 1Ah,25h,00h, 1Bh,24h,00h
db 1Ch,23h,00h, 1Dh,22h,00h, 1Eh,21h,00h, 1Fh,20h,00h
db 20h,1Fh,00h, 21h,1Eh,00h, 22h,1Dh,00h, 23h,1Ch,00h
db 24h,1Bh,00h, 25h,1Ah,00h, 26h,19h,00h, 27h,18h,00h
db 28h,17h,00h, 29h,16h,00h, 2Ah,15h,00h, 2Bh,14h,00h
db 2Ch,13h,00h, 2Dh,12h,00h, 2Eh,11h,00h, 2Fh,10h,00h
db 30h,0Fh,00h, 31h,0Eh,00h, 32h,0Dh,00h, 33h,0Ch,00h
db 34h,0Bh,00h, 35h,0Ah,00h, 36h,09h,00h, 37h,08h,00h
db 38h,07h,00h, 39h,06h,00h, 3Ah,05h,00h, 3Bh,04h,00h
db 3Ch,03h,00h, 3Dh,02h,00h, 3Eh,01h,00h, 3Fh,00h,00h
db 3Fh,00h,00h, 3Eh,00h,00h, 3Dh,00h,00h, 3Ch,00h,00h
db 3Bh,00h,00h, 3Ah,00h,00h, 39h,00h,00h, 38h,00h,00h
db 37h,00h,00h, 36h,00h,00h, 35h,00h,00h, 34h,00h,00h
db 33h,00h,00h, 32h,00h,00h, 31h,00h,00h, 30h,00h,00h
db 2Fh,00h,00h, 2Eh,00h,00h, 2Dh,00h,00h, 2Ch,00h,00h
db 2Bh,00h,00h, 2Ah,00h,00h, 29h,00h,00h, 28h,00h,00h
db 27h,00h,00h, 26h,00h,00h, 25h,00h,00h, 24h,00h,00h
db 23h,00h,00h, 22h,00h,00h, 21h,00h,00h, 20h,00h,00h
db 1Fh,00h,00h, 1Eh,00h,00h, 1Dh,00h,00h, 1Ch,00h,00h
db 1Bh,00h,00h, 1Ah,00h,00h, 19h,00h,00h, 18h,00h,00h
db 17h,00h,00h, 16h,00h,00h, 15h,00h,00h, 14h,00h,00h
db 13h,00h,00h, 12h,00h,00h, 11h,00h,00h, 10h,00h,00h
db 0Fh,00h,00h, 0Eh,00h,00h, 0Dh,00h,00h, 0Ch,00h,00h
db 0Bh,00h,00h, 0Ah,00h,00h, 09h,00h,00h, 08h,00h,00h
db 07h,00h,00h, 06h,00h,00h, 05h,00h,00h, 04h,00h,00h
db 03h,00h,00h, 02h,00h,00h, 01h,00h,00h, 00h,00h,00h
db 00h,00h,00h, 00h,00h,01h, 00h,00h,02h, 00h,00h,03h
db 00h,00h,04h, 00h,00h,05h, 00h,00h,06h, 00h,00h,07h
db 00h,00h,08h, 00h,00h,09h, 00h,00h,0Ah, 00h,00h,0Bh
db 00h,00h,0Ch, 00h,00h,0Dh, 00h,00h,0Eh, 00h,00h,0Fh
db 00h,00h,10h, 00h,00h,11h, 00h,00h,12h, 00h,00h,13h
db 00h,00h,14h, 00h,00h,15h, 00h,00h,16h, 00h,00h,17h
db 00h,00h,18h, 00h,00h,19h, 00h,00h,1Ah, 00h,00h,1Bh
db 00h,00h,1Ch, 00h,00h,1Dh, 00h,00h,1Eh, 00h,00h,1Fh
db 00h,00h,20h, 00h,00h,21h, 00h,00h,22h, 00h,00h,23h
db 00h,00h,24h, 00h,00h,25h, 00h,00h,26h, 00h,00h,27h
db 00h,00h,28h, 00h,00h,29h, 00h,00h,2Ah, 00h,00h,2Bh
db 00h,00h,2Ch, 00h,00h,2Dh, 00h,00h,2Eh, 00h,00h,2Fh
db 00h,00h,30h, 00h,00h,31h, 00h,00h,32h, 00h,00h,33h
db 00h,00h,34h, 00h,00h,35h, 00h,00h,36h, 00h,00h,37h
db 00h,00h,38h, 00h,00h,39h, 00h,00h,3Ah, 00h,00h,3Bh
db 00h,00h,3Ch, 00h,00h,3Dh, 00h,00h,3Eh, 00h,00h,3Fh
db 00h,00h,3Fh, 00h,00h,3Eh, 00h,00h,3Dh, 00h,00h,3Ch
db 00h,00h,3Bh, 00h,00h,3Ah, 00h,00h,39h, 00h,00h,38h
db 00h,00h,37h, 00h,00h,36h, 00h,00h,35h, 00h,00h,34h
db 00h,00h,33h, 00h,00h,32h, 00h,00h,31h, 00h,00h,30h
db 00h,00h,2Fh, 00h,00h,2Eh, 00h,00h,2Dh, 00h,00h,2Ch
db 00h,00h,2Bh, 00h,00h,2Ah, 00h,00h,29h, 00h,00h,28h
db 00h,00h,27h, 00h,00h,26h, 00h,00h,25h, 00h,00h,24h
db 00h,00h,23h, 00h,00h,22h, 00h,00h,21h, 00h,00h,20h
db 00h,00h,1Fh, 00h,00h,1Eh, 00h,00h,1Dh, 00h,00h,1Ch
db 00h,00h,1Bh, 00h,00h,1Ah, 00h,00h,19h, 00h,00h,18h
db 00h,00h,17h, 00h,00h,16h, 00h,00h,15h, 00h,00h,14h
db 00h,00h,13h, 00h,00h,12h, 00h,00h,11h, 00h,00h,10h
db 00h,00h,0Fh, 00h,00h,0Eh, 00h,00h,0Dh, 00h,00h,0Ch
db 00h,00h,0Bh, 00h,00h,0Ah, 00h,00h,09h, 00h,00h,08h
db 00h,00h,07h, 00h,00h,06h, 00h,00h,05h, 00h,00h,04h
db 00h,00h,03h, 00h,00h,02h, 00h,00h,01h, 00h,00h,00h
green: db 00h,00h,00h, 00h,01h,00h, 00h,02h,00h, 00h,03h,00h
db 00h,04h,00h, 00h,05h,00h, 00h,06h,00h, 00h,07h,00h
db 00h,08h,00h, 00h,09h,00h, 00h,0Ah,00h, 00h,0Bh,00h
db 00h,0Ch,00h, 00h,0Dh,00h, 00h,0Eh,00h, 00h,0Fh,00h
db 00h,10h,00h, 00h,11h,00h, 00h,12h,00h, 00h,13h,00h
db 00h,14h,00h, 00h,15h,00h, 00h,16h,00h, 00h,17h,00h
db 00h,18h,00h, 00h,19h,00h, 00h,1Ah,00h, 00h,1Bh,00h
db 00h,1Ch,00h, 00h,1Dh,00h, 00h,1Eh,00h, 00h,1Fh,00h
db 00h,20h,00h, 00h,21h,00h, 00h,22h,00h, 00h,23h,00h
db 00h,24h,00h, 00h,25h,00h, 00h,26h,00h, 00h,27h,00h
db 00h,28h,00h, 00h,29h,00h, 00h,2Ah,00h, 00h,2Bh,00h
db 00h,2Ch,00h, 00h,2Dh,00h, 00h,2Eh,00h, 00h,2Fh,00h
db 00h,30h,00h, 00h,31h,00h, 00h,32h,00h, 00h,33h,00h
db 00h,34h,00h, 00h,35h,00h, 00h,36h,00h, 00h,37h,00h
db 00h,38h,00h, 00h,39h,00h, 00h,3Ah,00h, 00h,3Bh,00h
db 00h,3Ch,00h, 00h,3Dh,00h, 00h,3Eh,00h, 00h,3Fh,00h
db 00h,00h,00h, 01h,00h,00h, 02h,00h,00h, 03h,00h,00h
db 04h,00h,00h, 05h,00h,00h, 06h,00h,00h, 07h,00h,00h
db 08h,00h,00h, 09h,00h,00h, 0Ah,00h,00h, 0Bh,00h,00h
db 0Ch,00h,00h, 0Dh,00h,00h, 0Eh,00h,00h, 0Fh,00h,00h
db 10h,00h,00h, 11h,00h,00h, 12h,00h,00h, 13h,00h,00h
db 14h,00h,00h, 15h,00h,00h, 16h,00h,00h, 17h,00h,00h
db 18h,00h,00h, 19h,00h,00h, 1Ah,00h,00h, 1Bh,00h,00h
db 1Ch,00h,00h, 1Dh,00h,00h, 1Eh,00h,00h, 1Fh,00h,00h
db 20h,00h,00h, 21h,00h,00h, 22h,00h,00h, 23h,00h,00h
db 24h,00h,00h, 25h,00h,00h, 26h,00h,00h, 27h,00h,00h
db 28h,00h,00h, 29h,00h,00h, 2Ah,00h,00h, 2Bh,00h,00h
db 2Ch,00h,00h, 2Dh,00h,00h, 2Eh,00h,00h, 2Fh,00h,00h
db 30h,00h,00h, 31h,00h,00h, 32h,00h,00h, 33h,00h,00h
db 34h,00h,00h, 35h,00h,00h, 36h,00h,00h, 37h,00h,00h
db 38h,00h,00h, 39h,00h,00h, 3Ah,00h,00h, 3Bh,00h,00h
db 3Ch,00h,00h, 3Dh,00h,00h, 3Eh,00h,00h, 3Fh,00h,00h
db 00h,00h,00h, 01h,01h,01h, 02h,02h,02h, 03h,03h,03h
db 04h,04h,04h, 05h,05h,05h, 06h,06h,06h, 07h,07h,07h
db 08h,08h,08h, 09h,09h,09h, 0Ah,0Ah,0Ah, 0Bh,0Bh,0Bh
db 0Ch,0Ch,0Ch, 0Dh,0Dh,0Dh, 0Eh,0Eh,0Eh, 0Fh,0Fh,0Fh
db 10h,10h,10h, 11h,11h,11h, 12h,12h,12h, 13h,13h,13h
db 14h,14h,14h, 15h,15h,15h, 16h,16h,16h, 17h,17h,17h
db 18h,18h,18h, 19h,19h,19h, 1Ah,1Ah,1Ah, 1Bh,1Bh,1Bh
db 1Ch,1Ch,1Ch, 1Dh,1Dh,1Dh, 1Eh,1Eh,1Eh, 1Fh,1Fh,1Fh
db 20h,20h,20h, 21h,21h,21h, 22h,22h,22h, 23h,23h,23h
db 24h,24h,24h, 25h,25h,25h, 26h,26h,26h, 27h,27h,27h
db 28h,28h,28h, 29h,29h,29h, 2Ah,2Ah,2Ah, 2Bh,2Bh,2Bh
db 2Ch,2Ch,2Ch, 2Dh,2Dh,2Dh, 2Eh,2Eh,2Eh, 2Fh,2Fh,2Fh
db 30h,30h,30h, 31h,31h,31h, 32h,32h,32h, 33h,33h,33h
db 34h,34h,34h, 35h,35h,35h, 36h,36h,36h, 37h,37h,37h
db 38h,38h,38h, 39h,39h,39h, 3Ah,3Ah,3Ah, 3Bh,3Bh,3Bh
db 3Ch,3Ch,3Ch, 3Dh,3Dh,3Dh, 3Eh,3Eh,3Eh, 3Fh,3Fh,3Fh
p_chk db 256*3 dup (0)
_text ends
end