1

我正在读高中,我们有一个电子项目。

我们的计算机有一个 4 位输出,输出地址是37Ah ,我的老师是这样做的:

outportb(0x37A,0x80);

那么输出中会出现什么?0小时还是8小时?

4

2 回答 2

1

你需要更好地解释你的问题。您使用什么微处理器等。您有 4 端口输出吗?

但是 0x80 等于:0b1000000,如果您使用低 4 位:0b1000xxxx,那么它们将为零(未打开)。如果 0x37A 是 8 位,就会发生这种情况。

否则,请更好地解释您的问题:)

你不能试着看看会发生什么吗?还是到目前为止只是理论上的?

编辑:

我看到它是一个打印机端口。检查http://www.tinet.cat/~sag/gifs/ParallelPort.gif如果您使用端口 2,3,4,5 那么高 4 位真的无关紧要:) 正如我在评论中所说。

于 2010-06-19T09:00:05.257 回答
1

除非这是 70 年代的 4 位 CPU,否则您的输出端口将是8位,但连接的硬件可能只使用 4。在这种情况下,通常(但不是必须)使用低 4 位,因此您将拥有0x0 作为值。但这使得使用 0x80 成为烟幕,它与 0x00 和 0xF0 相同。因此,仅凭这一点,我猜这里使用了高 4 位,发送的值是 0x8。

但是一个扭曲的硬件工程师可能会使用中间的 4 位。

于 2010-06-19T09:02:22.787 回答