I'm currently reading on assembler, and can consider myself 100% newbie! My second program is just starting out as a simple one to check caps, num, scroll and insert-state of the kbd. I know the byte for this is stored at 0040h:0017h, and i can see it change using debugger. The application i have made runs perfect under debugger, (AX changes to expected value), but when running in a dos-shell, it wont return anything...

why ?

I've tried both LODSB, and the correct int found in Ralf Browns listing.

Please help a lost newbie  :sad:
Posted on 2005-08-01 16:49:25 by Emohawk
I suppose you're running a WinNT-based OS (win2k/xp). They have forbidden most direct access to hardware. It's rarely fortunate for a DOS app to run correctly. For the same reason the in/out instructions cannot be used, instead a specific driver needs to be used/written.
For XP, there's a "compatibility patch".

Although it's interesting to learn interrupts and stuff forbidden by NT, it's almost never useful.
Posted on 2005-08-01 20:26:35 by Ultrano
Geez, why bother learing DOS-ASM in 21st century :shock: Switch to WIN32 quickly! :)
Posted on 2005-08-01 20:40:12 by ti_mo_n
Ultrano: Thanks for the reply. I was afraid that would be the answer. :sad:

ti_mo_n: He he, I know DOS-ASM is out of date. But never the less, I wanna start with the basics. Don't worry, when I feel i can cope with DOS-ASM, I'll work hard on WIN-ASM  ;)
Posted on 2005-08-02 10:08:17 by Emohawk
Emohawk, I would actually consider Win32 assembly the "basics", and 16bit dos assembly the "hard work". There's more restrictions, you have to memorize interrupt parameters instead of friendlier API names, etc.

Probably more wise to start with win32 assembly (get the tutorial at http://madwizard.org ), then move on to DOS if you feel like it.
Posted on 2005-08-02 10:15:47 by f0dder
Emohawk, you should try dosbox, a perfect DOS emulation for WinNT & Linux. DOS game or even Windows 3.1 might be executed too :)
Posted on 2005-08-09 20:16:16 by doiXanh
You should be learning Win32 assembly not 16bit dos it's a lot easier  8)
Posted on 2005-08-10 06:48:22 by Immortal_One