MIX是二进制-十进制混合计算机

/*********************************************************
MIX-字(word)是计算机表示其自然的数据单位的术语。
**********************************************************/
1. 信息的基本单位是字节(byte)。
2. 每个字节所能表示的信息总数不同,但是它至少能表示64个不同的值,并且,每个字节最多能表示100个不同的值。
3. 在二进制计算机中, 一个字节由6个位组成,而在十进制中,一个字节包含两个位。
4. 用MIX的语言编程应该假设一个字节不能表示超过64个值。因此,对于数字80, 我们应该留2个相邻字节来表示之,尽管在十进制计算机中,一个字节已经足够。
5. 不论一个字节有多大,一个MIX的算法应该总能工作。
6. 虽然可以已经Byte的大小来编程,但是这么做有悖于此书的精神。
7. 要遵守这个基本的规则并不是很难,并且我们会发现十进制计算机编程与二进制计算机编程并无两样。

2个相邻字节为能表示从0到4095
4个相邻字节为能表示从0到262,143

一个计算机字由5个字节和一个符号组成。符号只有两种值,+或-。

/********
寄存器
********/
在计算机CPU中,累加器是一种寄存器,用来储存计算的中间结果。如果没有像累加器一样的寄存器,就需要将每次计算结果写到主存,然后读出来用于下一个操作。然而,从主存中存取的速度要比寄存器慢的多。

A-register(Accumulator):累加器:5个字节加1个符号
X-register(Extension):扩展寄存器:5个字节加1个符号
I-registers(Index registers):索引寄存器:I1,I2,I3,I4,I5,和I6:2个字节加1个符号。
J-register(Jump address):跳转地址寄存器:2个字节,其符号总是为+。

rX位于rA的右侧,和rA一起用于暂存10个字节的乘积或被除数,或者用于暂存rA右移时移出的信息。
索引寄存器主要用于计数和引用变量内存地址。
跳转寄存器主要用于暂存跳转指令的地址,主要用途是用来连接子函数。

除了寄存器外,MIX还包括
1. an overflow toggle(一个位"on"或者"off")
2. a comparison indicator(3个值:LESS,EQUAL,或者GREATER)
3. 主存(4000字的存储空间,每个字由5个字节和一个符号组成)
4. 输入输出设备(cords, tapes, disk, etc.)

/**********************
计算机字的部分字段。
***********************/
1. 大多数指令允许程序员只使用字的一部分。
2. 在这些情况下,可以指定一个非标准的"field specification"
3. 允许的字段为一个计算机字的相邻字节,表示为(L:R)
4. 不同指令的field specification不同。
5. 每个field specification在计算机内部实际上是以一个数字8L+R表示。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值