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 ...
随机推荐
- 得到文件的MD5值
/// <summary> /// 得到文件的MD5值 /// </summary> /// <param name="Path">文件路径&l ...
- OpenGL绘制简单的时钟(首发测试)
#include <windows.h> #include <GL/glut.h>//本来OpenGL程序一般还要包含<GL/gl.h>和<GL/glu.h& ...
- SQLServer 中实现类似MySQL中的group_concat函数的功能
SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起. 后在网上查找,找到了可以实现此功能的方法,特此记录下. SELECT a, stuff((SELECT ...
- Javascript 学习笔记 无缝滚动
效果 : 鼠标移入图片 停止滚动, 鼠标移出自动滚动 可以调整向左或右方向滚动 <style type="text/css"> * { margin:; padding ...
- Latex笔记-基本布局
转自https://linhan.blog.ustc.edu.cn/?p=135&cpage=1 目录改用中文标题并且居中 \renewcommand{\contentsname}{\cent ...
- Java引用数据类型
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值.引用传递:也称为传地址.方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应 ...
- JAVA仿真之银行出纳员
学习例子是参照<thinking in java>中修改的,先贴上运行结果: 注意看红框之中的内容,这个仿真要达到这样一个目的: 1.客户队列(无优先级):每隔300MILLS生产一个客户 ...
- Spring AOP AspectJ Pointcut 表达式例子
主要来源:http://howtodoinjava.com/spring/spring-aop/writing-spring-aop-aspectj-pointcut-expressions-with ...
- CVTE 嵌入式软件工程师 二面
昨天晚上收到了二面的通知,激动啊-第二天提前20分钟到达指定地点,然后一起做大巴去到CVTE总部,发现笔试刷掉的人好像并不是很多.我们一下车被带到了公司的电影院,听演唱会.呵呵,挺有意思的,有一个漂亮 ...
- Linux系统CentOS6.2版本号下安装JDK7具体过程
前言: java 是一种能够撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE( ...