7: 2012-03-29 (木) 03:43:32 ifearxbbu(ifearxbbu)[cFmxHuDkriw] [4] | 現: 2024-01-08 (月) 12:58:56 k-tan[5] [6] | ||
---|---|---|---|
Line 24: | Line 24: | ||
segment CODE(USE32, PARA); /* おまじない */ | segment CODE(USE32, PARA); /* おまじない */ | ||
default(code == CODE); /* おまじない */ | default(code == CODE); /* おまじない */ | ||
+ | |||
asmout("[FILE 'askahelo.ask']"); /* nask編参照 */ | asmout("[FILE 'askahelo.ask']"); /* nask編参照 */ | ||
asmout("GLOBAL _OsaskMain"); | asmout("GLOBAL _OsaskMain"); | ||
+ | |||
/* 最初の[SECTION .text]は省略可能なので省略 */ | /* 最初の[SECTION .text]は省略可能なので省略 */ | ||
+ | |||
void _OsaskMain() | void _OsaskMain() | ||
{ | { | ||
asmout("MOV EBX,data.func_init"); /* ASKAはラベルへのgoto以外はうまくできないので、やむなくasmout。 */ | asmout("MOV EBX,data.func_init"); /* ASKAはラベルへのgoto以外はうまくできないので、やむなくasmout。 */ | ||
CALL(0xc7, 0); | CALL(0xc7, 0); | ||
+ | |||
asmout("MOV EBX,data.func_openwin"); CALL(0xc7, 0); | asmout("MOV EBX,data.func_openwin"); CALL(0xc7, 0); | ||
asmout("MOV EBX,data.func_titlebox"); CALL(0xc7, 0); | asmout("MOV EBX,data.func_titlebox"); CALL(0xc7, 0); | ||
Line 41: | Line 41: | ||
/* 永久スリープなので帰ってこない */ | /* 永久スリープなので帰ってこない */ | ||
} | } | ||
+ | |||
asmout("[SECTION .data]"); | asmout("[SECTION .data]"); | ||
+ | |||
void data() | void data() | ||
{ | { | ||
Line 50: | Line 50: | ||
asmout("DD 0x0004, data.work, 0x0000"); | asmout("DD 0x0004, data.work, 0x0000"); | ||
/* ファンクション番号0x04(API初期化), ワークエリアのポインタ, 終了ファンクション番号0x00 */ | /* ファンクション番号0x04(API初期化), ワークエリアのポインタ, 終了ファンクション番号0x00 */ | ||
+ | |||
func_openwin: | func_openwin: | ||
asmout("DD 0x0020, data.window, 0x0200, 18 * 8, 3 * 16, 0x0000"); | asmout("DD 0x0020, data.window, 0x0200, 18 * 8, 3 * 16, 0x0000"); | ||
/* ファンクション番号0x20(ウィンドウオープン), window構造体のポインタ, スロット番号0x200, | /* ファンクション番号0x20(ウィンドウオープン), window構造体のポインタ, スロット番号0x200, | ||
xサイズ(ドット単位), yサイズ(ドット単位), 終了ファンクション番号0x00 */ | xサイズ(ドット単位), yサイズ(ドット単位), 終了ファンクション番号0x00 */ | ||
+ | |||
func_titlebox: | func_titlebox: | ||
asmout("DD 0x0028, 0x1000, data.wintitle, 0, 8, 1, 0, 0, data.window, 0x00c0, 0, 0x0000"); | asmout("DD 0x0028, 0x1000, data.wintitle, 0, 8, 1, 0, 0, data.window, 0x00c0, 0, 0x0000"); | ||
Line 62: | Line 62: | ||
表示x位置0, 表示y位置0, window構造体のポインタ, 標準キャラクタセット使用(0x00c0), | 表示x位置0, 表示y位置0, window構造体のポインタ, 標準キャラクタセット使用(0x00c0), | ||
空白キャラクタ0, 終了ファンクション番号0x00 */ | 空白キャラクタ0, 終了ファンクション番号0x00 */ | ||
+ | |||
func_settitle: | func_settitle: | ||
asmout("DD 0x0040, 0x1000, 0, 0, data.wintitle, 0, 0, 0, 8, 'askahelo', 0x0000"); | asmout("DD 0x0040, 0x1000, 0, 0, data.wintitle, 0, 0, 0, 8, 'askahelo', 0x0000"); | ||
Line 68: | Line 68: | ||
表示x位置0, 表示y位置0, textbox構造体のポインタ, 文字色0, 背景色0, キャラクタコードオフセット0, | 表示x位置0, 表示y位置0, textbox構造体のポインタ, 文字色0, 背景色0, キャラクタコードオフセット0, | ||
文字数8, 文字列"naskhelo", 終了ファンクション番号0x00 */ | 文字数8, 文字列"naskhelo", 終了ファンクション番号0x00 */ | ||
+ | |||
func_sleep: | func_sleep: | ||
DD(0x0018, 0x0001, 0, 0, 0x0000); | DD(0x0018, 0x0001, 0, 0, 0x0000); | ||
/* ファンクション番号0x0018(シグナル関係の処理), オプション1(スリープ), パラメータ0, | /* ファンクション番号0x0018(シグナル関係の処理), オプション1(スリープ), パラメータ0, | ||
パラメータ0, 終了ファンクション番号0x00 */ | パラメータ0, 終了ファンクション番号0x00 */ | ||
+ | |||
ALIGNB(16); /* align8で十分だった気がするけど、なんとなく気分で */ | ALIGNB(16); /* align8で十分だった気がするけど、なんとなく気分で */ | ||
work: | work: | ||
Line 83: | Line 83: | ||
RESB(64); /* 8文字分 (8 * 1 * 8) */ | RESB(64); /* 8文字分 (8 * 1 * 8) */ | ||
} | } | ||
+ | |||
*** どうやってアセンブルするの? [#v2c5e547] | *** どうやってアセンブルするの? [#v2c5e547] | ||
Line 151: | Line 151: | ||
-定数計算まわりのじゃじゃ馬なところが改善されて、naskレベルのラベルをthroughしてくれる機能があれば、結構おすすめできるんですけどねえ・・・。 -- [[K]] SIZE(10){2004-12-12 (日) 20:09:04} | -定数計算まわりのじゃじゃ馬なところが改善されて、naskレベルのラベルをthroughしてくれる機能があれば、結構おすすめできるんですけどねえ・・・。 -- [[K]] SIZE(10){2004-12-12 (日) 20:09:04} | ||
-tolset08にあわせて説明を修正。 -- [[K]] SIZE(10){2005-01-28 (金) 22:58:09} | -tolset08にあわせて説明を修正。 -- [[K]] SIZE(10){2005-01-28 (金) 22:58:09} | ||
- | - eHRLAf <a href="http://vkeemeshseko.com/">vkeemeshseko</a>, [url=http://octxdasuwgsx.com/]octxdasuwgsx[/url], [link=http://izntuxgfzozm.com/]izntuxgfzozm[/link], http://fiwsutgbrytr.com/ -- ''ifearxbbu'' &new{2012-03-29 (木) 03:43:31}; | + | //- eHRLAf <a href="http://vkeemeshseko.com/">vkeemeshseko</a>, [url=http://octxdasuwgsx.com/]octxdasuwgsx[/url], [link=http://izntuxgfzozm.com/]izntuxgfzozm[/link], http://fiwsutgbrytr.com/ -- ''ifearxbbu'' &new{2012-03-29 (木) 03:43:31}; |
- | #comment | + | //#comment |
(This host) = http://osask.net