I have read all of the tutorials I could find, but there is still the gaps in my mind. I want to be able to be able to program at the intermediate to advanced level, not in windows, but on normal assembly.
I already can program alot of things in windows, but I missed out on alot, I know most opcodes and other things. Just that I missed out on interupts, basic assembly programming and all that stuff that can get factored into making your imagination and dreams reality in Windows.
Anything is welcome, I have searched but cannot find what I need...
[|Morag|]
I already can program alot of things in windows, but I missed out on alot, I know most opcodes and other things. Just that I missed out on interupts, basic assembly programming and all that stuff that can get factored into making your imagination and dreams reality in Windows.
Anything is welcome, I have searched but cannot find what I need...
[|Morag|]
[|Morag|],
With interrupts you have not missed anything useful unless you have a reason to learn old technology for legacy programming in DOS. You can always use MASM for algorithm coding where you don't interact with the OS at all but to write anything complete with MASM like an EXE or DLL, you must call the operating system for even the most basic services.
Interrupts in DOS did the same thing, they called OS functions to perform basic services.
With interrupts you have not missed anything useful unless you have a reason to learn old technology for legacy programming in DOS. You can always use MASM for algorithm coding where you don't interact with the OS at all but to write anything complete with MASM like an EXE or DLL, you must call the operating system for even the most basic services.
Interrupts in DOS did the same thing, they called OS functions to perform basic services.
Interrupts were simply API calls with the exception that parameters were passed in registers instead of on the stack.
The only major difference in the "old" days was that you could have direct access to the hardware, such as the video memory. However, you can simulate that under "Windows" but let the system actually transfer your video data to the video card/chip. Believe me, it's a LOT easier using flat memory than using the paging system when more than 64k of memory was needed for the video. That paging system differred from one video card to another and your code had to take that into account after identifying the properties of the video card.
Unless you ever want to write drivers for specific harware, you dont need to learn about interrupts to access the BIOS.
Raymond
The only major difference in the "old" days was that you could have direct access to the hardware, such as the video memory. However, you can simulate that under "Windows" but let the system actually transfer your video data to the video card/chip. Believe me, it's a LOT easier using flat memory than using the paging system when more than 64k of memory was needed for the video. That paging system differred from one video card to another and your code had to take that into account after identifying the properties of the video card.
Unless you ever want to write drivers for specific harware, you dont need to learn about interrupts to access the BIOS.
Raymond
Well, pretty much I just wanted to learn more on registers and use MS-DOS to practice. Like in order to find which register I must use to get a certain call back, or expect certain data to go to a certain register. But I have to read source code and scavenge for api functions written in ASM to find which register is used for which function.
[|Morag|]
[|Morag|]