Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 为什么程序集字符打印可以返回_Assembly_X86 16_Emu8086 - Fatal编程技术网

Assembly 为什么程序集字符打印可以返回

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”(未返回任何内容)

以下代码打印字符“a”:

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
中返回任何其他值