flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
vid 23 Dec 2003, 20:06
ehm, i mean assembler isnt best language to learn uch things. It is quite complicated without some library
|
|||
![]() |
|
joachim_neu 23 Dec 2003, 21:32
Isn't it possible???
Can't you do it with IN al,dx?? But what portnumber is keyboard??? JOACHIM NEU |
|||
![]() |
|
JohnFound 24 Dec 2003, 15:57
vid wrote: ehm, i mean assembler isnt best language to learn uch things. It is quite complicated without some library Of course you are not right. In DOS it is very easy to use keyboard input: Code: xor ah, ah int 16h ; this will wait until key is pressed and will return ASCII code in AL and Scan code in AH You should download some BIOS/DOS interrupt reference, because there are many functions like this. In Windows the window that have keyboard focus receives messages like WM_CHAR, WM_KEYDOWN and WM_KEYUP and can get the input, but in Windows it is more easy to use controls such as "EDIT" for handling user input. |
|||
![]() |
|
joachim_neu 24 Dec 2003, 19:48
hello,
I'll do it with function 01 from int 21h. I'm going to code an OS like DOS, INTs went also without DOS, don't they??? JOACHIM NEU |
|||
![]() |
|
decard 24 Dec 2003, 19:54
Some INTs come with DOS, while others (BIOS interrupts) are avaible without it. And int 0x21 is a DOS interrupt, so you can't use it without this system.
|
|||
![]() |
|
vid 24 Dec 2003, 21:18
btw, port number is 60 (i hope, this number is only some flashback from DOS times), but it is little more complicated this way. only lower 7 bits are used for key scan code, uppoer bit is 0 when key is pressed, 1 when released. Before extended (grey) key prefix 0E0h is sent. And some keys (pause, sys request, shifts) are done in more complicated way. However, i think using ports is best way for OS.
|
|||
![]() |
|
mike.dld 25 Dec 2003, 04:34
i've used
Code: mov ah,10h int 16h it's better 'cause it's returns extended key-pressed code |
|||
![]() |
|
joachim_neu 25 Dec 2003, 09:52
hello,
if I write: Code: mov ah,10h int 16h there comes an errorwindow. Also with: Code: mov dx,60h in al,dx What should I do now??? JOACHIM NEU |
|||
![]() |
|
Madis731 25 Dec 2003, 20:48
Well, no-can-do, when you compile as EXE, but it works, when just compiling COM's
|
|||
![]() |
|
roticv 26 Dec 2003, 03:02
What error is it?
|
|||
![]() |
|
vid 26 Dec 2003, 19:44
mike.dld: are yousure BIOS handles printsreen and SYS request?
|
|||
![]() |
|
joachim_neu 28 Dec 2003, 10:43
hello,
may it come from, that I have an AMD Athlon XP and no Pentium??? Because at the computer of my sister with P3 it works... JOACHIM NEU |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.