偽**:
暫存器用變數表示 記憶體用陣列表示
定義巨集定義為操作碼功能
1.資料定義
2.列印功能
3.錯誤判斷
1.資料定義
3.錯誤判斷
main函式
whlie
}whlie
輸入do(操作碼不等於43)
#define _crt_secure_no_warnings
#include
#include
#define number 100
#define flag -9999
/*操作碼*/
#define read 10
#define writhe 11
#define load 20
#define store 21
/*算術操作*/
#define add 30
#define subtract 31
#define divide 32
#define multiply 33
/*控制操作*/
#define branch 40
#define branchneg 41
#define branchzero 42
#define halt 43
//列印函式
void
printfmycomputer
(int memory,
int accumulator,
int instructioncounter,
int instructionregister,
int operationcode,
int operand)
;bool errzero
(int operand)
;//除0錯誤判斷
bool erraccumulator
(int accumulator)
;//累加器溢位錯誤
bool erroroperandcode
(int operationcode)
;//操作碼錯誤
intmain()
;//記憶體初始化
/*暫存器值初始化*/
int accumulator =0;
//累積器
int instructioncounter =0;
//記憶體編號
int instructionregister =0;
//『word'
int operationcode =0;
//操作碼
int operand =0;
//位置編號
/*列印記憶體*/
printfmycomputer
(memory, accumulator, instructioncounter,
instructionregister, operationcode, operand)
;printf
("\n\n");
dowhile
(memory[instructioncounter]
>
9999
|| memory[instructioncounter]
<
-9999);
++instructioncounter;
}while
(memory[instructioncounter-1]
!=flag)
;//記憶體結束
printf
("\n*****程式開始執行****\n");
instructioncounter =0;
do operand = instructionregister %
100;
switch
(operationcode)
else
case31:
accumulator -
= memory[operand];if
(erraccumulator
(accumulator)
== true)
else
case32:
if(errzero
(operand)
== true)
accumulator /
= memory[operand];if
(erraccumulator
(accumulator)==0
)else
case33:
accumulator *
= memory[operand];if
(erraccumulator
(accumulator)==0
)else
case40:
instructioncounter = operand;
printfmycomputer
(memory, accumulator, instructioncounter,
instructionregister, operationcode, operand)
;break
;case41:
if(accumulator <0)
else
case42:
if(accumulator ==0)
else
case43:
instructioncounter = operand;
printf
("done\n");
printfmycomputer
(memory, accumulator, instructioncounter,
instructionregister, operationcode, operand)
;break
;default
:printf
("輸入錯誤,請重新輸入!\n");
printfmycomputer
(memory, accumulator, instructioncounter,
instructionregister, operationcode, operand)
;break;}
}while
(operationcode !=43)
;return0;
}void
printfmycomputer
(int memory,
int accumulator,
int instructioncounter,
int instructionregister,
int operationcode,
int operand)
printf
("%+05d "
, memory[i]);
}printf
("\n\n");
}//判斷操作碼
bool erroroperandcode
(int operationcode)
return false;
}bool erraccumulator
(int accumulator)
return false;
}//判斷0
虛擬機器 虛擬機器軟體的簡單認識
1.vmware workstation 適用平台 linux和windows 學校實驗機上用的此軟體 搭載的是redhat 9的虛擬機器 直接匯入vmx檔案就可以使用 具體步驟參考 雖然此步驟掩飾的是windows的虛擬機器但是和linux的虛擬機器開啟步驟一樣 都是使用vmx檔案直接匯入的 2....
簡單理解虛擬機器
拋開那些高大上名詞,虛擬機器就是乙個可以在你的主作業系統裡 另起爐灶 的 另一台 電腦 另一台電腦 可以不同於你當前主作業系統,你可以安裝成linux,dos,windows,mac os x 等。安裝虛擬機器的軟體 目前有很多種 parallels desktop vmware virtualbo...
虛擬機器簡單命令
虛擬機器配置 linxe 檔案系統 根目錄 boot 系統核心與啟動目錄 root root使用者目錄 home 普通使用者根目錄 home username 普通使用者主目錄 etc 使用者配置檔案 bin sbin 可執行應用程式與系統程式 dev 裝置檔案目錄 etc init.d 啟動描述檔...