home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
World of Shareware - Software Farm 2
/
wosw_2.zip
/
wosw_2
/
CPROG
/
TASMSWAN.ZIP
/
CHARS.ASM
< prev
next >
Wrap
Assembly Source File
|
1989-07-14
|
2KB
|
130 lines
%TITLE "Display Character/Attribute Reference"
IDEAL
DOSSEG
MODEL small
STACK 256
cr EQU 13
lf EQU 10
ChartRow EQU 7
DATASEG
exitCode db 0
welcome db 'Character attributes -- by Tom Swan',cr,lf
db 'Rows = background, Columns = foreground',cr,lf
db 'First char is dim, second char is bright',0
template db ' 00 01 02 03 04 05 06 07',cr,lf
db '00',cr,lf,'01',cr,lf,'02',cr,lf,'03',cr,lf
db '04',cr,lf,'05',cr,lf,'06',cr,lf,'07',0
blinkString db 'This line should be blinking.',0
CODESEG
;--------- from STRINGS.OBJ & STRIO.OBJ
EXTRN StrLength:proc, StrWrite:proc
;--------- from SCREEN.OBJ
EXTRN ScInit:proc, ScGotoXY:proc, ScClrRect:proc
EXTRN ScPokeChar:proc, ScSetBack:proc, ScSetFore:proc
EXTRN ScPokeStr:proc, ScDim:proc, ScBright:proc
EXTRN ScBlink:proc, ScNoBlink:proc
Start:
mov ax,@data
mov ds,ax
mov es,ax
call ScInit
call Setup
call Attributes
call Blinking
mov dh,23
mov dl,0
call ScGotoXY
Exit:
mov ah,04Ch
mov al,[exitCode]
int 21h
PROC Setup
mov ch,0
mov cl,0
mov dh,24
mov dl,79
call ScClrRect
mov dh,1
mov dl,0
call ScGotoXY
mov di, offset welcome
call StrWrite
mov dh,ChartRow
mov dl,0
call ScGotoXY
mov di, offset template
call StrWrite
ret
ENDP Setup
UDATASEG
row db ?
column db ?
background db ?
foreground db ?
CODESEG
PROC Attributes
mov [row], ChartRow
mov [background],0
@@10:
inc [row]
mov al,[background]
call ScSetBack
mov [column],1
mov [foreground],0
@@20:
add [column],3
mov al,[foreground]
call ScSetFore
call ScDim
call OneChar
inc [column]
call ScBright
call OneChar
inc [foreground]
cmp [foreground],7
jbe @@20
inc [background]
cmp [background],7
jbe @@10
@@99:
ret
ENDP Attributes
Proc OneChar
mov dh,[row]
mov dl,[column]
mov al,'A'
call ScPokeChar
ret
ENDP OneChar
Proc Blinking
mov al,0
call ScSetBack
mov al,7
call ScSetFore
call ScBright
call ScBlink
mov di,offset blinkString
call StrLength
mov dh,19
mov dl,0
mov si, offset blinkString
call ScPokeStr
call ScNoBlink
ret
ENDP Blinking
END Start