2016-01-01から1年間の記事一覧

入力値の分数値を増やしたり減らしたり出来る仮想コンピュータのプログラム

そのソースコードがこれ。 #include <stdio.h> #include <windows.h> int main(void) { /*命令コードの構造*/ union c{ struct{ unsigned char operand : 8; //オペランド unsigned char opecode : 8; //オペコード }part; unsigned short int code; }; union c meirei[8]; //命</windows.h></stdio.h>…

仮想入力装置付き仮想コンピュータ

その仮想コンピュータのC言語ソースファイルがこれ。 #include <stdio.h> #include <windows.h> int main(void) { /*命令コードの構造*/ union c{ struct{ unsigned char operand : 8; //オペランド unsigned char opecode : 8; //オペコード }part; unsigned short int code; };</windows.h></stdio.h>…

デバイスドライバのタイマー割り込みを利用して

タイマー割り込みでLEDを点滅させる、Raspberry Pi 2のデバイスドライバのプログラムのソースファイルがこれ。 #include <linux/module.h> #include <linux/init.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/sched.h> #include <linux/poll.h> #include <linux/io.h> #include <linux/device.h> #include <linux/delay.h> #include </linux/delay.h></linux/device.h></linux/io.h></linux/poll.h></linux/sched.h></linux/fs.h></linux/kernel.h></linux/init.h></linux/module.h>

ソフトウェアとオペレーティング・システム

コンピュータとは、「無数のスイッチの入力状態(ONかOFFか)の組み合わせによって成り立つものであるプログラム」を読み取り実行していく機械である。 その「無数のスイッチの入力状態の組み合わせ」が、ソフトウェアである。 1命令16ビットかつ32命令のプロ…

コンピュータにおける、プログラムと入力

コンピュータは、多項式の計算を自動で行ってくれる機械である。 それに対して電卓は、多項式の計算を手動で行っていく方式である。 プログラムとは、コンピュータに計算させる式のことである。 入力とは、変数に任意の数値を代入することである。 例えば、x…

オペレーティング・システムとコンピュータ

オペレーティング・システムとは、ユーザーにとって使いやすい仮想コンピュータを作り出すソフトウェアである。 そのユーザーとは何か。 それは、プログラム開発者である。 コンピュータは、プログラムを読み取らせて実行させ、出力させていく機械である。 …

コンピュータとは? その3

http://blogs.yahoo.co.jp/hito35687/40280551.htmlの続きと考えてよし。 最近のコンピュータは、他の電子機器に搭載されるのが普通であり単独で動くケースが少ない存在となっている。 パーソナルコンピュータ、縮めてパソコンは、コンピュータを名乗ってい…

コンピュータとは? その2

http://blogs.yahoo.co.jp/hito35687/40278826.htmlの続きと考えてよし。 コンピュータとは、ユーザーが用意したプログラムを実行していく機械である。 3+5+8の計算を行うプログラムの実行の流れはこう。 アキュムレーターに3という数値を格納 ↓ アキュムレ…

コンピュータとは? その1

コンピュータとは、多項式の計算を自動で行ってくれる機械である。 電子計算機とも言え、自動計算機とも言える。 コンピュータは、本来ならこうやって利用する。 ユーザーは、自分が作ったプログラムをコンピュータに読み取らせる。 ↓ コンピュータがプログ…

仮想コンピュータ

