2

在汇编(TASM)中输出笑脸字符的代码行是什么?

我知道为了打印一个点,它需要:

MOV AH, 2
DL, '.'
INT 21h

为了打印退格,

MOV AH, 6
MOV DL, 8
INT 21H

笑脸怎么样?我知道它存在是因为它出现在有垃圾值时。

4

2 回答 2

3

在 DOS代码页 437(和大多数其他代码页)中,白色笑脸是代码 #1,黑色笑脸是代码 #2。所以这些是你需要放入的值DL

MOV AH, 6
MOV DL, 1; print ☺
INT 21H
于 2013-03-12T14:23:49.410 回答
0

你可能想看看这里http://spike.scu.edu.au/~barry/interrupts.html 他们对中断的作用给出了足够好的解释。

这里要注意的重要一点是,通过在 AH 上加载一个值,您实际上是在选择运行的函数。所以 MOV AH,2 MOV AH,6 和 MOV AH,9 都在有效地选择不同的功能。在您的情况下,AH,2 或 AH,6 应该是好的。

现在 DL 是您传递给函数的参数。在这种情况下,函数需要一个包含它将打印的 ASCII 值的参数。

因此,MOV DL,1 用于笑脸。

于 2013-03-12T14:34:22.343 回答