Копаясь в исходниках, я тоже ничего непонял, так что пожалуйста, если
вам не влом, помогите, покажите что надо добавить или исправить.
Вопрос:
Как сделать так, чтобы не просто выводился вводимый символ,
а строка вводимых символов. В чём ошибка я понимаю, но исправить её немогу.
приходится спрашивать. Так что заранее спасибо!
use32
org 0x0
db 'MENUET01'
dd 0x01
dd START
dd I_END
dd 0x1000
dd 0x1000
dd 0x0
dd 0x0
START:
draw_window:
call window
still:
mov eax,10
int 0x40
cmp eax,1
je draw_window
cmp eax,2
je key
cmp eax,3
je button
jmp still
key:
mov eax,2 ;Получаем символ в ah
int 0x40
shl [kbr],8 ;сдвигаем на 8 бит
mov [kbr],ah ;копируем значение ah в переменную
jmp draw_window ;бежим отрисовывать окно
button:
mov eax,17
int 0x40
cmp ah,1
je quit
jmp still
quit:
mov eax,-1
int 0x40
window:
mov eax,12
mov ebx,1
int 0x40
mov eax,0
mov ebx,200*65536+200
mov ecx,200*65536+100
mov edx,0x03ffffff
mov esi,0
mov edi,0
int 0x40
call draw_text_input ;вызываем отрисовку "строки ввода"
mov eax,12
mov ebx,2
int 0x40
ret
draw_text_input:
mov eax,4
mov ebx,8*65536+8
mov ecx,0
mov edx,kbr ;отображаем переменную
mov esi,kbs
int 0x40
ret
kbs dd ?
kbr db ?
I_END: