C 構建自己的計算機 ,C 機器語言程式

2021-10-07 18:46:07 字數 2034 閱讀 7752

題目出自《c++大學教程第五版》

需要建立乙個稱為******tron的計算機,其中所有的資訊都是由帶符號的4位十進位制數組成的「字」來助理,前兩位是操作碼,之後的兩位是記憶體位置,需要將各操作碼的功能實現,話不多說,直接上**

#include

#include

#include

#include

using

namespace std;

void

pusherror()

;//丟擲錯誤

void

halt()

;//暫存器與記憶體資訊

void

start()

;//輸出程式啟動資訊

void

action

(int

,int

,int);

//執行各指令

void

input()

;//輸入指令字並提取資訊

int memory[

100]

;//記憶體

int acc=0;

//累加暫存器,初始化為0

int counter;

//下乙個記憶體位置

int operand;

//記憶體位置

int operationcode;

//指令

string instructionregister=

"+0000"

;//命令字

//主函式

intmain()

void

start()

//輸出開機內容

void

pusherror()

//列印錯誤資訊

void

halt()

//輸出記憶體的全部內容

cout << endl <<

" 0"

;int k =0;

for(

int i =

0; i <

100; i++

) cout << endl;

input()

;}void

action

(int op,

int p,

int n)

//根據指令進行對應操作

input()

;break

;case42:

//累加器如為零,轉移至記憶體

if(acc ==0)

input()

;break

;default:/

/結束程式

cout <<

"你的輸入有誤,請重新輸入!"

<< endl;

input()

;}}void

input()

//輸入並提取有效資訊

string order = in.

substr(1

,2);

//order是輸入項中所含指令

string x, n;

x = in.

substr(3

,2);

//x為儲存位置

if(in.

length()

>5)

//獲取運算元

n = in.

substr(5

);else

n ="0";

int d =

stoi

(n);

//將n,order轉化為整數

int c =

stoi

(x);

//將記憶體位置轉化為整數儲存在count中

int iorder =

stoi

(order);if

(c <

0|| c>99)

pusherror()

;if(iorder ==43)

action

(iorder, c, d)

;}

題目演算法難度不大,需要多注意細節,不要掉坑哦

2013計算機二級考試C語言輔導 C語言程式的構成

c語言程式的構成 1 c語言的源程式是由函式構成的,每乙個函式完成相對獨立的功能,其中至少包括乙個主函式 main 函式 2 c程式總是從main 函式開始執行。3 c語言規定每個語句以分號 結束,分號是語句組成不可缺少的部分,它在每條語句的最後出現。4 程式的注釋部分應括在 與 之間,和 之間不能...

C語言 計算機猜數字

include include include intmain else if a while a number printf 太好了,你用了 d次就猜到了答案 n count 程式說明 這裡的srand函式和time函式如下 srand函式 srand函式是隨機數發生器的初始化函式,原型 void...

C語言與計算機的關係

語言是交流的工具。c語言是程式語言,用於同計算機的溝通。c語言是程式設計師與計算機之間的翻譯。現代計算機均為馮 諾依曼計算機,基本原理為 二進位制 儲存程式和分為五大組成部件。c語言與計算機之間的關係可以用下圖表示 總結起來為 c語言用scanf函式控制計算機中的輸入裝置接收使用者輸入的資料,並把資...