16 位 MS-DOS 编程全解析
在 16 位 MS-DOS 编程领域,有着诸多实用的知识和技巧。本文将深入探讨 16 位 MS-DOS 编程的相关内容,包括内存模型、MS-DOS 函数调用等重要方面。
1. 内存模型相关
在 16 位 MS-DOS 编程中,当使用小内存模型时,数据和代码标签的偏移量(地址)是 16 位的。在这种模型下,所有代码都能放入一个 16 位的段中,程序的数据和栈也能放入一个 16 位的段。在实地址模式下,栈条目默认是 16 位的,但也可以将 32 位的值放在栈上,此时会使用两个栈条目。
为了简化 16 位程序的编码,可以包含 Irvine16.inc 文件。它会在汇编流中插入以下语句,用于定义内存模式和调用约定、分配栈空间、启用 32 位寄存器,并将 .EXIT 指令重新定义为 exit :
.MODEL small,stdcall
.STACK 200h
.386
exit EQU <.EXIT>
2. MS-DOS 函数调用(INT 21h)
MS-DOS 提供了许多易于使用的函数,用于在控制台显示文本,这些函数通常被称为 INT 21h MS-DOS 函数调用。该中断支持约 200 种不同的函数,通过放在 AH 寄存器中的函数编号来识别。
部分函数需要将输入参数的 32 位地址存储在 DS:DX 寄存器中。 DS <
超级会员免费看
订阅专栏 解锁全文
1507

被折叠的 条评论
为什么被折叠?



