マシン命令を実行できるように、テキスト ファイルから 16 進数を符号なし整数に読み込もうとしています。これは、テキスト ファイル内を調べ、値とそれに対応する命令に従って新しい値をレジスタに出力するシミュレーション タイプのものです。
たとえば、指示は次のようになります。
- 1RXY -> メモリ アドレス XY の値でレジスタ R を保存
- 2RXY -> レジスタ R を値 XY で保存
- BRXY -> xy がこれとあれならレジスタ R にジャンプします。
- ARXY -> レジスタ R とメモリアドレス XY の値の AND
テキストファイルには、次のようなものがそれぞれ新しい行に含まれています。(16 進数)
- 120F
- B007
- 290B
私の問題は、個々の命令を符号なし整数にコピーすることです...どうすればよいですか?
#include <stdio.h>
int main(){
FILE *f;
unsigned int num[80];
f=fopen("values.txt","r");
if (f==NULL){
printf("file doesnt exist?!");
}
int i=0;
while (fscanf(f,"%x",num[i]) != EOF){
fscanf(f,"%x",num[i]);
i++;
}
fclose(f);
printf("%x",num[0]);
}