私が作った仮想コンピュータのスペックは以下の通り ・1つの命令コードの長さ 16ビット(2バイト) ・格納できる命令コードの数 8つ ・命令コードの法則 前バイト:オペコード 後バイト:オペランド ・2進数のオペコード 000:何もしない 001:加算命令(「アキュ…

コンピュータの本義を見つめて…

コンピュータとは、2+3や3+7+9等といった多項式の計算を自動で行ってくれる機械である。 それがコンピュータの本義である。 では、以下のアセンブラソースファイルをコンパイルして実行してみよう。 mov ah,02 ;文字を出力する準備 ;1+2+3 mov dl,1 add dl,2…

電話によるオンラインシステムの凄い所

電話によるオンラインシステムの凄い所、それは、音声のみでユーザーに入力を求める所だ。 画面によるオンラインシステムが全盛の今、電話によるオンラインシステムは非常に異色を放っていると言える。 カーナビは、映像のみならず音声でも道案内をしてくれ…

ファームウェアについて

ファームウェアとは、電子機器に組み込まれたハードウェア制御用プログラムのこと。 マイコンのプログラムと言っていいくらいだ。 書き換えられることはまずないと言っていい。 ハードウェアとソフトウェアの中間的存在と言われているが、ソフトウェアがほぼ…

時間を扱うプログラムを作ろう

そのためにtime.hというヘッダーファイルを使おう。 現在の時刻を整数で表すプログラムのC言語ソースコード。 #include <stdio.h> #include <time.h> int main(void) { printf("%d\n",time(NULL)); return 0; } 現在の時刻を文字列で表すプログラムのC言語ソースコード。 #inc</time.h></stdio.h>…

電話で使えるオンライン機能

電話でオンライン機能を使ってみよう。 時報機能:電話番号を、117と入力することで使用できる。現在の時刻を音で教えてくれる。現在の正確な時刻を知りたい場合にオススメ。 天気予報機能:電話番号を、(天気予報を知りたい地区の市外局番)-177と入力するこ…

コンピュータのROMについて

コンピュータのROMは、プログラム等が記憶されるものである。 プログラムの他、画像データやテキストデータも記憶される。 コンピュータはプログラムを実行する際、1命令につき16ビットの場合、1ビットずつROMからデータを読み取り、16ビット読み取ったら命…

さっきのプログラムを改良してみた

選択肢を表示する所を関数にした。 #include <stdio.h> #include <windows.h> #include <math.h> void option(int cursor,int number,char str); int main(void) { char command; //8で上に、2で下に、5で実行 int cursor = 1; int exit_flg = 0; while(exit_flg==0){ command = '0'; sys</math.h></windows.h></stdio.h>…

カーソルを動かして実行するものを選択できるCUIプログラム

そのプログラムのC言語ソースコードがこれ。 #include <stdio.h> #include <windows.h> #include <math.h> int main(void) { char command; //8で上に、2で下に、5で実行 int cursor = 1; int exit_flg = 0; while(exit_flg==0){ command = '0'; system("cls"); printf("何をしますか?\n"</math.h></windows.h></stdio.h>…

標準ライブラリ変数

標準ライブラリ関数ならぬ標準ライブラリ変数。 PICマイコンの標準ヘッダーファイルであるpic.hの変数、TMR0は、標準ヘッダーファイルから呼び出される変数なので標準ライブラリ変数である。

プログラミング言語でRPGを!

RPGツクールというRPG自作用ゲームソフトがあるが、プログラミング言語を使えばRPGを1から作れるぞ。 プログラミング言語の習得は、得なものだ。

これからのIT業界は?

以下のことが考えれる。 ・光ディスクが廃れ、SDカードやUSBメモリーがメモリーの主役の座を握る。 ・オペレーティング・システムは、Windowsに代わってLinuxが主流になる。 ・電源用ケーブルとデバイス接続用ケーブルはUSBケーブルが主流になる。

ダウンロードして使おう!Termux

AndroidでTermuxをダウンロードして使ってみよう! そのTermuxは、コマンドプロンプトだ! AndroidでCUIなんて、なかなかの感じだ。 viコマンドを使って、自分でアプリを作ってそのアプリを楽しもう! 一味違ったスマホの世界を楽しむのだ!

プロセス間通信について

プロセス間通信用のグローバル変数を節約しつつ、プロセス間通信するプログラムのC++ソースはこれ。 #include <iostream> #include <string.h> using namespace std; //プロセス間通信関連 int send_flg = 0; //データ送信フラグ int address = 8; //宛先のプロセスの番号 char s</string.h></iostream>…

system関数を使って、C言語でコマンドプロンプト!

http://blogs.yahoo.co.jp/hito35687/39626209.htmlにて、system関数を使っているところを見せた。 そのsystem関数は、引数となる文字列がコマンドプロンプトのコマンドと同様の効果を発揮する関数である。 例えば、system("echo abc");という文は、画面にab…

プロセスの並列処理における排他制御

プロセスをラウンドロビン方式で並列処理(に見える処理)する場合、特定の処理を始めてから終わるまでプロセスの切り替えを不許可しなければならない場合がある。 縦5マス×横5マスの25マスのフィールドにて、見えない宝を探していく宝探しゲームがあるとする…

使おう!continue文

C言語において、continue文とは、for文内において次以降の文をパスして次のサイクルに進める文章だ。 例えば以下のfor文。 for(i=0;i<5;i++) { if(i==2) continue; printf("hello\n"); x(); } iに格納されている値が2の時、printf("hello\n");とx();が実行さ…

配列を、他の関数に渡すには?

まず、配列の要素の数だけ引数がある関数を作ってみよう。 その関数があるプログラムのソースコードがこれ。 #include <stdio.h> char func(char a,char b,char c); int main(void) { char arr[3] = {1,6,9}; func(arr[0],arr[1],arr[2]); return 0; } char func(char</stdio.h>…

print文内にて、配列を要素を記述せず名前のみ記述すると?

配列の先頭要素のアドレスが画面に表される。 #include <stdio.h> int main(void) { char arr[3] = {1,2,3}; int i; for(i=0;i<3;i++) printf("arr[%d]:%d\n",i,arr[i]); for(i=0;i<3;i++) printf("&arr[%d]:%d\n",i,&arr[i]); printf("arr:%d",arr); return 0; } char</stdio.h>…

適当なDNA文字列を作り出すプログラム

DNAとは何かもうわかっているな。 DNAの1文字は、A(アデニン)、C(シトシン)、G(グアニン)、T(チミン)の4種類がある。 DNA文字列においては、3文字で1コドン、つまり300文字だと100コドンである。 このC言語ソースコードは、適当なDNA文字列を作り出すプログ…

バッチ処理のプログラム

バッチ処理とは、複数のジョブを一括して処理する方式である。 どの順番でジョブを処理させるかはユーザーの勝手である。 #include <stdio.h> #include <math.h> /*プロセスのCPU割当用データ*/ typedef struct process{ int number; //プロセスの番号 int priority; //プロセ</math.h></stdio.h>…