feat: ajout de la fonction "showchar" et importation de la fonction "VIDEO::SHOWCHARS" plutôt que "VIDEO::SHOWCHAR" pour éviter les conflits

This commit is contained in:
Nicolas Hordé 2007-03-23 16:38:39 +00:00
parent cda46c39be
commit 780f0d4287
1 changed files with 42 additions and 31 deletions

View File

@ -28,6 +28,7 @@ declare showstring
declare showstring0 declare showstring0
declare showintr declare showintr
declare showintl declare showintl
declare showchar
ende ende
importing importing
@ -40,7 +41,7 @@ use VIDEO,setfont
use VIDEO,clearscreen use VIDEO,clearscreen
use VIDEO,enablescroll use VIDEO,enablescroll
use VIDEO,disablescroll use VIDEO,disablescroll
use VIDEO,showchar use VIDEO,showchars
endi endi
@ -64,7 +65,7 @@ PROC print FAR
je @@special2 je @@special2
@@showit: @@showit:
xor ch,ch xor ch,ch
call [cs:showchar],cx,0FFFFh call [cs:showchars],cx,0FFFFh
inc si inc si
jmp @@strinaize0 jmp @@strinaize0
@@special: @@special:
@ -75,7 +76,7 @@ PROC print FAR
@@notshowit: @@notshowit:
mov cl,[byte ptr si+1] mov cl,[byte ptr si+1]
cmp cl,'c' cmp cl,'c'
je @@showchar je @@showchars
cmp cl,'u' cmp cl,'u'
je @@showint je @@showint
cmp cl,'v' cmp cl,'v'
@ -107,10 +108,10 @@ PROC print FAR
clc clc
jmp @@no0 jmp @@no0
@@showchar: @@showchars:
cmp [byte ptr si+2],'M' cmp [byte ptr si+2],'M'
je @@showmultchar je @@showmultchar
call [cs:showchar],[word ptr @@pointer+di+2],0FFFFh call [cs:showchars],[word ptr @@pointer+di+2],0FFFFh
add si,2 add si,2
add di,2 add di,2
jmp @@strinaize0 jmp @@strinaize0
@ -118,10 +119,10 @@ PROC print FAR
mov cx,[offset @@pointer+di+2+2] mov cx,[offset @@pointer+di+2+2]
cmp cx,0 cmp cx,0
je @@nextfunc je @@nextfunc
@@showcharx: @@showcharsx:
call [cs:showchar],[word ptr @@pointer+di+2],0FFFFh call [cs:showchars],[word ptr @@pointer+di+2],0FFFFh
dec cx dec cx
jnz @@showcharx jnz @@showcharsx
@@nextfunc: @@nextfunc:
add si,3 add si,3
add di,4 add di,4
@ -326,7 +327,7 @@ PROC print FAR
add al,[si+3] add al,[si+3]
sub al,'0' sub al,'0'
xor ah,ah xor ah,ah
call [cs:setvideomode] call [cs:setvideomode],ax
add si,4 add si,4
jmp @@strinaize0 jmp @@strinaize0
@ -414,7 +415,6 @@ PROC print FAR
pop di si cx bx ax pop di si cx bx ax
mov sp,bp mov sp,bp
ret ret
ENDP print ENDP print
@ -430,12 +430,12 @@ PROC showdate FAR
mov dx,[@dates] mov dx,[@dates]
and dx,11111b and dx,11111b
call showintl,2,edx call showintl,2,edx
call [cs:showchar],'/',0FFFFh call [cs:showchars],'/',0FFFFh
mov dx,[@dates] mov dx,[@dates]
shr dx,5 shr dx,5
and dx,111b and dx,111b
call showintl,2,edx call showintl,2,edx
call [cs:showchar],'/',0FFFFh call [cs:showchars],'/',0FFFFh
mov dx,[@dates] mov dx,[@dates]
shr dx,8 shr dx,8
and dx,11111111b and dx,11111111b
@ -457,12 +457,12 @@ PROC showtime FAR
shr dx,11 shr dx,11
and dx,11111b and dx,11111b
call showintl,2,edx call showintl,2,edx
call [cs:showchar],':',0FFFFh call [cs:showchars],':',0FFFFh
mov dx,[@times] mov dx,[@times]
shr dx,5 shr dx,5
and dx,111111b and dx,111111b
call showintl,2,edx call showintl,2,edx
call [cs:showchar],':',0FFFFh call [cs:showchars],':',0FFFFh
mov dx,[@times] mov dx,[@times]
and dx,11111b and dx,11111b
shl dx,1 shl dx,1
@ -481,12 +481,12 @@ PROC showname FAR
mov si,[@thename] mov si,[@thename]
xor cx,cx xor cx,cx
@@showthename: @@showthename:
call [cs:showchar],[word ptr ds:si],0FFFFh call [cs:showchars],[word ptr ds:si],0FFFFh
inc si inc si
inc cx inc cx
cmp cx,8 cmp cx,8
jne @@suiteaname jne @@suiteaname
call [cs:showchar],' ',0FFFFh call [cs:showchars],' ',0FFFFh
@@suiteaname: @@suiteaname:
cmp cx,8+3 cmp cx,8+3
jb @@showthename jb @@showthename
@ -508,7 +508,7 @@ PROC showattr FAR
@@noreadonly: @@noreadonly:
push '-' push '-'
@@readonly: @@readonly:
call [cs:showchar] call [cs:showchars]
push 0FFFFh push 0FFFFh
test [@attr],00000010b test [@attr],00000010b
je @@nohidden je @@nohidden
@ -517,7 +517,7 @@ PROC showattr FAR
@@nohidden: @@nohidden:
push '-' push '-'
@@hidden: @@hidden:
call [cs:showchar] call [cs:showchars]
push 0FFFFh push 0FFFFh
test [@attr],00000100b test [@attr],00000100b
je @@nosystem je @@nosystem
@ -526,7 +526,7 @@ PROC showattr FAR
@@nosystem: @@nosystem:
push '-' push '-'
@@system: @@system:
call [cs:showchar] call [cs:showchars]
push 0FFFFh push 0FFFFh
test [@attr],00100000b test [@attr],00100000b
je @@noarchive je @@noarchive
@ -535,7 +535,7 @@ PROC showattr FAR
@@noarchive: @@noarchive:
push '-' push '-'
@@archive: @@archive:
call [cs:showchar] call [cs:showchars]
push 0FFFFh push 0FFFFh
test [@attr],00010000b test [@attr],00010000b
je @@nodirectory je @@nodirectory
@ -544,7 +544,7 @@ PROC showattr FAR
@@nodirectory: @@nodirectory:
push '-' push '-'
@@directory: @@directory:
call [cs:showchar] call [cs:showchars]
ret ret
ENDP showattr ENDP showattr
@ -597,7 +597,7 @@ ENDP showsize
;<- ;<-
;============================== ;==============================
PROC showspace FAR PROC showspace FAR
call [cs:showchar],' ',0FFFFh call [cs:showchars],' ',0FFFFh
clc clc
ret ret
ENDP showspace ENDP showspace
@ -628,7 +628,7 @@ PROC showint FAR
@@showinteger: @@showinteger:
inc bx inc bx
mov cl,[cs:bx] mov cl,[cs:bx]
call [cs:showchar],cx,0FFFFh call [cs:showchars],cx,0FFFFh
dec ax dec ax
jnz @@showinteger jnz @@showinteger
ret ret
@ -675,7 +675,7 @@ PROC showintl FAR
@@showinteger: @@showinteger:
inc bx inc bx
mov cl,[cs:bx] mov cl,[cs:bx]
call [cs:showchar],cx,0FFFFh call [cs:showchars],cx,0FFFFh
dec ax dec ax
jnz @@showinteger jnz @@showinteger
ret ret
@ -720,7 +720,7 @@ PROC showintr FAR
@@showinteger: @@showinteger:
inc bx inc bx
mov cl,[cs:bx] mov cl,[cs:bx]
call [cs:showchar],cx,0FFFFh call [cs:showchars],cx,0FFFFh
dec ax dec ax
jnz @@showinteger jnz @@showinteger
ret ret
@ -758,7 +758,7 @@ PROC showsigned FAR
jbe @@notsigned jbe @@notsigned
neg edx neg edx
@@showminus: @@showminus:
call [cs:showchar],'-',0FFFFh call [cs:showchars],'-',0FFFFh
@@notsigned: @@notsigned:
call showint,edx,0FFFFh call showint,edx,0FFFFh
ret ret
@ -784,7 +784,7 @@ PROC showhex FAR
mov bx,dx mov bx,dx
and bx,0fh and bx,0fh
mov cl,[cs:bx+offset Tab] mov cl,[cs:bx+offset Tab]
call [cs:showchar],cx,0FFFFh call [cs:showchars],cx,0FFFFh
dec al dec al
jnz @@Hexaize jnz @@Hexaize
ret ret
@ -810,7 +810,7 @@ PROC showbin FAR
rol edx,1 rol edx,1
mov cl,'0' mov cl,'0'
adc cl,0 adc cl,0
call [cs:showchar],cx,0FFFFh call [cs:showchars],cx,0FFFFh
dec al dec al
jnz @@binaize jnz @@binaize
ret ret
@ -836,7 +836,7 @@ PROC showbcd FAR
mov cl,dl mov cl,dl
and cl,0fh and cl,0fh
add cl,'0' add cl,'0'
call [cs:showchar],cx,0FFFFh call [cs:showchars],cx,0FFFFh
dec al dec al
jnz @@BCDaize jnz @@BCDaize
ret ret
@ -854,12 +854,23 @@ PROC showstring FAR
mov bl,[si] mov bl,[si]
@@strinaize: @@strinaize:
inc si inc si
call [cs:showchar],[word ptr si],0FFFFh call [cs:showchars],[word ptr si],0FFFFh
dec bl dec bl
jnz @@strinaize jnz @@strinaize
ret ret
ENDP showstring ENDP showstring
;==========showchars===========
;Affiche un caractère %0 aprés le curseur
;-> %0 caractère
;<-
;===============================
PROC showchar FAR
ARG @pointer:word
call [cs:showchars],[@pointer],0FFFFh
ret
ENDP showchar
;==========SHOWSTRING0=========== ;==========SHOWSTRING0===========
;Affiche une chaine de caractère pointée par ds:%1 aprés le curseur ;Affiche une chaine de caractère pointée par ds:%1 aprés le curseur
;-> ds:%1 pointeur chaine type zéro terminal ;-> ds:%1 pointeur chaine type zéro terminal
@ -873,7 +884,7 @@ PROC showstring0 FAR
mov cl,[si] mov cl,[si]
cmp cl,0 cmp cl,0
je @@no0 je @@no0
call [cs:showchar],cx,0FFFFh call [cs:showchars],cx,0FFFFh
inc si inc si
jmp @@strinaize0 jmp @@strinaize0
@@no0: @@no0: