/programs/develop/libraries/console/console.asm |
---|
1225,7 → 1225,7 |
ret |
con_getch_closed: |
or eax, -1 |
xor eax, eax |
ret |
; int __stdcall con_getch2(void); |
1255,8 → 1255,6 |
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 |
mov al, 0 |
mov ah, 0xF |
.extended: |
test ah, ah |
jz .closed |
xchg al, ah |
cmp al, 0x4B |
jz .left |
2273,7 → 2273,7 |
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 |
/programs/develop/libraries/console/console.txt |
---|
86,7 → 86,7 |
Esc[<number>C - ïåðåìåñòèòü êóðñîð íà <number> ïîçèöèé âïðàâî |
Esc[<number>D - ïåðåìåñòèòü êóðñîð íà <number> ïîçèöèé âëåâî |
*/ |
/* ñèãíàë î çàêðûòèè îêíà êîíñîëè; |
/* ñèãíàë î çàêðûòèè îêíà êîíñîëè; ïîÿâèëñÿ â âåðñèè 6 áèáëèîòåêè; |
ôëàã èãíîðèðóåòñÿ ôóíêöèåé con_set_flags */ |
#define CON_WINDOW_CLOSED 0x200 |
Çíà÷åíèå ïî óìîë÷àíèþ äëÿ ôëàãîâ = 7. |
108,15 → 108,15 |
Äëÿ îáû÷íûõ ñèìâîëîâ âîçâðàùàåòñÿ 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 èíà÷å. Äëÿ ñ÷èòûâàíèÿ |
/programs/develop/libraries/console/examples/test_getch.asm |
---|
68,6 → 68,8 |
jmp mainloop |
extended: |
call [con_getch] |
test eax, eax |
jz done |
push eax |
push eax |
push string_extended |
/programs/develop/libraries/console/examples/test_gets.asm |
---|
41,7 → 41,7 |
; 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 |
push 256 |
push s |
call [con_gets] |
test eax, eax |
jz done |
cmp [s], 10 |
jz done |
push str2 |
/programs/develop/libraries/console/examples/test_gets2.asm |
---|
41,7 → 41,7 |
; 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 |
push s |
push mycallback |
call [con_gets2] |
test eax, eax |
jz done |
cmp [s], 10 |
jz done |
push str2 |