ページへ戻る

+ Links

 印刷 

guide​/ASKA の変更点 :: OSASK計画

osaskwiki:guide/ASKA の変更点

« Prev  
7: 2012-03-29 (木) 03:43:32 ifearxbbu(ifearxbbu)[cFmxHuDkriw] ソース 現: 2024-01-08 (月) 12:58:56 k-tan ソース
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
« Prev