Assembly 为什么程序集字符打印可以返回
以下代码打印字符“a”:Assembly 为什么程序集字符打印可以返回,assembly,x86-16,emu8086,Assembly,X86 16,Emu8086,以下代码打印字符“a”: mov dl, ‘a' mov ah, 2 int 21h 我阅读并发现,在al中,我们得到: Return:AL=最后一个字符输出 我试图理解的是,为什么我们真的需要这种返回值?这对我来说毫无意义,因为我们在屏幕上获得了输出,而且最后一个打印的字符是DL(因为我们刚刚打印了它)。有什么想法吗?拉尔夫·布朗的中断列表上写着: AL=最后一个字符输出(,尽管官方文件中 不返回任何内容(至少DOS 2.1-7.0) “Nothing is return”(未返回任何内容)
mov dl, ‘a'
mov ah, 2
int 21h
我阅读并发现,在al
中,我们得到:
Return:AL=最后一个字符输出
我试图理解的是,为什么我们真的需要这种返回值?这对我来说毫无意义,因为我们在屏幕上获得了输出,而且最后一个打印的字符是DL(因为我们刚刚打印了它)。有什么想法吗?拉尔夫·布朗的中断列表上写着: AL=最后一个字符输出(,尽管官方文件中 不返回任何内容(至少DOS 2.1-7.0) “Nothing is return”(未返回任何内容)并不意味着:“寄存器的值未更改”,但这可能意味着:“寄存器的值可以有任何值。” MS-DOS版本2.1到7.0在内部使用
AL
寄存器的方式可能是AL
通常包含中断返回时写入的字符
但是,因为官方MS-DOS文件中说,没有任何东西会被退回,所以您不能相信:
在某些情况下,某些MS-DOS版本可能会在
AL
中返回任何其他值 拉尔夫·布朗的中断列表上写着:
AL=最后一个字符输出(,尽管官方文件中
不返回任何内容(至少DOS 2.1-7.0)
“Nothing is return”(未返回任何内容)并不意味着:“寄存器的值未更改”,但这可能意味着:“寄存器的值可以有任何值。”
MS-DOS版本2.1到7.0在内部使用AL
寄存器的方式可能是AL
通常包含中断返回时写入的字符
但是,因为官方MS-DOS文件中说,没有任何东西会被退回,所以您不能相信:
在某些情况下,某些MS-DOS版本可能会在AL
中返回任何其他值