console library version 7; console examples updated

git-svn-id: svn://kolibrios.org@1145 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Evgeny Grechnikov (Diamond) committed 2009-08-27 16:05:05 +00:00
1 parent 5d45c37af3
commit 0dc8dae83d
5 files changed
+17 -11

No files matched your search

@@ -1225,7 +1225,7 @@ con_getch:
ret
con_getch_closed:
or eax, -1
xor eax, eax
ret
; int __stdcall con_getch2(void);
@@ -1255,8 +1255,6 @@ con_gets2:
call con.get_data_ptr
.loop:
call con_getch2
cmp eax, -1
jz .closed
test al, al
jz .extended
cmp al, 8
@@ -1413,6 +1411,8 @@ con_gets2:
mov al, 0
mov ah, 0xF
.extended:
test ah, ah
jz .closed
xchg al, ah
cmp al, 0x4B
jz .left
@@ -2273,7 +2273,7 @@ con.vscroll_pt dd -1
align 16
EXPORTS:
dd szStart, START
dd szVersion, 0x00020006
dd szVersion, 0x00020007
dd szcon_init, con_init
dd szcon_write_asciiz, con_write_asciiz
dd szcon_printf, con_printf
@@ -86,7 +86,7 @@ dword __stdcall con_set_flags(dword new_flags);
Esc[<number>C - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> яючшЎшщ тяЁртю
Esc[<number>D - яхЁхьхёЄшЄ№ ъєЁёюЁ эр <number> яючшЎшщ тыхтю
*/
/* ёшуэры ю чръЁ√Єшш юъэр ъюэёюыш;
/* ёшуэры ю чръЁ√Єшш юъэр ъюэёюыш; яю тшыё  т тхЁёшш 6 сшсышюЄхъш;
Їыру шуэюЁшЁєхЄё  ЇєэъЎшхщ con_set_flags */
#define CON_WINDOW_CLOSED 0x200
╟эрўхэшх яю єьюыўрэш■ фы  Їыруют = 7.
@@ -108,15 +108,15 @@ int __stdcall con_getch(void);
─ы  юс√ўэ√ї ёшьтюыют тючтЁр∙рхЄё  ASCII-ъюф. ─ы  Ёрё°шЁхээ√ї ёшьтюыют
(эряЁшьхЁ, Fx ш ёЄЁхыюўхъ) яхЁт√щ т√чют ЇєэъЎшш тючтЁр∙рхЄ 0,
р яютЄюЁэ√щ т√чют тючтЁр∙рхЄ Ёрё°шЁхээ√щ ъюф (яюфюсэю DOS-ЇєэъЎш ь ттюфр).
═рўшэр  ё тхЁёшш 6 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тючтЁр∙рхЄё 
чэрўхэшх -1.
═рўшэр  ё тхЁёшш 7 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тючтЁр∙рхЄё 
чэрўхэшх 0.
word __stdcall con_getch2(void);
╤ўшЄ√трхЄ юфшэ ёшьтюы ё ъыртшрЄєЁ√. ╠ырф°шщ срщЄ ёюфхЁцшЄ ASCII-ъюф ъыртш°ш
(0 фы  Ёрё°шЁхээ√ї ёшьтюыют), ёЄрЁ°шщ - Ёрё°шЁхээ√щ ъюф
(яюфюсэю BIOS-ЇєэъЎш ь ттюфр).
═рўшэр  ё тхЁёшш 6 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тючтЁр∙рхЄё 
чэрўхэшх -1 (0xFFFF яЁш шэЄхЁяЁхЄрЎшш ъръ word).
═рўшэр  ё тхЁёшш 7 сшсышюЄхъш, яюёых чръЁ√Єш  юъэр ъюэёюыш тючтЁр∙рхЄё 
чэрўхэшх 0.
int __stdcall con_kbhit(void);
┬ючтЁр∙рхЄ 1, хёыш ърър -Єю ъыртш°р с√ыр эрцрЄр, 0 шэрўх. ─ы  ёўшЄ√трэш 
@@ -68,6 +68,8 @@ mainloop:
jmp mainloop
extended:
call [con_getch]
test eax, eax
jz done
push eax
push eax
push string_extended
@@ -41,7 +41,7 @@ start:
; for (;;)
; {
; con_write_asciiz("Enter string (empty for exit): ");
; con_gets(s,256);
; if (!con_gets(s,256)) break;
; if (s[0] == '\n') break;
; con_write_asciiz("You entered: ");
; con_write_asciiz(s);
@@ -52,6 +52,8 @@ mainloop:
push 256
push s
call [con_gets]
test eax, eax
jz done
cmp [s], 10
jz done
push str2
@@ -41,7 +41,7 @@ start:
; for (;;)
; {
; con_write_asciiz("Enter string (empty for exit): ");
; con_gets2(mycallback,s,256);
; if (!con_gets2(mycallback,s,256)) break;
; if (s[0] == '\n') break;
; con_write_asciiz("You entered: ");
; con_write_asciiz(s);
@@ -53,6 +53,8 @@ mainloop:
push s
push mycallback
call [con_gets2]
test eax, eax
jz done
cmp [s], 10
jz done
push str2