只是预防措施。我是一个组装完全的菜鸟。我唯一的问题是DOS中只有以下命令:
MOV  AH, 09
INT  21
MOV  AX, 4C01
INT  21
第二个中断是否仍然具有参数09含义显示屏幕或AX以某种方式改变?
AH和AL分别是 的高半和低半AX。所以是的,设置AX更改AH。
4C是“退出程序”。
您需要搜索Ralf Brown 的中断列表,它是这些旧 DOS/Windows 中断的权威指南。
使用 AH = 09H调用INT 21h会向控制台输出一个$以 at 结尾的字符串。DS:DX
使用 AH = 4cH调用INT 21H 会退出程序,返回码在AL(在本例中为 01H)。
第二个调用不会简单地AH设置为. 第二个设置为设置的一部分:09HAHAXMOVAH4cHAX

更详细(来自维基百科):

这种由其他寄存器制成的寄存器在英特尔有着悠久的历史:
ax由ah和组成al;eax由 16 位加上其他 16 位组成ax;rax由 32 位加上其他 32 位组成eax。以及其他通用寄存器和特殊寄存器(如索引或基址寄存器)和堆栈指针的类似方法。
有趣的是,他们并没有复制访问扩展寄存器的高半部分的能力,例如eax由eahand组成eal(都是神话,但后者是 的别名ax)。
这将在更高模式下为我们提供大量超小寄存器的缓存,尽管我不确定成本会是多少(毫无疑问,英特尔/AMD确实知道成本,而且可能被认为太贵了)。