首页
社区
课程
招聘
[原创]MIX教程
发表于: 2011-12-31 01:50 6265

[原创]MIX教程

2011-12-31 01:50
6265

1.简介
MIX是The Art of Computer Programming书中所用的汇编语言。
寄存器:有9个寄存器,A、X、J、I1、I2、I3、I4、I5、I6。I1~I6为变址寄存器。参见后面的图3。
MIX中一个字由5个字节和一位符号位组成。
MIX中的字符包括A-Z的大写字母,0-9的数字和部分特殊符号。
指令格式(这里是说机器指令):
————————————————————————————
|     0     |     1     |      2    |      3       |      4    |       5      |
————————————————————————————
|            地     址             |    index  |   mod   |     操作码  |
————————————————————————————
这是定长指令格式,所有指令都是6字节,其中第字节为符号,
0 1 2号字节共同组成地址。
我觉得不用太关心机器指令,不过书上说了很多。
在实例1中具体说明。
2.实例讲解
实例1,代码在第一卷1.3.2节140页,算法在1.2.10节93页。

X        EQU	  1000
         ORIG	  3000

START  	 STJ	  EXIT
INIT 	 ENT3	  0,1
     	 JMP	  CHANGEM
LOOP 	 CMPA	  X,3
     	 JGE	  *+3
CHANGEM	 ENT2	  0,3
	 LDA	  X,3
	 DEC3	  1
	 J3P	  LOOP
EXIT	 JMP	  *
	 END	  START
#include <stdio.h>
#define N 6

int main()
{
	int a[N]={3,2,1,6,5,4};
	int i,j,temp;
	for(j=1;j<N;j++)
	{
		temp=a[j];
		i=j-1;
		while(temp<a[i]&&i>=0)
		{
			a[i+1]=a[i];
			i--;
		}
		a[i+1]=temp;
	}
	for(i=0;i<N;i++)
		printf("%d\t",a[i]);
	return 0;
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 6
支持
分享
最新回复 (1)
雪    币: 1015
活跃值: (235)
能力值: ( LV12,RANK:440 )
在线值:
发帖
回帖
粉丝
2
感谢楼主分享的好文。
2011-12-31 09:13
0
游客
登录 | 注册 方可回帖
返回
//