Discussion Overview
The discussion revolves around the integration of assembly code with C++ in the context of using 386 interrupts, specifically focusing on how to execute assembly code from a high-level language. Participants explore the feasibility of using BIOS and DOS interrupts within modern operating systems, the challenges involved, and the necessary environment for such operations.
Discussion Character
- Exploratory
- Technical explanation
- Debate/contested
- Homework-related
Main Points Raised
- Some participants express doubt about the possibility of executing assembly code from C++, particularly regarding the use of interrupts in modern operating systems.
- One participant mentions that mixing C++ and assembly is possible, but emphasizes the need to avoid sharing variables between task code and interrupt code.
- Another participant suggests that to access interrupts in Windows XP, one would need to create and install a device driver, referencing the Windows Driver Kit (WDK).
- There are claims that older DOS interrupt functions (like int 21h and int 10h) may not work in Windows XP, with some asserting that these functions were last supported in Windows 3.1.
- Some participants share personal experiences with using interrupts in older operating systems, noting that they were able to successfully use BIOS and DOS interrupts in environments like Windows 98SE.
- One participant proposes that the assembly code could perform simpler tasks, such as implementing a function like strchr() in assembly.
- There is mention of the need for a full-screen DOS console mode for certain graphics calls to work properly.
- Another participant highlights that accessing interrupts directly in newer versions of Windows requires writing a protected mode device driver.
Areas of Agreement / Disagreement
Participants do not reach a consensus on the feasibility of using 386 interrupts in modern operating systems, with some asserting it is impossible while others share experiences suggesting it may still be possible under certain conditions.
Contextual Notes
Limitations include the dependency on specific operating systems and environments, as well as unresolved questions about the compatibility of older interrupt functions with modern systems.