[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 08:39 / Filesize : 220 KB / Number-of Response : 953
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DOSでプログラミング



1 名前:デフォルトの名無しさん [03/03/07 10:45]
ハードウェアを直接叩くのはやっぱり楽しい!

DOSにおける開発について語りましょう。


232 名前:デフォルトの名無しさん mailto:sage [04/08/01 23:10]
最近はハードウェアよりもソフトウェアに対してムカつくことが多いです。
ソフトウェアを直接叩く方法を教えてください。

233 名前:デフォルトの名無しさん mailto:sage [04/08/01 23:40]
>>232
右斜め45度から勢いよくやれ。

234 名前:デフォルトの名無しさん [04/08/02 00:42]
>>233
本当だな?

235 名前:sage [04/08/02 01:31]
諸先輩方に質問があります。
大変、厨房な質問ではありますがどうかよろしくお願いいたします。

(1).EXEファイルの先頭512バイトのリロケーション情報領域の事ですが、先頭1バイト目の『ファイル識別子』の種類と意味を知りたいのですがどなたかご存知でしょうか?
(2).EXE/.COMファイルのリロケーション領域について詳しく紹介されているHPがあれば教えていただきたいのですが。

現在、勉強中なのですが参考文献も減ってきており四苦八苦しております。
どうか宜しくお願い致します。

236 名前:235 mailto:sage [04/08/02 02:20]
>(2).EXE/.COMファイルのリロケーション領域について詳しく紹介されているHPがあれば教えていただきたいのですが。
(2).EXEのリロケーション領域と.COMのPSP領域について詳しく紹介されているHPがあれば教えていただきたいのですが。
の間違いでした。スミマセン。


237 名前:デフォルトの名無しさん mailto:sage [04/08/02 11:01]
MSDOS拡張機能セットを買え

238 名前:デフォルトの名無しさん mailto:sage [04/08/03 00:10]
昔はプログラミングの資料がOSに付いてたんだったな
つーかマジな話拡張機能セットってまだ買えるの?

239 名前:デフォルトの名無しさん mailto:sage [04/08/04 13:17]
MSDNに載ってないか?

240 名前:デフォルトの名無しさん mailto:sage [04/08/04 22:05]
ここにある資料ではどうよ?
漏れは「リロケーション領域」の意味がわからんので自分で調べてくれ。

ttp://www.wotsit.org/



241 名前:デフォルトの名無しさん mailto:sage [04/08/05 11:17]
>>235
DOS PSP」でググッたら、PSPの説明ありますた。
超カメレスで、スマソ

ttp://www5c.biglobe.ne.jp/~ecb/assembler2/7_5.html

242 名前:235 mailto:sage [04/08/06 00:33]
皆さんレス有難う御座います。

>MSDOS拡張機能セット
・・・資金が不足している為、購入不可です。

>MSDN
そういえば、載っているかも知れませんね。
調査不足でした。

>>240さんから紹介して頂いたページは最高にいいですね。
ピンポイントで知りたい情報が載ってました。
その他にも色々なファイル情報があり素晴らしいページですね。
お気に入りに登録しときました。
本当に有難う御座いました。

もうちょっと精進しときます。

243 名前:デフォルトの名無しさん mailto:sage [04/08/06 07:32]
>>235
DOS5Aのマニュアルp295,296
「EXEファイルの構造と・・・」

uploda.net/cgi/uploader2/index.php
ここに飛んでupload25235.jpgをクリックしてちょ

244 名前:デフォルトの名無しさん mailto:sage [04/08/07 01:39]
>>233
せっかくカラー化できると思ったのに白黒に逆戻りになってしまうではないですか?

245 名前:デフォルトの名無しさん mailto:sage [04/09/07 23:04]
VGAの同期信号を一時的に停止させるgenericな方法ってありませんか?

246 名前:デフォルトの名無しさん mailto:sage [04/09/08 21:31]
VGA コントロールレジスタ」でググッたら、こんなのがありますた。
         ↓
community.osdev.info/index.php?VGA

0x03c3:VGA動作許可レジスタ(8bit、W)
bit0:VGA動作許可(1:動作許可)
bit1-7:リザーブ
このレジスタいじったら、どうなるんだろ?

247 名前:デフォルトの名無しさん [04/09/21 22:28:05]
PCIバスボードの割り込み関係の話なんですけど、
割り込みを使用するボードを1枚挿してBIOS上で
単一のIRQ(例えば5)のみを使用するように設定して
そのベクタを書き換えた場合の割り込み処理は問題ないのですが、
複数のIRQ(例えば5と12)を使用するように設定した場合に
ベクタを書き換えた後、割り込みが発生すると
スタックオーバーフローが出て暴走してしまいます。
勿論IRQを複数使用できる設定にしていても実際使用している
IRQは1つですし、実行ファイルも同じものです。
割り込み処理の記述等で何か注意する必要があったりしますか?


248 名前:デフォルトの名無しさん mailto:sage [04/09/21 22:46:52]
>>247
「スタックオーバーフローが出て暴走してしまいます。」

スタックポインタのチェックコードが有効のままになっていて、
割り込みルーチンであぼんしているわけじゃなくて、本当にスタックを
食いつぶしているってことですか?


249 名前:デフォルトの名無しさん mailto:sage [04/09/21 22:53:56]
interrupts?で追い確認?

250 名前:デフォルトの名無しさん mailto:sage [04/09/22 06:15:23]
>>248
割り込みを発生させた途端、

Internal Stack Overflow
System Halted

のようなメッセージが画面に表示されて
止まってしまうような状況です・・・。
このメッセージ自身DOSで出してるので
恐らく実際スタックを潰しちゃってると
思うんですが・・・。



251 名前:デフォルトの名無しさん mailto:sage [04/09/22 10:56:42]
>>250
割り込みの発生ペースは上がってますか?
config.sys で STACKS=64,512 とか指定してみるとどうでしょう。

252 名前:デフォルトの名無しさん mailto:sage [04/09/22 20:42:14]
>>251
割り込みトリガそのものは外部のスイッチから与えてるので
発生している割り込みは1回だけだと思います、多分。
スイッチのチャタリングが発生してる可能性もあるかも知れませんが、
上手くいくパターンでは1回の割り込みしか発生していませんでした。
しかし駄目なパターンの場合はその1回目で例のメッセージが
出てしまうんですよね・・・・。
config.sysの変更については今その環境が無いので
試せませんが明後日に試してみようかと思います。

253 名前:デフォルトの名無しさん mailto:sage [04/09/24 21:28:58]
ん〜駄目でした・・・・orz
でもどうやら駄目なケースの場合は何故かベクタの書き換えが
上手くいっていないようです。
今日も色々試したんですがサッパリ・・・・もうどうすれば(ノД`)

254 名前:デフォルトの名無しさん [04/09/25 19:06:54]
すみません。MS-DOS 6 の Files/FCBS/Buffers/Lastdrive/stacks を
UMBやHMAに持ち上げるプログラムありませんか?
PC-98 用なら何とかありますが、DOS/V用がありません。
無ければ作ろうと思いますので、資料でも可。

255 名前:デフォルトの名無しさん mailto:sage [04/09/25 19:41:59]
DOSでプログラミングと言えば、ボーランドが昔のDOS用の製品を
まとめて売り出しているが、買う香具師いるのか?
ttp://www.borland.co.jp/bcsuite/

256 名前:デフォルトの名無しさん mailto:sage [04/09/25 22:00:10]
いません。
どうせあと二年もすれば無料になるよ。

257 名前:デフォルトの名無しさん mailto:sage [04/10/04 17:23:32]
Windowsが普及しきってからPCを使い始めましたが
なぜかDOSに惹かれるので、DOSコマンドも覚えました。

今からDOSプログラミングを始めようと思ったら
どういった手段で資料を集めればいいでしょうか?
大きい本屋になら未だに並んでるのか、Web上で足りるのか、諦めるしかないのか・・・

258 名前:デフォルトの名無しさん mailto:sage [04/10/04 18:13:52]
どんなことをなさりたいのか分かりませんが、DOSのシステムコールの説明
なら、DOSの拡張セット(NECのDOSの場合)にマニュアルが添付されて
ました。が、今でも販売されているかどうか? オークションに出るかもしれ
ませんね。BIOSサービスとかハードウェア関係は、CQ出版社が昔、解説本を
多数出してましたが、今でも在庫があるかどうか?


259 名前:デフォルトの名無しさん mailto:sage [04/10/04 18:35:31]
コマンドがどうとかっていうことが興味の方向なら、
Cygwin でも入れて perl とか awk その他を覚えてゆくのが良いような気がする。


260 名前:デフォルトの名無しさん mailto:sage [04/10/04 18:41:22]
>>254
PACK for WIN GOLD 98後期版」なるCDブックにENVHI.EXEという
フリーソフトが収録されていて、これが「一番親のcommand.comの
環境変数をUMBに追いやって、ほんの少しだけ空きメモリを広くできる
かも知れません。」なのだそう。こういうのを差しているのかな?
激しくカメレスで、スマソ




261 名前:デフォルトの名無しさん mailto:sage [04/10/04 21:39:45]
>>254
MSDOS7なら全部〜Highがあるんだけどそれじゃだめだよな。

262 名前:デフォルトの名無しさん mailto:sage [04/10/06 13:21:53]
>257です。
コマンドラインで作業をしたいという訳ではなく、>258の仰るようなことに興味があります。

資料はオクで探すしかないようですね。ありがとうございました

263 名前:デフォルトの名無しさん mailto:sage [04/10/06 23:09:24]
>>262
www5c.biglobe.ne.jp/~ecb/assembler2/assembler10.html

264 名前:デフォルトの名無しさん [04/10/06 23:26:34]
すみません。

C言語 dos で
msecの時間を表示したいのですが、
どのようにすればよいでしょうか?

よろしくお願いします。
よろしければプログラム貼り付けてください。


265 名前:デフォルトの名無しさん [04/10/11 18:11:12]
hoge

266 名前:デフォルトの名無しさん mailto:sage [04/10/11 20:17:02]
>>263
アセンブラのコンパイラってなんだ???

267 名前:デフォルトの名無しさん mailto:sage [04/10/11 20:42:12]
>>264
環境依存です。

268 名前:デフォルトの名無しさん mailto:sage [04/10/12 07:43:54]
>>264
読解力不足のせいで意味がわかりかねるのですが、もしmsecがミリセコンドの略で
あり、また、何等かの現象をパソコン内臓のタイマを利用してミリセコンド単位で
計測、表示したいというのが>>264氏の希望であるのならば、これが役に立つかも?
ただし、NECの9801の場合で、しかもアセンブリ言語です。  ↓
     速水さん、許してちょ              ↓
              ttp://ludwig.kir.jp/ok/src/1097534047798.jpg
              ttp://ludwig.kir.jp/ok/src/1097534142576.jpg     ↓
              ttp://ludwig.kir.jp/ok/src/1097534225064.jpg

所謂DOS/V機の場合、最近のマザーボートはWIN2000以降のOSを前提に
設計されているようなので、タイマIC8253完全互換の機能をサポートしてる
のどうかとかアドレスがオリジナルPC/AT機と同じかどうかは?ですね。

269 名前:デフォルトの名無しさん mailto:sage [04/10/12 16:27:43]
DOSでtimeGetTime()見たいのってないの?


270 名前:デフォルトの名無しさん mailto:sage [04/10/12 23:40:56]
ない。
DOS時代はタイマICに直接アクセスするとか、
VSYNC割り込みトラップして自分でカウントするとかでなんとかしてた。



271 名前:デフォルトの名無しさん mailto:sage [04/10/12 23:53:23]
ttp://www.vector.co.jp/soft/dos/personal/se004253.html


272 名前:デフォルトの名無しさん mailto:sage [04/10/13 09:17:08]
そうか、タイマはFM再生とか効果音に使いそうだからやっぱりVSYNCなのかな
ありがとう

273 名前:デフォルトの名無しさん [04/10/13 15:20:56]
>>268 の貼ってくれたスキャンみてて思ったんですけど
outのあと何クロックはoutの結果に依存した処理をしちゃいけない
とかを解説したとこってないですか?

274 名前:デフォルトの名無しさん [04/10/13 16:43:53]
ttp://anabuki.ec.u-tokai.ac.jp/class/kouza/kakitoku/kaki.htm


275 名前:デフォルトの名無しさん mailto:sage [04/10/13 20:11:09]
>>264
いろいろ書いてあります↓
ttp://www.webtech.co.jp/undoc/io_cal.txt
> o カレンダ時計割り込み搭載機種では、MS-DOS環境でHRTIMER.SYSというデバ
>イスドライバを組み込むことでDOSファンクションで1/100秒単位の時刻を
>取得することが可能である。

ttp://www.webtech.co.jp/undoc/io_tcu.txt


276 名前:デフォルトの名無しさん mailto:sage [04/10/20 18:47:58]
DOS

277 名前:デフォルトの名無しさん mailto:sag [04/10/26 18:57:56]
上げてみるクスコ

278 名前:デフォルトの名無しさん mailto:sage [04/10/26 19:06:53]
32Bitコンパイラで「int 10h」
のシステムコールを使うとバグるんですが
32bitコンパイラでDOSのビデオモードの
変更とかどうやってやるんですか?
教えてください、お願いします。

279 名前:デフォルトの名無しさん mailto:sage [04/10/26 19:16:45]
環境ぐらい書け

280 名前:デフォルトの名無しさん mailto:sage [04/10/26 20:31:00]
一般的なことしか書けませんが、プロテクトモードではIDTを記述して
やらないと割り込みが使えないはずですが、この点はいかがでしょうか。
32bitコンパイラに関してはド素人なもので、こんなことしか書けません。
失礼しました。



281 名前:デフォルトの名無しさん mailto:sage [04/10/26 22:15:04]
ただ単にWindowsの32ビットプログラムでやろうとしているだけだったりして。

282 名前:デフォルトの名無しさん mailto:sage [04/10/26 22:19:01]
想像で語るのはやめようや

283 名前:デフォルトの名無しさん mailto:sage [04/10/26 22:32:55]
だったら環境かけよボケが

284 名前:デフォルトの名無しさん [04/10/28 07:09:47]
>>281
けっきょくこれか?クズが!

285 名前:デフォルトの名無しさん mailto:sage [04/10/28 07:19:05]
>>278
リアルモードにおりてから実行妹汁

286 名前:278 mailto:sage [04/10/29 18:09:42]
>>280,285
有難うございました、やってみます


環境はBorland C++5.5でMEです。
其の他の人もどうもすみませんでした。

287 名前:デフォルトの名無しさん mailto:sage [04/10/29 22:25:06]
281の言う通りでしたとさ。

288 名前:デフォルトの名無しさん mailto:sage [04/10/30 00:46:03]
DOS窓という通称の弊害がこんなところに

289 名前:デフォルトの名無しさん mailto:sage [04/10/31 07:42:50]
DOSエクステンダーってどうやって使うの?
教えてエロい人(;つД`)

290 名前:デフォルトの名無しさん [04/10/31 14:15:37]
マヌアルを小便ちびるまで嫁



291 名前:デフォルトの名無しさん mailto:sage [04/10/31 20:29:10]
manual自体入手しづらくないか?

292 名前:デフォルトの名無しさん mailto:sage [04/11/01 17:07:21]
言い訳はトイレに行って一人でして下さい

293 名前:デフォルトの名無しさん mailto:sage [04/11/02 15:19:28]
まにゅあるなんてもうねぇだろ

294 名前:デフォルトの名無しさん mailto:sage [04/11/02 21:03:46]
マニュアル付きDOSエクステンダ (EXE386)
ttp://www.vector.co.jp/soft/maker/kmc/se002624.html

処理系も欲しいなら

Digital Mars C++ (X32) (コンパイラはWin32アプリ)
ttp://www.digitalmars.com/

Open Watcom (DOS/4GW) (こっちはDOS上でもコンパイルできる)
ttp://www.openwatcom.org/index.html

295 名前:デフォルトの名無しさん mailto:sage [04/11/06 14:35:47]
Digital MarsとOpen Watcomって
とっちが使いやすい?

296 名前:デフォルトの名無しさん mailto:sae [04/11/08 20:43:59]
正直俺も仮想8086モードでINT関係が使えん何故だ・・・・

297 名前:デフォルトの名無しさん mailto:sage [04/11/09 16:33:34]
Open Watcomって商用では使わない方が良いって聞くけど何で?


298 名前:デフォルトの名無しさん mailto:sage [04/11/09 16:45:12]
>>297
何故そう言った奴に聞かない?

299 名前:デフォルトの名無しさん mailto:sage [04/11/10 18:40:55]
噂とかで流れてんじゃねーの( ´ー`)フゥー...

300 名前:デフォルトの名無しさん mailto:sage [04/11/14 16:49:57]
>>297
商用で使ってはいけないとライセンスに書かれているからです。



301 名前:デフォルトの名無しさん mailto:sage [04/11/14 23:04:29]
マジッスカ???

302 名前:デフォルトの名無しさん mailto:sage [04/11/15 09:30:55]
マジッスヨ???

303 名前:デフォルトの名無しさん mailto:sage [04/11/16 16:59:11]
DOS画面で、入力内容とかメッセージとかをファイルに出力するコマンドがあったら
教えて下さい。

304 名前:デフォルトの名無しさん mailto:sage [04/11/16 17:10:11]
>>303
質問があいまいだな
COPY CON filename や ECHO 、リダイレクトなど。

305 名前:デフォルトの名無しさん mailto:sage [04/11/16 17:29:14]
>>303さん
レスありがとうございます。
DOS画面の表示内容をそのままファイルに出力したいのです。
長いバッチで古い上の方が消えてしまうもので、
それを全て記録したいのです。
初心者なのでいまいちうまく説明できなくてすみません。

306 名前:デフォルトの名無しさん mailto:sage [04/11/16 17:36:50]
>>304さんありがとうございました。
リダイレクトでできました。
即レスありがとうございます。

307 名前:デフォルトの名無しさん [04/11/22 16:29:27]


308 名前:デフォルトの名無しさん mailto:sage [04/11/24 15:25:49]
[Windows]初心者〜管理者まで必読!コマンドライン(DOS Pt.3)
pc5.2ch.net/test/read.cgi/win/1062775949/

309 名前:デフォルトの名無しさん [04/12/07 23:03:00]
アスキー出版局の、PC−9801スーパーテクニックっつー本
誰かいらんけ?


310 名前:デフォルトの名無しさん mailto:sage [04/12/07 23:16:35]
>>309
図書委員の権限発動して高校の図書館に入れさせてコピーした記憶のある懐かしい代物だなw



311 名前:デフォルトの名無しさん mailto:sage [04/12/09 23:03:50]
あなたを詐欺罪で訴えます。


312 名前:デフォルトの名無しさん mailto:sage [04/12/10 13:39:44]
>>2 >>109
今更だが、パッチってこれだな。
groups.google.com/groups?hl=ja&lr=&c2coff=1&selm=37E0FA53.FF84E994%40anet.ne.jp

313 名前:デフォルトの名無しさん mailto:sage [04/12/10 15:10:04]
>>312
まぁあれだ、MSに対向するためのみの意義しかないグラフィック機能を除けば今でもそれなりだろうね。
少なくともLSI-Cを使うよりも16倍いい。
#あれはあれで、悪くはないのだが。

314 名前:デフォルトの名無しさん mailto:sage [04/12/10 15:32:19]
LSI-CはLFN libraryがあるから、Win/DOS両方で使えるような小物を作るのに重宝している。

315 名前:デフォルトの名無しさん [04/12/12 21:55:24]
dosのフォントが気に入らない。変更するにはレジストリをいじるしかないのかな?


316 名前:デフォルトの名無しさん mailto:sage [04/12/12 22:02:34]
そりゃDOS窓やろ

317 名前:デフォルトの名無しさん mailto:sage [04/12/12 22:05:17]
もし窓じゃないDOSならCONFIG.SYSをいじって下さい。

318 名前:デフォルトの名無しさん [04/12/14 13:58:46]



319 名前:デフォルトの名無しさん mailto:sage [04/12/16 15:04:05]
DOSってなんどす?

320 名前:デフォルトの名無しさん [04/12/18 16:37:45]
Turbo C + nasm + alink => 16bits DOS EXE
をしているのですが、どうもうまくいきません。

ASMからC関数はよべるのですが、
CからASM関数をよぶとエラーになってしまいます。

それから、Cから指定されたポインタはスタック内でどのようになっているのでしょうか。
たとえば、

mov ah,09h
mov dx,[bp] ;<-ここがよくわかんない
int 21h

というように、ASM側でどのように指定してよいかわかりません。

どなたか教えていただけませんか?



321 名前:デフォルトの名無しさん mailto:sage [04/12/18 16:57:42]
DOSで動作するMASMの6か5.1ってフリーになってないのかな。

322 名前:デフォルトの名無しさん mailto:sage [04/12/18 17:37:39]
セグメントディスクリプタを書いてないんじゃないかと E.S.P.

323 名前:デフォルトの名無しさん mailto:sage [04/12/18 18:16:12]
>>320
FAQ

勉強してから質問しれ

324 名前:320 [04/12/18 18:24:44]
>321
MASM はサイズが大きすぎるので、ちょっと。。。

>322
せぐめんとでぃすくりぷたとは??

325 名前:320 [04/12/18 18:36:14]
>323
質問の説明が悪かったですね。。


まず、ASM関数 _puts を用意します。
関数内では、
ah=09h
ds:dx=buffer
int 21h
を処理するようにします。

そして、Cからこの関数を呼び出したいとします。

セグメントが違う(僕の勘違いかもしれませんが)ので、
mov ah,09h
mov dx,[bp] ;[bp]=Cの引数
int 21h
とすると、ゴミが表示されます。


という内容でした。

326 名前:デフォルトの名無しさん mailto:sage [04/12/18 19:13:05]
>>325
引数は正しくわたされてるか
_pusは正しく動作するか
C側のオブジェクトは確保されているか

これらを確かめた上で

tcのローカル変数を処理したいのならば([bp]と書いてあるので)、スタック上に確保されている
よってDSで処理する_putsに適合させることはできない。(セグメントオーバーライドでも不可)
DS上の別領域にでもコピーする

ただし、small modelならばSS=DSなので問題は起きない






327 名前:デフォルトの名無しさん mailto:sage [04/12/18 19:52:37]
つーか、コンパイラにアセンブリ出力させてよく見ろ。

328 名前:デフォルトの名無しさん [04/12/18 21:52:29]
ACPIをDOSでコントロールしたいのですが、どこかにソースかライブラリが落ちていないですか?

329 名前:デフォルトの名無しさん mailto:sage [04/12/18 22:38:48]
俺はEPSONのPC386からぶっこぬいてきたフォントをTerminalの14ptに突っ込んで使ってるので
DOSの時代からWin95/98/2000を経てXPのコマンドプロンプトまで同じフォント。
ついでにLinux上のX-Winodwも一緒

330 名前:デフォルトの名無しさん mailto:sage [04/12/18 22:53:51]
日記は(ry



331 名前:デフォルトの名無しさん mailto:sage [04/12/19 04:18:23]
w

332 名前:320 [04/12/19 08:57:41]
>327
引数の受け渡されているところが、なまなましく見ることができ理解できました。


ただ、C側のアドレスに関しては解決できません。

extern void putc( char c);/*ASM関数*/
char* ss="Hello World!\n$";
putc( *ss);/*表示されるのは,ゴミ*/

相性が悪いのでしょうか?








[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<220KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef