当我们说一个寄存器有32位时,这在汇编语言中意味着什么?

时间:2016-04-06 15:43:36

标签: assembly

根据维基百科,

  

32位寄存器可以存储2个 32 不同值的不同值。它   进一步说:“有两个最常见的陈述,   范围为0到4,294,967,295(2 32 - 1)表示为   一个(无符号)二进制数,和-2,147,483,648(-2 31 )到   2,147,483,647(2 31 - 1)表示为二的补码“

那么这又如何转化为一个真实的例子?

一个。这是否意味着我可以在32位寄存器中存储0和1以及2和3以及4 .... 4,294,967,295?

湾如果我想存储相同的数字,比如同一个寄存器4294967296次,该怎么办?我能这样做吗?

℃。有没有办法适当地计算它什么时候开始溢出?我不知道每个整数是否具有特定的位数(如价格标签),我们可以将它们相加以计算它何时开始溢出。

1 个答案:

答案 0 :(得分:0)

  1. 否。这意味着您可以在寄存器中存储值0 1 2 ... 4,294,967,295。
  2. 是的,虽然只存储一次相同的值就足够了,因为寄存器可以被无限次读取。
  3. 实际上所有微处理器都实现了进位标志,当算术运算的结果(例如添加两个数字)由于位深度不足而无法存储在应答寄存器中时,该标志被设置。这可以用作汇编语言中的溢出检测形式。