在 Windows 中使用来自控制台 I/O 的用户输入中断?

Using Interrupts for User input from Console I/O in Windows?

控制台中用户输入输出的中断是什么Window?

你好,我正在学习汇编语言,我知道在 MS-DOS 操作系统中,支持 .COM 程序,并在 100h 加载到内存中,不是它?前 1k 个字节是 IVT 或中断向量 table,它是一个中断列表,不是吗?所以在 MS-DOS 中,如果我们想询问用户的输入,我们首先将 01 移动到 AH 寄存器,如 MOV ah, 01 并调用中断 INT 21h,我不会知道这是否可以在 DOS 上运行,我从未尝试过 DOS 虚拟机或类似的应用程序,我不想要 DOS 程序我只想要一个控制台 Window 来询问用户输入...

我刚刚开始汇编编程,没有找到关于 Windows 的完整教程,或者不仅仅是一个显示中断使用的教程,MASM 无处不在与 windows.inc 库一起使用,并且 C standard libs,我不想浪费我的时间学习它们,因为在学习汇编编程之后我想学习编写引导程序,它不依赖于一个操作系统,我想使用中断的原因只是为了学习目的,意思就是说这只是为了学习汇编语言,目前我知道的指令很少 MOV ADD SUB INC INT & DEC并且对寄存器一无所知或知之甚少,因此由于这些有限的能力我无法编写引导程序,因此我试图在 Windows 上学习或练习汇编但是有中断,因此不想使用那些预定义的我的应用程序中的库,并希望仅使用来自 IVT 的中断并转移到 BIOS 中断,用于引导程序。

我在论坛上听说 Microsoft 对 public 隐藏了 Windows IVT,因为他们希望他们的 API 变得流行,这是真的吗?因此,这意味着我无法使用中断来处理 Windows 中的 I/O?因为上面没有这样的纪录片,如果没有,请 Post 它带有 NASM 的示例,请参考任何 Online/Offline 指南,我最后的请求请告诉我我该如何将 MASM 编写的源代码转换为 NASM,我的意思是它们之间有什么区别,简而言之,我有两个请求和一个问题如下:

1。 Q1: Windows 中 Console I/O 的中断是什么?

2。 R1:请为 windows 分享任何关于汇编的好教程,尤其是关于使用中断,就像 TutorialsPoint 但它是为 Linux 而我想要 Windows.

最后一个...

3。 R2:MASM 的输入文件源代码与 NASM 有何不同??我的意思是我在为它们编写源代码时可以发现多少差异以及在哪里可以找到差异,正如许多教程所说的那样,许多 MASM 程序不会 运行 in NASM...

提前致谢!!

And the first 1k bytes were the IVT or Interrupt vector table ...

现代 CPUs 有两种(在 64 位 CPUs 的情况下甚至三种)操作模式:"real mode" 和 "protected mode"。

当 CPU 启动时,在 MS-DOS 中,CPU 在 "real mode" 中运行。当 Windows 为 运行 时,CPU 在 "protected mode" 中运行。在这种模式下,中断系统的工作方式与 "real mode".

完全不同

无法直接访问 IVT,也无法从另一个任务访问属于一个任务的内存。

What is the Interrupt for Console I/O in Windows?

Windows NT,32 位,使用中断 1Eh。然而其他 Windows 版本(例如 Windows 9x)使用另一种进入操作系统的方法。

据我所知 Windows 的 64 位版本也不使用中断。

没有 Windows 程序(旧的 16 位 Windows 程序除外)直接使用中断。

hides its Windows IVTs from the public as they want their APIs to become popular, Is this true?

它们隐藏了中断编号,因为它们仅在某些 Windows 版本中可用。

编写适用于当前使用的所有 Windows 版本的程序的唯一可能性是使用 Windows API。

i don't wanna waste my time learning them

在这种情况下,不要浪费时间为 Windows 编写汇编程序!如果您对编译器开发感兴趣,这样做才有意义。

使用一些虚拟机工具(Bochs、VMware 等)并开始编写 "booting programs" 或使用 MS-DOS 模拟器并为 MS-DOS 编写汇编程序。

Windows 汇编程序的唯一用途是 32 位汇编程序比 16 位汇编程序更容易学习(这是 MS-DOS 和 "booting programs" 所必需的) ) 所以为 Windows 编写汇编程序可能对学习有好处...