![]() |
Message Log 05 | Return to Parent Menu |
Last Updated by 07/01/05(Fri) |
| |||
多種多様な話題で盛り上がってます・・・みなさん、ほんとすごいね。 |
| |||
| |||
: shigeo [98/02/20 Fri 11:24:43] [130.54.16.21] かまちくん >うちふるえるような喜びと、ともにアセンブラを始めている 初めて自分で作ったプログラムを動かすのは本当に嬉しいですよね。 例えそれが足し算をするだけでも、点を打つだけのものであっても。 おくじさんも書いていらっしゃいますが、アセンブリ言語は殆んど 一般性がないです。頻繁に呼ばれる関数を高速化したいという場合 にのみ使うのが普通では。 #OSを作りたいとかなら話は変わりますが(笑) ただ16進数の扱い方とか論理演算の考え方、あるいは線分を引く アルゴリズムといった抽象的なものを身につけられるのがとても 大事だと思います。 そうすれば他のマシンに移ってもとまどいは少ないと思います。 むしろ、そういうことをしないのならわざわざアセンブリ言語を 学ぶ意味はないと思います。 あと、私はBASICやCよりもASMの方がえらいとは全然思い ません。大抵の方は趣味でやってると思いますから、気負わないで それに互換性なんて気にしないでとことんやるのが楽しいのでは? P.S こんなページを見つけました。98ユーザーの方が羨ましい・・・ http://www.webtech.co.jp/undoc/ おくじ [98/02/18 Wed 16:11:42] [130.54.57.125] 互換性 こんちは。 かまちくんはこう書いた気がする。 > なにがかわると互換性がなくなるのでしょうか?(CPUとか?) > また、その際に必要な本などあったらおしえてください。 アセンブラには標準というものがないので、当然アセンブラが変われば 互換性がないと考えた方がよいです。ニーモニックは大体同じですがマ クロとかは結構違います。それにアーキテクチャが違えば互換性がなく なるのももちろんです。仮にCPUが同じでもメモリの特定アドレスの 使い方とか割り込みの扱いとか、いろんなところで互換性を失います。 逆に少々違うアーキテクチャでも同じコードを使えるのは、CPUの互 換性が十分でなおかつ特殊なこと(周辺機器をいじるとか)をしていな い場合です。私のお薦めとしては、できるだけ他の言語(Cとか)で書 いてどうしてもアセンブラを使いたいところでだけアセンブラを使うと いう方法です。どうせアセンブラでglobal optimizationをほどこすの はほとんど不可能ですから。 さいなら。 chaoh [98/02/18 Wed 03:24:14] [202.231.192.180] Re: JMPの続き ども、chaoh です。 > ERROR ---64:Near JMP/CALL to different CS 上記エラー以外にも何かエラーが出てきていませんか? セグメントは 1 つだけということなので code のサイズが 64k バイト に収まっていれば、jmp 命令は目的のラベルの届くはずなので、もしか したら code のサイズが(場合によってはデータ領域も含めて)64k バ イト以上になっているのではないでしょうか? メーリングリストのほうで、ソースを送ってもらえるとわかりやすいの ですが… カラヲ [98/02/18 Wed 00:08:56] [202.216.4.209] JMPの続き 実は jb n_num cmp byte ptr mode,01h としてたのを 53:Relative jump out of range と出てきてそれで条件ジャンプは+-128までだと 「はじめて読むMASM」に書いてあったことを思い出し とりあえず jb no_num jmp num no_num: jmp n_num num: cmp byte ptr mode,01h と修正したところでなっちゃったんです。 いくら考えても分かりません。 どうでしょうか? かまちくん [98/02/17 Tue 13:10:49] [203.138.59.11] いきなり、基本的なことを聞いてもよろしいでしょうか? seichanさんのおすすめの本を図書館で偶然にも発見して うちふるえるような喜びと、ともにアセンブラを 始めているのですが、聞きたいことがあるのです。 アセンブラは、互換性がまったくないと聞いているのですが pc98用で書かれている本をどのようにどの程度までつかえばいいか わかりません(内容は、まさにやりたいことなのですが) なにがかわると互換性がなくなるのでしょうか?(CPUとか?) また、その際に必要な本などあったらおしえてください。 なんだか、高度な話に水を差すようですいませんが ぜひ!ぜひ!よろしくお願いします!! shigeo [98/02/16 Mon 22:01:29] [130.54.16.24] よこはまさん >与える数値が大きくなると結果がマイナスになる 単に、符合つき整数で返り値を受けているだけでは? unsigned int で受ければ問題ないと思います。 >大きい数値を扱う時は 32ビット数値までなら、eax等の32ビットレジスタで普通に計算できます。 C言語との連係がしたいのなら、ロング整数を使った簡単なプログラムをコンパイル してそのアセンブリソースを読むのが一番だと思います。 コンパイラによって方法が違いますから。 よこはま [98/02/16 Mon 16:54:35] [202.238.96.1] アセンブラで扱う数値の範囲についての ”?” こんにちは。 C言語から呼び出す、アセンブラの関数として、ごく簡単なものなのですが2つの引数の和を求める関数を作成しています。 抜粋すると、いかのようなものです(省略して書きます)。 _ctasu proc mov ah,[bp+4] add ah,[bp+6] で、Cからは、tasu(a,b) のように呼び出しています。a,bにてきとうな値を代入し、和をもとめるだけです。 しかし、お分かりの通り、与える数値が大きくなると結果がマイナスになってしまいます。 そこで、質問なのですがCでは、longといった型の指定がありますが、アセンブラで大きい数値を扱う時は、どのような手法をとるのでしょうか? 単純な例で、はずかしいのですが、ご教授のほど、よろしくお願いします。 PS:FCBの情報ありがとうございます。やはり、経験のある方の意見は貴重です。特に”古い” 、”新しい”はなかなか気づかないので。 chaoh [98/02/16 Mon 04:01:49] [202.231.192.180] 拡張 FCB どもども、chaoh です。 某資料より、拡張 FCB では以下のようになっています。 オフセット は PSP 内でのアドレスです。 オフセット|バイト数| 内容 ----------+--------+----------------------------------- 0055H | 1 |ここの値が 0FFh なら拡張 FCB である 0056H | 5 |予約領域 005BH | 1 |ファイル属性 拡張 FCB はファイル属性のためだけに存在するといってもいいでしょ う。システムファイルやボリュームラベルをアクセスする時に使います。 ですが、やはり古い機能なので、ファイル属性取得は DOS ファンクショ ン 4300H を使用した方がいいでしょう。(ただし、これは長いファイル 名には対応していません。) chaoh [98/02/16 Mon 04:00:02] [202.231.192.180] Re: 関係各位に素朴な疑問 ども、chaoh です。 > 私は、VC++とインラインアセンブラで > プログラムしていますが。 > 皆さんはどのような開発環境で創作しているのでしょうか。 > 参考にしたいので教えてください。 > よろしく、お願いいたします。 ちなみに、自分の環境では Win でプログラミング出来ないんで、 DOS+ASM ときどき C で組んでます。 ASM で小数扱うのは面倒なんで、そういうときは C を使ってます。 いま気付いたんですが、全然参考になっていません。(笑) Win でプログラミング出来る環境の人がうらやましいです。(T-T) 下には下がいるんだなぁ、と思えばなんだかやる気が出てきません?(笑) AZUCO [98/02/15 Sun 01:41:59] [202.213.248.82] うお!CXの件はそうですね。byteだからword転送はいかんね。 ジャンプの件は、普通のジャンプは、+-128byteまでしか表現できないので、届かないというエラーが出ます。 これは条件付きのジャンプで出るので、ドモルガンの公式を用いて、ジャンプの条件を入れ替えて、絶対に届くjmpでぶっ飛ばしてあげましょう。 ちなみにこれはかなり基本テクで、tasmでは、jumpsという擬似命令でジャンプ命令の最適化を自動的に行ってくれます。 カラヲ [98/02/15 Sun 00:53:59] [202.216.4.210] JMP はじめまして アセンブラをはじめて半年も経たない初心者ですが よろしくお願いします。 MASMで良く分からない現象に悩んでまして JMP N_NUM とすると ERROR ---64:Near JMP/CALL to different CS というエラーが出てしまうんです。 N_NUMは遠い前方参照ですけどCOMファイルの つもりなのでセグメントは一つしか用意してないので そんなエラーメッセージで言われるようなことを してないと思うのですがこんなことって あるのでしょうか? だとしたら原因は何なんでしょう? severe errorですがオブジェクトファイルはできます。 実行ファイルまでして実行できたのですが 上手く動きません。 (でもたぶん上手く動かないのは私のルーチンが おかしいせいだと思いますが) さらにFAR PTRをつけるとエラーは消えるのですが 今度COMファイルにできません。 EXE2BINが嫌だって言うんです。 同じようなエラーが4個所も出てしまってるんです。 環境は98のCX(キャンビー)でDOS6.2、 MASMのバージョンは3.0です。 shigeo [98/02/14 Sat 15:55:18] [202.23.128.233] FCB FCBというのは昔のファイル管理領域の名残です。 98だからとか互換機だからという機種依存はありません。 80hからのパラメーター領域には引数が生の状態で入っているのに対し、 ここには起動時に与えた2つ(まで)の引数でファイル名に使える文字が 大文字に変換されて格納されます。 5Chからの12byteが第1FCB 6Chからの12byteが第2FCBです。 12byteの内訳は 0byte目がドライブ番号(0:カレント, 1:A, 2:B,...) 1byte目から8byteがファイル名(空白は20h) 9byte目から3byteが拡張子(空白は20h) です。 例えば、test.exe aaa.qq 56と入力すると 第1FCBにAAA_ _ _ _ _QQ, 第2FCBに56が入ります。 #debug test.exe asd 56とした後、d 5cで見ることができます。 単純な引数しか取らないコマンドでの引数処理をさぼるのに使えます。 後、AZUCOさんのコメントの中で mov cx,es:[80h] となっているところは xor cx,cx mov cl,es:[80h] とした方がいいです。 よこはま [98/02/13 Fri 18:28:06] [202.238.96.1] AZUCOさん、しつれいしました!! AZUCOさんの名前を間違えてしまいました。 ごめんなさい!! 管理者様: この書き込みは、適宜削除してください。 ん? 以前にもこの言い回しどっかで...? よこはま [98/02/13 Fri 18:23:26] [202.238.96.1] AZUKOさん、ありがとうございます。 すばやいおこたえ、ありがとうございます。 すごくはやかったので驚きです! 早速やってみます。 誤解していた部分が大分あったようで、参考になりました! とんちんかんな質問をしてしまうかもしれませんが、どんどんいきますので、またなにかありましたら、よろしくおねがいします! PS:まさか、ここで ”久里浜” という地名がでるとは思わなかった!!京急沿線ですか? 管理者様: このページにはなにかと勇気づけられます。 今後もアセンブラ・プログラムの楽しさや厳しさをぜひとも提供していってください。 がんばってください。 AZUCO [98/02/13 Fri 16:58:41] [202.244.60.1] FCBとDTAは、古いタイプのファンクションなので、使用するにはあまりおすすめできません。 DTAはPSP:80hから80h byteで、通常これはコマンドラインの文字列を渡すために使用されます。ので、やっぱりDTAを使用するようなファンクションもおすすめできません。 FCBの確保方法は、もう適当にどっかデータセグメントにとっちゃえばいいです。オフセットアドレスは、下のリストからすれば mov dx,offset fcb で参照できます。もともとが5chなのは、きめうち的に勝手に決めたものだと思いますので、あまりこの数字にこだわらなくていいと思います。 なお、コマンドラインの文字列を表示させるのであれば push es ;プログラム起動時 es=psp pop ds ;ds=psp mov cx,es:[80h] ;コマンドラインの長さ mov bx,1 ;標準出力のハンドル mov dx,81h ;コマンドラインの始まるオフセット mov ah,40h ;書き出しのファンクション int 21h ;ファンクションの実行 mov ah,4ch ;プログラムの終了 int 21h で表示できると思います。 ちなみに僕は久里浜です(なにがだよぉぉ) よこはま [98/02/13 Fri 11:58:32] [202.238.96.1] Question!! こんにちは。 アセンブラをやるぞ!ときめてから毎日のように来させてもらっています。 まだまだ、皆さんのような質問・回答をやりとりできるレベルではありませんが、よろしくお願いします。 いま、練習がてら、コマンドラインの文字列を表示させるプログラムを作っています。 さて、質問なのですが、COM形式のヘッダの部分でPSP領域のFSBおよびDTA用のバッファを確保したいのですが、FCBのオフセットアドレスの値が分かりません。 98用の参考書では 5CH となっていたのですが、DOS/V仕様でもおなじなのでしょうか? こんな感じです。 code segment code assume cs:code,ds:code,ss:code org 5ch ;← ここ! fcb db 36 dup(?) dta db 128 dup (?) start: 質問内容がいまいち意味不明かもしれません。また、とんでもなく勘違いしていたら、ぜひご指摘いただけると幸いです。 以上、よろしくお願いします。 seichan [98/02/11 Wed 22:06:09] [202.218.29.4] 古いTASMってどうやって手に入れるのだろうか? 古いTASMってどうやって手に入れるんだろう・・・。 もしかして、・・・・Ctrl+Cですか?(^^; かごや [98/02/11 Wed 21:26:33] [202.235.215.61] RE: HP200LX どうも、かごやというものです。HP100LX使ってます。 >またHPでの注意点は、CPUが186なので、古いTASMじゃないと動かないことです。(MASMは知りま >せん) 私は、HP100LXに会社で使ってたMASM 5.1を入れてますが、 きちんと動いてます。でもこれも、現行バージョンじゃないですね(^^; まあ、入ってるだけで使っていないのですが・・・ ではでは。 uv2 [98/02/11 Wed 05:25:52] [202.231.131.94] 関係各位に素朴な疑問 私は、VC++とインラインアセンブラで プログラムしていますが。 皆さんはどのような開発環境で創作しているのでしょうか。 参考にしたいので教えてください。 よろしく、お願いいたします。 AZUCO [98/02/09 Mon 12:02:53] [202.244.60.1] HP200LX 僕は、HP200LXでアセンブラをやっています。 モバイルでアセンブラをやるというのが、メインの目的であるなら、HPも非常に有効な選択肢であると思うし、また事実僕は非常に満足しています。 ただ、HP自体を使いこなすという話になると、非常にDOSに関する知識を要求されますので、通常の環境でも「やっぱDOSだぜぇ」って言うくらい使ってないと、少々苦しいと思います。 またHPでの注意点は、CPUが186なので、古いTASMじゃないと動かないことです。(MASMは知りません) Vzユーザーなら、HPを買っても良いんじゃないかと思います。 FEPはWXシリーズがおすすめです。 フラッシュカードの容量は、10MBでちょうどいい感じです。 ちなみに、カシオペアや、モバイルギアは、CPUがSH3なんで、アセンブラをするにはSH3用の(しかもクロスじゃなくて、SH3で動く)アセンブラが要ります。 基本的にWinCEのプログラム開発には、ソース互換のCライブラリで作るので(WinNT上で)SH3の上で動くSH3の開発環境はないのではないかと思います。 かまちくん [98/02/09 Mon 09:06:31] [203.138.59.17] ありがとござんした!! seichanさん、ありがとーございました!! そのうち、わかんないことがあったら また質問したいと思いますのでよろしくお願いします!! seichan [98/02/09 Mon 01:38:01] [202.218.29.4] アセンブラの値段 アセンブラの値段については過去にも 何度か話題になっているので掲示板を 見るとよろしのではないかとおもいます。 だいたいLASM、TASM、MASMも一万円〜 二万円くらいです。 モバイル関係で使えるかと言うと情報は ありませんが難しいと思います。 かまちくん [98/02/06 Fri 14:33:03] [203.138.59.13] よーーーし!!やっぞ−−−−!! 親切にありがとうございました。 何だか勇気づけられたような気がします。 今、受験中なので終わったら 徹底的にやりたいとおもいます!! あと、もう少し甘えて質問してもよろしいでしょうか? 1、アセンブラで開発して、実行するのに必要なものと その入手方法と、大体の値段をおしえてください。 2、カシオペアや、mobile gear,HP 200LX で、それをするのは可能なのでしょうか?(いま、aptiva をつかっているのですが) 本当に、あつかましいようですが、よろしくお願いします。 seichan [98/02/05 Thu 23:45:42] [202.218.29.4] TecAsm それといきなりアセンブラをやりたいって言う 気合いがすばらしい。挫折を味わう方が多い道で はあるけれど、それでもアセンブラを初めての言 語に選ぶ根性は自慢になると思います。 そう言う大胆な発想って絶対大切です。簡単な 事から教えてください、とか、基礎からやりたい とか言ってくる奴何かより、アセンブラからやり たいってそう言う人最近少ないですよ。 seichan [98/02/05 Thu 23:41:04] [202.218.29.4] TecAsm ここの創業者(企画)です。かまちんさん、ご心配なさ らずに。Asmに関しては理解できると思うし、アセンブラから 始めることには意義があります、と言うよりそれはエリートコ ースです。 なぜかというと、ソフトウェアがどの様にして動いているか とか、ソフトウェアとハードウェアのつなぎ目について理解で きるからです。こういった意味で、ベーシックやC、C++が主体 となっている時代ですが、学習用にこそアセンブラは意義があ ると思います。また、直接アセンブラで記述することが無くて も最適化などではアセンブラの知識は必須ですし・・・。 お薦めの入門書ですが、ゲームプログラムで練習するなら、 最適な本があります。現在貴重になってしまったASMのソースや テクニックがいろいろかかれているので参考になると思います。 マシン語ゲームプログラミング アスキー 青山学 日高徹 クロネコヤマトのブックサービスを利用すると良いでしょう。 03-3817-0711 PS:ここの創業者で企画者で管理者のSEICHANは素人です。そう言えば 安心いただけるでしょうか?もう一人の創業者はそうでもないんで すが・・・。 あと、何事もそうですが気長な気持ちを持ってください。アセン ブラを一年やって線を引っ張れるようになっただけでも、BASICで ゲームを作るより偉いことですから。くれぐれも自分に才能が無い なんて思わないこと、これが上達の秘訣です。 かまちん [98/02/05 Thu 11:33:30] [203.138.59.17] えっと、はじめまして! かまちくんともうします。いきなりでしつれいかと 思いますが、質問をしてもよろしいでしょうか。 1、アセンブラのコンピュータにとことんせまるところに びんびんひかれて、ぜひ、マスターとまでいかなくても ちょっとした ゲームなどを自分でつくれるように なりたいのですが、入門だったらこれという本があったら おしえてください. 2、C言語はまさにはじめたばかり、ベーシックならちょっと は自信があっるて感じなのですが、いきなりアセンブラを やっても、大丈夫でしょうか。 seichan [98/01/31 Sat 16:41:26] [202.218.29.4] HPの件 テクニカルアセンブラですが 近いうちに一時閉めます。再会 の予定はありますので心配しな いでください。 shigeo [98/01/31 Sat 11:49:58] [202.23.128.238] >pentium 以上のCPUでないとうまく使えない そうです。ついでにCylixでも駄目なようです。 その意味では今の場合は適切な手段ではありませんね。 テクニカルレファレンスにカウンターI/Oなんていう項目はないのでしょうか。 #私が使っているマシンだと100万分の1秒の精度のカウンターがあるのですが。 ところで... clock();がうまくいかないと仰るのでこういう方向になってしまいましたが、 単に負荷を測定するだけなら、1秒間に何回画面を更新したかという平均値を 計算するのもかまわないと思うのですけど、それだと荒すぎるのでしょうか。 訂正:前回の私の発言で、マイクロ秒はミリ秒の書き間違いです。 kiss-me-quick [98/01/31 Sat 02:07:07] [202.238.45.62] ありがとうございました。 クロックの取得についてですが、 例のインライン・アセンブラのプログラムでうまくいきました。 ところで、プログラム中のコメントから想像すると、 ( //rdtsc for only P5, K6, etc. っていう部分です。) pentium 以上のCPUでないとうまく使えないということなんでしょうか? shigeo [98/01/30 Fri 10:58:15] [130.54.16.30] about clock(); 『定数しか返ってこない』の意味が分からないので外しているかもしれませんが、 clock, time の分解能が1秒とか、10マイクロ秒ということはないですか? 単位は細かくても精度が荒いということがあります。 経過時間を測定するには gettimeofday という関数もあります。これではどうでしょうか。 他には、しばらく前に私がインラインアセンブラの例としてあげた getClk を使うという方法もあります。 これはマシンを起動した時から何クロック経過したかを返す関数です。 200MHzのマシンだと1クロック=5ナノ秒です。 kiss-me-quick [98/01/30 Fri 00:33:16] [202.238.45.55] 処理落ちの度合いを数値的に知りたいんですが? << 誰か教えて下さい!! >> dos/v 上で c と assembler(gccの) をつかってプログラムを組んでいます。 で、教えていただきたいことがあります。 ネットに落ちてるゲームとかで、 ときどき処理の重たさとかを、 画面のはしっこの方に表示してたりするものがありますよね。 あれってどうやるんですか? c言語的な考え方をするとしたら、 kiss-me-quick は WaitVsync() を呼び出してから、 次に WaitVsync() を呼び出すまでの時間を clock() とか time() とかで取ってやればいいと思ったんですが・・・ 毎回、定数が帰ってきてうまくいきません。 考え方がおかしいんでしょうか。 プログラム中で cli とかを使って割り込み禁止にしたりしてるのがいけないかとも思ったんですが、 関係ないようなんでわけわかんなくなってます。 どなたかご教授ください。 JDN [98/01/26 Mon 23:17:21] [137.192.241.247] どうも 前にここで「アセンブリが出来る人を募集」させて頂いた者です。 ホームページが http://desnet.hypermart.netに出来たので、 アセンブリが出来る人は、是非見に来て下さい。 通りすがり [98/01/23 Fri 23:12:57] [202.211.153.143] Re:MMX はじめまして。 gcc/g++のMMX最適化フィルタなら ftp://sunsite.unc.edu/pub/Linux/devel/lang/assemblers/optimizer-0.0.9d.tar.tgz がありますが。 私は使ったことはないですが :-< ??? [98/01/23 Fri 13:46:18] [202.226.1.5] Opcode of cpus http://www.komkon.org/fms/comp/ えどわーど [98/01/22 Thu 22:22:52] [202.247.160.209] MMX対応コンパイラ はじめまして。 2月号のCマガに特集パワーアップMMX(高速処理の実装テクニック) という記事がありました。市販のものですが(^^; Watcom C/C++11.0J ((株)ソフトボード)が紹介されていました。インラインアセンブラ で記述する方法と#pragmaを使って定義する方法があるようです。(p30, p31) shigeo [98/01/22 Thu 17:57:59] [130.54.16.30] sorry ↓う、綴りを間違えました。 sが抜けてます。 shigeo [98/01/22 Thu 13:36:32] [130.54.16.47] MMX asembler MMX命令を16進数に変換するプログラムを以下の所に置いてあります。 汚いソースも公開してますので、好きなように改造してみて下さい。 http://www.kurims.kyoto-u.ac.jp/~shigeo/soft/mmx.lzh AZUCO [98/01/22 Thu 09:04:17] [202.244.60.1] MMX supported http://www-ug.eecg.toronto.edu/~sokorac/Doper/Compilers.html ここにそれなりに載っていますが、フリーではMMX対応はまだないようです。たぶんGNUのコンパイラが一番早いと思いますが。 どうでもいいですけど、検索で結構見つかりますけど(^_^;) 一応調べられてからの方がいいと思いますが(質問は)え?調べたって?こりゃ失礼しました(^_^;) SUZUKI [98/01/22 Thu 01:47:21] [210.132.8.5] はじめまして はじめまして SUZUKIと申します。 趣味でWindowsプログラムを作っています。 突然ですが、MMXに対応したコンパイラを探しているので、 詳しいことを知っている方は教えてください。お願いします。 月ふたつ [98/01/19 Mon 15:41:16] [158.217.6.9] すいません間違えました すいません。AZUCOさんをAZUKOさんとしてしまいました。ごめんなさい。 ありがとうございました [98/01/19 Mon 14:35:11] [158.217.6.9] 月ふたつです。 先日、質問した件に対して脅威のスピードで対応して くださったAZUKOさんとchaohさんには敬服します。 ソースのほうはとても参考になりました。ありがとうご ざいました。m(_ _)m 管理者様へ この掲示はいらなくなったらポイしちゃってくだせぇ AZUCO [98/01/19 Mon 08:45:47] [202.244.60.1] lost .... うーんとねー、僕のはCのスタートアップルーチンを逆アセンブルしたのだから、きれいなソースじゃないんですよね。 それで、ちゃおうさんが書き込んだって見た時点で、僕のはまだきれいなソースになってなかったから、もういいやって消しちゃった(^_^;) 貧乏性だからすぐいらないファイルは消しちゃうんですよねぇ(^_^;) そういうわけでないです(^_^;)すまんす。 chaoh [98/01/17 Sat 00:01:37] [202.231.192.180] DOS の実行パス取得について ども、chaoh です。 ソースの方、登録しておきました。参考にしてください。 ■ AZUCO さんへ ソースが複数あれば、 それだけ、より多く参考になると思います。 AZUCO さんのソースもぜひ公開してほしいです。 なにより私自身、非常に興味があります。(^^) kiss-me-quick [98/01/16 Fri 18:37:24] [202.238.45.59] MWAVE えーと、ちょっと場違いな質問かもしれませんが、ご容赦下さい。 kiss-me-quick は、現在 IBM APTIVA H-55 っていうマシンの DOS上で、 gcc (version 2.7.2.1) を使ってプログラムを組んでいます。 で、問題なのは、このマシンに載ってる MWAVE ってやつです。 そのへんにころがってる sound blaster 用のライブラリが使えないんです。 どなたか MWAVE に対応したフリーのライブラリをご存知ないでしょうか? 解決策をご存知でしたらお教え下さい。 from kiss-me-quick AZUCO [98/01/16 Fri 08:44:02] [202.244.60.1] who am I あー、先にやられちゃいましたね。(ちょっとくやしい) さすが茶王さん。僕もソース準備していたんだけど(^_^;) 管理者 [98/01/15 Thu 23:11:12] [202.218.29.81] chaohさんにご指摘いただいたsource掲示板への 書き込みが出来なかった件ですが、書き込みが可能 になりました。 ご迷惑をおかけしました。 chaoh [98/01/15 Thu 04:28:51] [202.231.192.180] SOURCE 掲示板の登録について ども、ふたたび chaoh です。 現在 SOURCE 掲示板へ登録が出来ない状況らしいので、出来る ようになりしだい、登録します。今しばらくお待ちください。 chaoh [98/01/15 Thu 03:49:37] [202.231.192.180] DOS の実行パス取得について ども、chaoh です。 しばらくここ来るの、忘れてました。(^^; DOS の実行パス取得についてですが、 これは確か DOS のバージョン 3.10 以上で取得できます。 存在する場所は、環境変数ブロックの最後 の方です。 実行コマンドだけを取得する場合は、パス名から分離させる必要があり ます。 サンプルのソースを SOURCE 掲示板の方に乗っけときました。 参考にして下さい。わからない事があれば、遠慮なく聞いて下さい。 それでは。 AZUCO [98/01/14 Wed 17:14:37] [202.244.60.1] who am I? いろいろ調べたのですが、どうもDOSのバージョン3から実装された機能によって、コマンドを取得できるようです。 おそらく、メモリチェーンブロックから取得できるのだと思いますが(オーナー名はしかしDOS5あたりからしか設定してないはず)未だに詳細は不明です。もう少し調べてみます。 AZUCO [98/01/14 Wed 16:40:14] [202.244.60.1] Who am I ? Cにはコマンドライン参照文字列の最初に、なんと自分自身のコマンドの位置が書いてあります。僕も以前から不思議に思っていたので調べてみました。 まず、簡単なCのプログラムを作成し、それを逆アセンブルしてみました。使用されている割り込みはベクタの設定関係、デヴァイスの操作関係、メモリの割り当て関係、でした。結局、ダイレクトに自分自身の位置を知る方法はDOSでは用意されていません。 ちょっと、もうすこし追ってみます。 月ふたつ [98/01/14 Wed 12:39:09] [158.217.6.9] はじめまして。月ふたつと申します。 現在PC-9821Xa7&TASM5.0でアセンブラを 勉強しているのですが、マニュアルを漁って もまだわからないことがありましたので、 こうして書き込ませていただきました。さて、 そのわからないこととは、コマンドを実行した ときにそのコマンド自身の名前はどこに保存 されているのでしょうか?または保存されな いのでしょうか?リネームしても自身の名前 を参照できるような方法があれば、誰か教え てください。お願いします。 Wisteria [98/01/11 Sun 17:57:03] [192.244.216.71] はじめまして、私はMASMの初心者です。いきなりで申し訳ありま せんが、MASMプロシージャでの、Quick-BASICの引数の受け取り方 (できれば、整数型と文字列型両方について)と戻り値の返し方に ついて教えてください。できればプログラム例もお願いします。 seichan [98/01/09 Fri 20:37:57] [202.218.29.66] アセンブラチャット アセンブラチャットではすれ違いが 多いようなので、前もって掲示板、チ ャットにおいて、時間を予告しておく とよいと思います。 なお、僕は毎日夜11時頃チャット を一度チェックに行きます。 アセンブラチャットにいないときは http://www.e-net.or.jp/user/seichan/sei/main.html のチャットにいますので宜しくお願いします。 seichan [98/01/09 Fri 02:35:29] [202.218.29.71] TASM注文方法 TASMの注文方法が解りました。 ビルダーなどを買った場合は注文用紙が 付いてきません。 しかし、ユーザ登録してIDを取得し、 ボーランドにTASMを購入したい、使って いるソフトはビルダーですとメールを送 ったところ、注文用紙を送ってくれまし た。 chaoh [98/01/06 Tue 04:32:14] [202.231.192.180] uv2 さんへ ども, chaoh です. BCB は Borland C++ Builder のことではないかと思います. それにしても, VC++ や BCB などのビジュアルな開発環境でアセ ンブラが使えるとは思ってもみなかったです. (@_@) やはり, 最新情報には疎い chaoh でした. m(__)m : |
e-mail: mist@e-net.or.jp | Structured Anchor Tree Return to Menu Return to Parent Menu |
Powered by Unit Missing Link. |