序号 | 函数原型 | 功能 | 参数 | 返回值 |
1 | void Readcommand(char *name); | 将指令从指定文件中存入内存的代码段 | char *name //指定文件的名称 | 无 |
序号 | 函数原型 | 功能 | 参数 | 返回值 |
1 | int Distinguish(int *command,THREADARGUMENT *th); | 识别指令,并通过Conversion.c转化二进制指令为十进制并存入指令寄存器,将识别的指令传入Operation.c执行。 | int *command //代码段内存中每段指令的首地点 THREADARGUMENT *th //结构体参数 | 0:已运行至关机指令 1:未运行至关机指令 |
序号 | 函数原型 | 功能 | 参数 | 返回值 |
1 | int conversion(int *str,int n); | 把二进制数组的前n位看作一个二进制数并转化为十进制 | int *str, int n //二进制数组地点和必要转换的位数 | 转换后的十进制数 |
2 | int *conversion_to_binary(int n); | 把十进制转化成16位二进制 | int n //某十进制数 | 二进制数组的地点 |
3 | void conversion_positive(int n,int *a); | 把正的十进制转化成16位二进制 | int n,int *a //某十进制数和存放二进制得数组得首地点 | 无 |
4 | void conversion_negative(int n,int *a); | 把负的十进制转化成16位二进制 | 同上 | 无 |
序号 | 函数原型 | 功能 | 参数 | 返回值 |
1 | int Operation(int key,int *binary,THREADARGUMENT *th); | 执行指令 | int key, int *binary //key用来判断执行哪条指令,binary指向二进制指令 THREADARGUMENT *th //结构体参数 | 0:已运行至关机指令 1:未运行至关机指令 |
序号 | 函数原型 | 功能 | 参数 | 返回值 |
2 | void Convey(int *command,THREADARGUMENT *th); | 数据传送 | int *command //某条指令 THREADARGUMENT *th //结构体参数 | 无 |
3 | void Calculate(int *command,int key,THREADARGUMENT *th); | 算数运算的指令分析 | int *command, int key //某条指令和举行加减乘除的判断标记 THREADARGUMENT *th //结构体参数 | 无 |
4 | void Add(int data,int register1,int register2,THREADARGUMENT *th); | 加法 | int data,int register1,int register2 //立即数和两个寄存器 THREADARGUMENT *th //结构体参数 | 无 |
5 | void Subtract(int data,int register1,int register2,THREADARGUMENT *th); | 减法 | 同上 | 无 |
6 | void Multiply(int data,int register1,int register2,THREADARGUMENT *th); | 乘法 | 同上 | 无 |
7 | void Divide(int data,int register1,int register2,THREADARGUMENT *th) | 除法 | 同上 | 无 |
8 | void Logicaloperation(int *command,int key,THREADARGUMENT *th); | 逻辑运算的指令分析 | int *command, int key //某条指令和举行与或非运算的判断标记 THREADARGUMENT *th //结构体参数 | 无 |
9 | void And(int data,int register1,int register2,THREADARGUMENT *th); | 逻辑与运算 | 同(4) | 无 |
10 | void Or(int data,int register1,int register2,THREADARGUMENT *th) | 逻辑或运算 | 同(4) | 无 |
11 | void Not(int data,int register1,int register2,THREADARGUMENT *th) | 逻辑非运算 | 同(4) | 无 |
12 | void Compare(int *command,THREADARGUMENT *th); | 比较运算 | int *command THREADARGUMENT *th | 无 |
13 | void Jump(int *command,THREADARGUMENT *th); | 跳转指令 | int *command THREADARGUMENT *th | 无 |
14 | void Input(int *command,THREADARGUMENT *th); | 输入指令 | int *command THREADARGUMENT *th | 无 |
15 | void Output(int *command,THREADARGUMENT *th); | 输出指令 | int *command THREADARGUMENT *th | 无 |
16 | void Dormancy(int *command); | 休眠 | int *command | 无 |
17 | void Lock(int *command,THREADARGUMENT *th); | 加锁 | int *command THREADARGUMENT *th | 无 |
18 | void Unlock(int *command,THREADARGUMENT *th); | 解锁 | int *command THREADARGUMENT *th | 无 |
序号 | 函数原型 | 功能 | 参数 | 返回值 |
1 | void Printmemory(void); | 内存的代码段和数据段的输出 | 无 | 无 |
2 | void Printregister(THREADARGUMENT *th); | 寄存器状态输出 | THREADARGUMENT *th | 无 |
序号 | 函数原型 | 功能 | 参数 | 返回值 |
1 | unsigned __stdcall run(void *pArgument); | 线程函数 | void *pArgument | 0 |
序号 | 函数原型 | 功能 | 参数 | 返回值 |
1 | void Initialization(THREADARGUMENT*th,int id); | 初始化结构体 | THREADARGUMENT*th,int id //结构体指针 线程id | 无 |
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |