-
Notifications
You must be signed in to change notification settings - Fork 0
/
prog.bin
21 lines (21 loc) · 1.18 KB
/
prog.bin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 测试版本 只用于检测程序是否有效
// | x2 | | x1 |
// | y2 | = A * | y1 | + B
//
// A = | 0.75 0.5 | B = | 20 |
// | -0.5 0.75| | -20 | A与B是系数 是固定的,执行特定的仿射变换
//
// 指令数量一共15位 三位指令码 两个位寄存器地址
// 指令LOAD测试
//000000000000000
100000000000000 // LOAD %0 %0 0 加载sw到0号寄存器 已用 0
//000000000000000
100010000000000 // LOAD %1 &0 2 加载sw到1号寄存器 已用 0 1
111100001100000 //MULI %2, %0, 0.75; // %2 = X1*0.75 已用 0 1 2 2 = %1 * 0.75
111110101000000 //MULI %3, %1, 0.5; // %3 = Y1*0.5 已用 0 1 2 3 3 = %2 * 0.5
010101100000000 //ADD %2, %3; //%2 = %2+%3 已用 0 1 2 2 = %2 + %3 这个时候%3 没用了
111110011000000 //MULI %3, %0, -0.5; //%3 = X1*(-0.5) 已用 1 2 3 3 = %0 * -0.5 这个时候0没有用了
111000101100000 //MULI %0, %1, 0.75; //%0 = Y1*0.75 已用 0 1 2 3 0 = %1 * 0.75 这个时候1没用了
010110000000000 //ADD %3, %0; //%3 = %3+%0 已用 1 2 3 这个时候0没用了
110101000010100 //ADDI %2, %2, 20; //%2 = %2+20 + 系数 B
110111111101100 //ADDI %3, %3, -20; //%3 = %3-20 + 系数 B