【发布时间】:2010-12-31 14:30:39
【问题描述】:
我从这本书开始学习汇编语言:Introduction to 80x86 Assembly Language and Computer Architecture
这是来自Representing Data in a Computer
我们研究了两种方案 代表数字-
- 使用二进制整数(通常以十六进制表示)或
- 使用 ASCII 码。
但是,这些方法有两个 问题:
我不明白这些问题。
1:可用于表示数字的位数是有限的,并且
我没听懂。他在说什么?
2:不清楚如何表示负数。
很好
解决第一个表示 上面提到的问题,你可以 只需包含减号的代码 标志。例如,ASCII 码 对于四个字符 -817 是 2D (用于减号)、38、31 和 37。
我认为是second representation problem。不过好吧,我明白了。
要解决第一个问题,您可以 总是同意使用固定数量的 字节,可能在左边填充 用 ASCII 码表示零或空格。
我不知道他想说什么。 ASCII codes for zeros or spaces.??
或者,您可以使用 可变字节数,但同意 数字以最后一个结尾 一个数字的 ASCII 码,即 用 a 终止字符串 非数字。
我一个字也没听出来。
我不知道为什么。但我无法理解他想说什么。任何人都可以解释这一点。 (例子会很棒)
【问题讨论】:
-
与其试图消除本书段落中的迷雾,我建议您阅读二进制补码。它是最重要的数字表示,尤其是对于汇编而言(不仅用于算术,还用于相对跳转或寄存器相对内存访问中的偏移)。
标签: assembly computer-science computer-architecture