| CodeGuru Home | VC++ / MFC / C++ | .NET / C# | Visual Basic | Newsletters | VB Forums | Developer.com |
|
|||||||
| Assembly Questions and Answers for Assembly here! |
![]() |
|
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Interrupts
Could some one give me or direct me to a simple interrupt list please? I'm looking for all the interrupts that directly control hardware such as keyboard, mouse and uh.......does there exist interrupts which directly control networks hardwares such as firewire port and even wireless LAN? I still only know the basics of assembly, still have a lot to learn.
|
|
#2
|
||||
|
||||
|
Re: Interrupts
Which system? Which CPU? And which mode? DOS/BIOS Interrupts? Port I/O?
__________________
I am not offering technical guidiance via email or IM Come on share your photo with us! CG members photo album! Use the Code Tags! |
|
#3
|
|||
|
|||
|
Re: Interrupts
Sorry, 32-bit windows, intel 32 bit CPU's (anything compatible with 80386 through to Pentium Centrino I suppose), could you give me all the port I/O interrupts first please?
|
|
#4
|
||||
|
||||
|
Re: Interrupts
The problem is that Win32 does not allow you to write on ports. But to use limited interrupts. You should install a DOS in Bochs or something like that on programm on this. In DOS you have full access to everything.
Ralph Brown's Interrupt list: http://www.ctyme.com/intr/int.htm The IRQ's http://www.osdever.net/tutorials/irqs.php?the_id=37
__________________
I am not offering technical guidiance via email or IM Come on share your photo with us! CG members photo album! Use the Code Tags! |
|
#5
|
|||
|
|||
|
Re: Interrupts
Thanks man!
I would like to learn about interfacing NetBIOS. I've read quite a few introductions about what it is, what it does, and about its history. Some of them said this: Calling the Net Bios is accomplished by building a Net Bios Control Block (NCB), and execute an INT 5Ch with registers ES:BX containing the address of the NCB. When control is returned, only AX is changed. The question is, how do I build an NCB? |
|
#6
|
|||
|
|||
|
Oh! And I don't quite understand this table:
|
|
#7
|
||||
|
||||
|
Re: Interrupts
This table is the best you can have...
.. It shows you how a NCB packet should look like!Just pack into a C structure... Notice to archieve that the alignment of your compiler is set to 1! Old turbo C compilers do not have a alignment feature but the newer (gnu, msvc) do. Code:
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef struct tag_NCB_PACKET
{
BYTE Command;
BYTE RetCode;
BYTE LSN;
BYTE Num;
DWORD BufAdr;
WORD BufLen;
BYTE CallName[16];
BYTE Name[16];
BYTE RTO;
BYTE STO;
DWORD Post;
BYTE LANA_Num;
BYTE CMD_Done;
BYTE Reserved[14];
} NCB_PACKET;
typedef FAR *NCB_PACKET LP_NCB_PACKET;
typedef const FAR * NCB_PACKET LPC_NCB_PACKET;
__________________
I am not offering technical guidiance via email or IM Come on share your photo with us! CG members photo album! Use the Code Tags! |
|
#8
|
|||
|
|||
|
Re: Interrupts
Yeah cool! Thank you!
One of the tutorials I read ages ago showed me how to draw graphics with and without using interrupts. I've learnt a lot from it and can do it myself now. The one thing I don't like about that tutorial is that it concentrates too much on what I'm supposed to do technically, but way too little on the theory behind it all. It said that, to draw without interrupts, point ES register to A000h and DI register to the offset of the pixel. My question is, how did the author of that tutorial know that ES has to be pointed to A000h for VGA of that mode? Is there a list of what ES should be pointed to for a range of hardware e.g. graphics, network, human interface, etc.? |
|
#9
|
||||
|
||||
|
Re: Interrupts
Quote:
__________________
I am not offering technical guidiance via email or IM Come on share your photo with us! CG members photo album! Use the Code Tags! |
|
#10
|
|||
|
|||
|
Re: Interrupts
I can't seem to be able to find the norm.....maybe I'm not searching with the right keywords.....could you give me a direction?
|
|
#11
|
|||
|
|||
|
Re: Interrupts
And another thing, my masm doesn't seem to be able to handle 32-bit stuff. Whenever I use 32-bit registers, masm32 gives an error saying:
Intruction or register not allowed in current processor mode. Something like that. That error was given in the compilation stage, why? |
|
#12
|
|||
|
|||
|
Re: Interrupts
sorry, the exact error was this:
error A2085: instruction or register not accepted in current CPU mode. |
|
#13
|
|||
|
|||
|
Re: Interrupts
Sorry, ignore my last post, I solved it by putting .386 before my code.
Still can't find the norm though... |
|
#14
|
|||
|
|||
|
Re: Interrupts
When I go into control panel and check out my hardware for example my graphics adapter, I can see, under its resources, its I/O range and memory range, what are they? Are they useful to me if I want to control the hardware in assembly? How do I make sense of them?
|
|
#15
|
||||
|
||||
|
Re: Interrupts
Yes, both are address namespaces when accessing a device in DMA mode. More important is the IRQ number of the hardware...
I have included the resource and norm from Intel...
__________________
I am not offering technical guidiance via email or IM Come on share your photo with us! CG members photo album! Use the Code Tags! |
![]() |
| Bookmarks |
|
||||||
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|