The basic introduction to MIX language and machine
reference: The MIX Computer, The MIX Introduction sets,
The basic info storage unit in MIX computer is the byte, which stores positive values in the range of 0 to 63. In MIX, Byte only has 6 bytes, and the word Byte refer to MIX 6-byte.
A MIX word is defined as set of 5 bytes and plus a sign. The bytes within a word are numbered from 1 to 5, The sign of a number is denoted by index 0. Graphincally.
-----------------------------------------------
| 0 | 1 | 2 | 3 | 4 | 5 |
-----------------------------------------------
| +/- | byte | byte | byte | byte | byte |
-----------------------------------------------
We can refer to subfields within a word using a field specification or fspec of the form "(L:R)", where L denotes the first byte, and R the last byte of the subfield.
Registers:
rA
A register, general purpose register holding a word usually serving as the operadn of the arithmetic and storing instructions.
rX
X register, general purpose register holding a word, acting as an extension or a replacement of 'rA'
rJ
jump register stores positive 2-bytes values, representing a jump addresss.
rI1, rI2, rI3, rI4, rI5, rI6
OV
overflow toggle( a bit with valuess on and off), denoted as OV
CM
comparision indicator, having 3 values: EQUAL, GREATER or LESS, possible value are abbreviated as E, G, L
I/O
input-output block device, each device labelled as un, ranging from 0 to 20. And u0 to u7 are magnetic tape units, u8 through 15 are disks and drums, u16 is a card reader, u17 is a card writer, u18 is a line printer and, u19 is a typewirter terminal and u20 a paper tape.
CPU
MIX owes a virtual CPU which controls the above components, able to execute a rich set of instructions. As von Neumann computer, the CPU fetches binary instructions from memory sequentially, and stores the add of the next instrutions in an internal register called location counter(known as PC in other computer)
Instruction structure
MIX instructions are codified as words with the following subfield sturcture:
| Subfield | fspec | Description |
| ADDRESS | (0:2) | The first two bytes plus sign are the address field. Combined with the INDEX field, denotes the memory address to be used by the instruction. |
| INDEX | (3:3) | The third byte is the index, normally used for indexing the address3. |
| MOD | (4:4) | Byte four is used either as an operation code modifier or as a field specification. |
| OPCODE | (5:5) | The last (least significant) byte in the word denotes the operation code. |
The first 2 bytes plus sign are the address field, combined with the INDEX field(for address stored in index register refered by INDEX byte)
For given a instruction, 'add' stands for the mem address after combining the address in address field and and 'cont' is the contents of the subfield indicated by MOD of the memory cell with address.
[rI2] = + 00 63
[31] = - 10 11 00 11 22
Given instruction ‘I = - 00 32 02 11 10’, we have:
ADDRESS = - 00 32
INDEX = 02 = 2
MOD = 11 = (1:3)
OPCODE = 10
add = ADDRESS + [rI2] = 63 + (-32) = 31
cont = [M](MOD) = (- 10 11 00 11 22)(1:3)
While "MOD" means we use left padding to the bytes selected by ‘MOD’ to obtain a complete word as the result.
IF we use mnemonic name assigned to this MIX instruction, we can rewrite the above instruction as:
LD2 -32, 2(1:3)
or, for a generic instruction:
MNEMONIC ADDRESSS, INDEX(MOD)
note:
MOD equals to (0:5) means the whole word.
The basic introduction to MIX language and machine的更多相关文章
- Something on RoIAlign --- basic introduction and implementation
Something on RoIAlign --- basic introduction and implementation 2018-10-22 22:40:09 Paper: Mask RCNN ...
- RESTFul basic introduction
http://www.ruanyifeng.com/blog/2011/09/restful.html
- 可分离卷积详解及计算量 Basic Introduction to Separable Convolutions
任何看过MobileNet架构的人都会遇到可分离卷积(separable convolutions)这个概念.但什么是“可分离卷积”,它与标准的卷积又有什么区别?可分离卷积主要有两种类型: 空间可分离 ...
- Cyber Security - Palo Alto Basic Introduction
Preparation of the Lab Environment: Download and Install Pan-OS from the following website https://d ...
- Introduction to Machine Learning
Chapter 1 Introduction 1.1 What Is Machine Learning? To solve a problem on a computer, we need an al ...
- Machine Learning Algorithms Study Notes(1)--Introduction
Machine Learning Algorithms Study Notes 高雪松 @雪松Cedro Microsoft MVP 目 录 1 Introduction 1 1.1 ...
- How do I learn machine learning?
https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644 How Can I Learn X? ...
- Machine and Deep Learning with Python
Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...
- (zhuan) Speech and Natural Language Processing
Speech and Natural Language Processing obtain from this link: https://github.com/edobashira/speech-l ...
随机推荐
- Android App开之标注切图
身为一个android开发狗,真是艰辛啊,适配不好做,Rom特性不好搞,连切图有时候都得自己上啊,设计师MM都不敢去惹呢,新技能Get开始. 其实,都是小case了,我有度娘和谷哥! 因为,有了psd ...
- OCP-1Z0-053-V12.02-512题 【转】
http://blog.csdn.net/gisinfo/article/details/8159875 1.Which two statements correctly describe the r ...
- javascript中对象的不同创建方法
javascript中的对象与一般的面向对象的程序设计语言(c++,Java等)不同,甚至很少有人说它是面向对象的程序设计语言,因为它没有类.javaScript只有对象,不是类的实例.javascr ...
- 记录一个php强制下载文件函数
整理个经常用的强制下载文件的函数,之前就说把一些常用的东西整理出来结果老是没时间,最近陆续把这些东西整理下. public function download() { $id = $this-> ...
- Web 应用性能提升 10 倍的 10 个建议
转载自http://blog.jobbole.com/94962/ 提升 Web 应用的性能变得越来越重要.线上经济活动的份额持续增长,当前发达世界中 5 % 的经济发生在互联网上(查看下面资源的统计 ...
- Intellij IDEA 2016 mybatis 生成 mapper
转载地址:http://gold.xitu.io/entry/57763ab77db2a2005517ae3f
- Java程序执行Linux命令
Java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个 ...
- php 大数组的POST问题解决
服务器的PHP.ini的设置问题max_input_vars太小.
- npm 安装参数中的-save和 -save-dev
当你为你的模块安装一个依赖模块时,正常情况下你得先安装他们(在模块根目录下npm install module-name),然后连同版本号手动将他们添加到模块配置文件package.json中的依赖里 ...
- 精读《javascript高级程序设计》笔记二——变量、作用域、内存以及引用类型
变量.作用域和内存问题 执行环境共有两种类型——全局和局部 作用域链会加长,有两种情况:try-catch语句的catch块,with语句. javascript没有块级作用域,即在if,for循环中 ...