page0037
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* OSECPU-ASKA入門 #0001
-(by [[K]], 2013.06.06)
** (0) はじめに
-以下の記事はver.0.46のWindows版を前提にしています。他の...
--たとえば osecpu046a.zip とかのことです
~
-もくじ
--[[page0036]]: #0000
--[[page0037]]: #0001
** (1) drawPointとfillOvalとdrawLine(ついでにmodeについ...
-junkApi_drawPoint(mode, x, y, color); :
--画面に点を打ちます。xとyは座標です。colorは色です。mode...
--点の大きさを指定するパラメータはありません。大きな点を...
-junkApi_fillOval(mode, xsiz, ysiz, x0, y0, color); :
--画面に円もしくは楕円(だえん)を描きます。このパラメー...
--ということで、 x0, y0 は円の中心ではなく、円の端(はし...
-junkApi_drawLine(mode, x0, y0, x1, y1, color); :
--画面に線を引きます。 x0, y0 が始点で、 x1, y1 が終点で...
--線の太さなどを指定するパラメータはありません。太い線が...
-modeについて:
--グラフィックス系命令の最初にいつも付いてくるmodeパラメ...
--0: PSET描画モード: もとの画素の色が何色であるかに関係な...
--1: OR描画モード: たとえば赤の上に緑で描画すると、黄色に...
--2: XOR描画モード
--3: AND描画モード
--4: 色指定方法を8色モードに
--16: 画面外への描画をエラーにしないで無視させる(ver.0.4...
** (2) とりあえずここまでで
-とりあえずここまでで、日本の国旗を描いたこのプログラムに...
junkApi_fillRect(4, 640, 480, 0, 0, 7);
junkApi_fillOval(4, 300, 300, 320-150, 240-150, 1);
-ちなみに引き算しているのは、円の中心を(320,240)にしたく...
-ここまでの説明だけで、この絵の色を変えることも中心の丸の...
-さらには円を何個も重ねてダーツの的(まと)みたいな絵も描...
-点も描けますし線も引けます。
-分からないのは変数の使い方だけです。
~
-どのプログラムに共通している最初の行の #include "osecpu_...
** (3) 整数型変数
-C言語やそのほかの言語では整数型にたくさんの種類がありま...
-OSECPUでは原則として変数をメモリに割り当てることはしませ...
-以下のような構文で変数を宣言することができます。
int32s i:R00;
-これはiという変数を宣言しており、R00というレジスタに割り...
-変数名は大文字小文字を区別しますので、iとIを使い分けるこ...
-レジスタ名はR00~R3Fまでが有効ですが(後ろの2桁は16進数...
--でもx86のアセンブラの32bitモードとかだと8個しかなかった...
--はい、そこの人、少ないとか嘆いていてはいけませんよ。[[p...
--もちろんもっとたくさん使う方法はちゃんとありますが、い...
-レジスタ名は必ず大文字でお願いします。r00では未定義の変...
-変数宣言ですが、コンマで区切って一文で複数を宣言すること...
int32s i:R00, j:R01, xyz:R02;
-なお、同じレジスタを割り当ててしまうというひどい(?)こ...
int32s i:R00, j:R00, k:R00;
-この場合、iに代入したらjやkの値も変わってしまうことにな...
~
-変数には整数を代入することができます。簡単な計算もできま...
i = 10;
i = j + k;
i *= -1;
-基本的にC言語でかかれるような演算式はたいてい受け付けま...
-関数の値を代入する、ということは現状ではできません。
i = junkApi_openWin(...); // こういうことはできない.
--(将来的にはできるようにしたいと思っていて構文も設計し...
-なお変数を使わずにいきなりレジスタ名を書いてしまうことも...
R04++;
R03 = i + 1;
-まあなんというか、いろいろやっていると、あれ?これがうま...
--なお報告の際は、長いプログラムを見せられても困ってしま...
~
-そうやって変数に狙った値が入れられるようになったら、それ...
junkApi_drawPoint(0, x, y, c);
-ええとここで注意なのですが、APIの呼び出しの際に変数を使...
junkApi_drawPoint(0, x - 1, y, c); // こういうのはつらい.
-なんかもしかしたら数式入れても平気だったりするかもしれま...
** つづく
-[[page0038]]につづく
* こめんと欄
#comment
終了行:
* OSECPU-ASKA入門 #0001
-(by [[K]], 2013.06.06)
** (0) はじめに
-以下の記事はver.0.46のWindows版を前提にしています。他の...
--たとえば osecpu046a.zip とかのことです
~
-もくじ
--[[page0036]]: #0000
--[[page0037]]: #0001
** (1) drawPointとfillOvalとdrawLine(ついでにmodeについ...
-junkApi_drawPoint(mode, x, y, color); :
--画面に点を打ちます。xとyは座標です。colorは色です。mode...
--点の大きさを指定するパラメータはありません。大きな点を...
-junkApi_fillOval(mode, xsiz, ysiz, x0, y0, color); :
--画面に円もしくは楕円(だえん)を描きます。このパラメー...
--ということで、 x0, y0 は円の中心ではなく、円の端(はし...
-junkApi_drawLine(mode, x0, y0, x1, y1, color); :
--画面に線を引きます。 x0, y0 が始点で、 x1, y1 が終点で...
--線の太さなどを指定するパラメータはありません。太い線が...
-modeについて:
--グラフィックス系命令の最初にいつも付いてくるmodeパラメ...
--0: PSET描画モード: もとの画素の色が何色であるかに関係な...
--1: OR描画モード: たとえば赤の上に緑で描画すると、黄色に...
--2: XOR描画モード
--3: AND描画モード
--4: 色指定方法を8色モードに
--16: 画面外への描画をエラーにしないで無視させる(ver.0.4...
** (2) とりあえずここまでで
-とりあえずここまでで、日本の国旗を描いたこのプログラムに...
junkApi_fillRect(4, 640, 480, 0, 0, 7);
junkApi_fillOval(4, 300, 300, 320-150, 240-150, 1);
-ちなみに引き算しているのは、円の中心を(320,240)にしたく...
-ここまでの説明だけで、この絵の色を変えることも中心の丸の...
-さらには円を何個も重ねてダーツの的(まと)みたいな絵も描...
-点も描けますし線も引けます。
-分からないのは変数の使い方だけです。
~
-どのプログラムに共通している最初の行の #include "osecpu_...
** (3) 整数型変数
-C言語やそのほかの言語では整数型にたくさんの種類がありま...
-OSECPUでは原則として変数をメモリに割り当てることはしませ...
-以下のような構文で変数を宣言することができます。
int32s i:R00;
-これはiという変数を宣言しており、R00というレジスタに割り...
-変数名は大文字小文字を区別しますので、iとIを使い分けるこ...
-レジスタ名はR00~R3Fまでが有効ですが(後ろの2桁は16進数...
--でもx86のアセンブラの32bitモードとかだと8個しかなかった...
--はい、そこの人、少ないとか嘆いていてはいけませんよ。[[p...
--もちろんもっとたくさん使う方法はちゃんとありますが、い...
-レジスタ名は必ず大文字でお願いします。r00では未定義の変...
-変数宣言ですが、コンマで区切って一文で複数を宣言すること...
int32s i:R00, j:R01, xyz:R02;
-なお、同じレジスタを割り当ててしまうというひどい(?)こ...
int32s i:R00, j:R00, k:R00;
-この場合、iに代入したらjやkの値も変わってしまうことにな...
~
-変数には整数を代入することができます。簡単な計算もできま...
i = 10;
i = j + k;
i *= -1;
-基本的にC言語でかかれるような演算式はたいてい受け付けま...
-関数の値を代入する、ということは現状ではできません。
i = junkApi_openWin(...); // こういうことはできない.
--(将来的にはできるようにしたいと思っていて構文も設計し...
-なお変数を使わずにいきなりレジスタ名を書いてしまうことも...
R04++;
R03 = i + 1;
-まあなんというか、いろいろやっていると、あれ?これがうま...
--なお報告の際は、長いプログラムを見せられても困ってしま...
~
-そうやって変数に狙った値が入れられるようになったら、それ...
junkApi_drawPoint(0, x, y, c);
-ええとここで注意なのですが、APIの呼び出しの際に変数を使...
junkApi_drawPoint(0, x - 1, y, c); // こういうのはつらい.
-なんかもしかしたら数式入れても平気だったりするかもしれま...
** つづく
-[[page0038]]につづく
* こめんと欄
#comment
ページ名: