DOSでプログラミングat TECH
DOSでプログラミング - 暇つぶし2ch262:デフォルトの名無しさん
04/10/06 13:21:53
>257です。
コマンドラインで作業をしたいという訳ではなく、>258の仰るようなことに興味があります。

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

263:デフォルトの名無しさん
04/10/06 23:09:24
>>262
URLリンク(www5c.biglobe.ne.jp)

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

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

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


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

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

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

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

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

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


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

271:デフォルトの名無しさん
04/10/12 23:53:23
URLリンク(www.vector.co.jp)


272:デフォルトの名無しさん
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
URLリンク(anabuki.ec.u-tokai.ac.jp)


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

URLリンク(www.webtech.co.jp)


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

294:デフォルトの名無しさん
04/11/02 21:03:46
マニュアル付きDOSエクステンダ (EXE386)
URLリンク(www.vector.co.jp)

処理系も欲しいなら

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

Open Watcom (DOS/4GW) (こっちはDOS上でもコンパイルできる)
URLリンク(www.openwatcom.org)

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

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

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


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

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

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

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

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

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

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

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

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

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


308:デフォルトの名無しさん
04/11/24 15:25:49
[Windows]初心者~管理者まで必読!コマンドライン(DOS Pt.3)
スレリンク(win板)

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


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

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


312:デフォルトの名無しさん
04/12/10 13:39:44
>>2 >>109
今更だが、パッチってこれだな。
URLリンク(groups.google.com)

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

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

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


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

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

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



319:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/18 16:57:42
DOSで動作するMASMの6か5.1ってフリーになってないのかな。

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

323:デフォルトの名無しさん
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:デフォルトの名無しさん
04/12/18 19:13:05
>>325
引数は正しくわたされてるか
_pusは正しく動作するか
C側のオブジェクトは確保されているか

これらを確かめた上で

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

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






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

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

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

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

331:デフォルトの名無しさん
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);/*表示されるのは,ゴミ*/

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



333:デフォルトの名無しさん
04/12/19 09:02:13
asm以前にCもわかってなさそうだな・・・・・

334:デフォルトの名無しさん
04/12/19 09:04:47
>>333
俺も全く同じ事を思った。

>>332
>相性が悪いのでしょうか?
プログラミングとあなたの相性が悪いせいかもしれない。

335:デフォルトの名無しさん
04/12/19 09:10:43
なんせ完全な解が出てるのに無視してる

336:320
04/12/19 09:29:04
ソースです。ご指摘、お願いします。

NASM -f obj start.nas
TCC -c main.c
ALINK start.obj main.obj -oEXE -o test.exe

;start.nas
segment .text USE16
extern _main

..start:
call _main
mov ax,4C00h
int 21h

global _putc
_putc:
push bp
mov bp,sp
add bp,4
push dx
mov ah,02h
mov dl,[ss:bp]
int 21h
pop dx
pop bp
ret

segment stack stack
resb 100h
stacktop:

337:320
04/12/19 09:29:34
/*main.c*/
extern void putc ( char c);
void main ( void)
{
char* test="Hello World!\n$";
putc( 'i');/*"i"表示*/
putc( *test);/*ゴミ表示*/
}

338:デフォルトの名無しさん
04/12/19 09:38:36
だからCの勉強をしなさいって。

339:デフォルトの名無しさん
04/12/19 09:41:24
"Hello World!\n$"
なんの意味があるんだ最後の$…

340:デフォルトの名無しさん
04/12/19 09:42:28
うーん・・・・まず2chの勉強が先かと・・・・・・・・
まずはsageと打鍵する練習

341:デフォルトの名無しさん
04/12/19 09:42:58
じゃなかった。この原因は。

Cの「スタートアップ」と呼ばれるものが何をしているか
もっとはっきり言えば、DS,ES,SSは誰がいつ設定しているのか、と。

342:デフォルトの名無しさん
04/12/19 09:44:54
それもCの勉強なんだがな

343:320
04/12/19 10:21:50
"Hello World!" のセグメントは、>326 の言ったとおり取得できないんでしょうか?

>341
スタートアップについてはよくわかりません。。
バイナリ初心者なもので。。

344:デフォルトの名無しさん
04/12/19 10:39:15
うひょひょひょ。
ヘルプ見ろ。
サンプル見ろ。
ヘルプ見ろ。
サンプル見ろ。
関数の使い方書いてあるだろ。
初心者はそれ真似することからはじめろよw

345:デフォルトの名無しさん
04/12/19 10:44:38

char* ss="Hello World!\n$";
putc2( *ss);

mov ah,09h
mov dx,[bp + 0]
mov ds,[bp + 2]
int 21h

としてみてください・・・

346:デフォルトの名無しさん
04/12/19 10:50:48

char[] ss={"Hello World!\n$"};
putc2(ss);

mov ah,09h
mov dx,[bp + 0]
mov ds,[bp + 2]
int 21h

としてみてください・・・

347:320
04/12/19 10:58:46
訂正です。
"Hello World!\n$" =訂正=> "Hello World!\r\n$"

>345
ASM関数
_puts:
push bp
mov bp,sp
add bp,4
push dx
push ds
mov ah,09h
mov dx,[bp + 0]
mov ds,[bp + 2]
int 21h
pop ds
pop dx
pop bp
ret

を追加した後、C側で puts( ss); としたところ、これもゴミが出てきます。。。

348:デフォルトの名無しさん
04/12/19 11:07:36
半可通が教えるクンして泥沼プ
またーりオチ

349:デフォルトの名無しさん
04/12/19 11:14:10
よくこんなんで、nasmとかalinkを使うよな。
トラブルが全く切り分けられないのに、標準以外のツールなんか使うなよ。


350:デフォルトの名無しさん
04/12/19 11:38:52
typoっぽいケアレスが気になるんだけど、何回も書いているから本当に理解してないのかも・・・・・・

351:デフォルトの名無しさん
04/12/19 12:34:28
しかし、ここの住人はキモイな
ここまで性根が腐ってるとは。。。
よっぽど現実社会じゃ、みじめでいじめられてるんだろうんなw

352:デフォルトの名無しさん
04/12/19 12:53:07
ASM関数
_puts:
mov bp,sp
push dx
push ds
mov ah,09h
mov dx,[bp + 2]
mov ds,[bp + 0]
int 21h
pop ds
pop dx
ret

としてみてください・・・


353:デフォルトの名無しさん
04/12/19 13:12:31
手取り足取り指導してる方がよっぽど醜悪
これがわからない内は引き篭もってろ

354:\________/        
04/12/19 14:10:09
       ∨
    / ̄ ̄ ̄ ̄\   
   (  人_____,,)
    |ミ/  ー◎-◎-)  ボクハ ホントウハ ツヨインダゾ・・・ブツブツ
   (6     (_ _) )    カタカタカタ
   | ∴ ノ  3 .ノ  ______
    ヽ、,,     __,ノ   |  | ̄ ̄\ \
   /       \.____|  |    | ̄ ̄|
  /  \___      |  |    |__|
  | \      |つ    |__|__/ /
  /     ̄ ̄  | ̄ ̄ ̄ ̄|  〔 ̄ ̄〕

355:デフォルトの名無しさん
04/12/19 14:17:57
>>351
絶妙な釣りと、釣りに気づきながら悪ノリしているこのスレの常連の構図だが。

356:デフォルトの名無しさん
04/12/19 14:30:58
過疎スレで釣りをする人間がいる訳ないし(ヒマな引き篭もりほど
そんな発想をするんだろが)、こんな過疎スレでいつもの構図も何もない。
悪ノリと言っても、みじめな自分の社会生活のウサ晴らしに
初学者をいびってるだけだろうが。
顔だけでなく精神まで腐ってちゃ救いようがないな。
全く内外ともに絵に描いた様なキモオタだな。
だから何時までもバカにされてみじめなんだよ。耳が痛いだろう。
アンタらは、もう一生救われないよ。


357:デフォルトの名無しさん
04/12/19 14:33:13
久しぶりの餌なんだから、もっとゆっくり食べようよ

358:デフォルトの名無しさん
04/12/19 14:38:33
魚が逃げちゃうよ。orz

359:デフォルトの名無しさん
04/12/19 14:48:02
初学者の割に、他人のアドバイスを聞く耳を持ってないようだがw
耳に心地良い(そして間違ってるwww)アドバイスについて逝くしwwwww

360:デフォルトの名無しさん
04/12/19 14:53:48
wを連打してるのが痛々しい  悔し泣きしてるのか?

361:デフォルトの名無しさん
04/12/19 21:45:00
他のasmスレに逝ってないようだし、本当に釣りだったかも

362:デフォルトの名無しさん
04/12/19 21:47:40
とりあえずメモリモデルについて調べろ、引数がstackにどう積まれるか、だな

363:デフォルトの名無しさん
04/12/19 22:10:00
何を逝っても無駄・・・・・誰の話もきいちゃいなかったし・・・・・・・・

364:デフォルトの名無しさん
04/12/19 22:57:13
だーかーらー、釣りだってばよ。

365:デフォルトの名無しさん
04/12/20 00:52:20
こんなリアルっぽい釣りがあるかよ

366:デフォルトの名無しさん
04/12/20 12:54:55
リアルっぽいからこそ釣れるんだろ。

367:デフォルトの名無しさん
04/12/20 13:34:37
おまいらピラニアかよ

368:デフォルトの名無しさん
04/12/20 14:29:30
本物はどこかふざけてるんだよ。
今回はそれがない。

369:デフォルトの名無しさん
04/12/20 16:47:10
( ´・_・`)320タン、ちゃんとCの勉強してるかなー

370:320
04/12/21 00:30:55
すいません。レス遅くなっちゃいました。。

なかなかうまくいかないので、最初からまた調べ直そうと思います。
教えてくれたみなさん、わざわざありがとうございました。

またつまずいたら、ずうずうしいながら質問させて頂きます。
その時は、もう少し高度な話題ができたらなと思います。

(マジレスでした。。。)

371:デフォルトの名無しさん
04/12/21 01:04:57
もう一度だけまじめに書くけど、>>337がうまく動かないのは、
コンパイラは文字列リテラル "Hello ..."がDGROUPのセグメントにあると仮定したコードを吐いているのに
DSが別の領域を指しているため、全然別のデータを読んでいるから。
DSを設定するのはスタートアップ(TCCならc0x.obj)で、
コンパイラがリンカを呼び出すときに、これをリンクしている。

とりあえず、アセンブラコード内でcall _mainするのをやめて
単にCのソースにアセンブラの関数をリンクして動かしてみ。

372:Help
04/12/21 01:36:21
どなたかご存知でしたら教えてください。
C#で作成したDLLからVB6へイベントを通知する方法を
ご存知でしたら教えてください。
VB6は、C#記述のInterfaceをサポートしていないので
デリゲートでイベント通知がうまく出来ません。
お願いします。

373:320
04/12/21 01:44:46
>371
その方法は何度かためしたのですが、
Error: Fixup overflow in module main.c at _TEXT:000E, target = _putc
という感じで、リンクが出来ませんでした。。

374:デフォルトの名無しさん
04/12/21 01:56:07
じゃあ、コンパイラの出力を参考にセグメント指定をしなさい。
_TEXT segment byte public 'CODE'
みたいな奴。(byteかwordか忘れた)

そして、_putcを
_TEXT segment
  assume cs:_TEXT
_putc proc
  ...
_TEXT ends
と書く。
データ領域があったら、DGROUPも設定する。
うろ覚えのまま書いてるから、正確にはコンパイラの出力をコピーするように。

もし、asm側から_mainを呼ぶなら、call _mainの前にDSを設定する。
もちろん、呼び出す所はassume cs:_TEXTとされた_TEXTセグメントの中。

375:デフォルトの名無しさん
04/12/21 04:21:10
なんでも教えりゃわかるってもんじゃないんだよ

376:デフォルトの名無しさん
04/12/21 08:53:39
INT28

377:デフォルトの名無しさん
04/12/22 03:07:11
INT 1B

378:デフォルトの名無しさん
04/12/22 19:33:56
>>377
clc/stc/cmc

379:kai
04/12/27 00:44:06
dos用に作られたCプログラムをwindows上で動かすことはできないのですか?

380:デフォルトの名無しさん
04/12/27 00:46:59
>>379
自分で試せよ。

381:デフォルトの名無しさん
04/12/27 13:49:21
基本的に動く。ただしNECのPC98のハードウェア、BIOSに依存したものは動かない。
その場合98エミュレータ上では動く。

382:デフォルトの名無しさん
04/12/28 21:52:20
餌がコネェ

383:デフォルトの名無しさん
05/01/17 00:57:24
CGの技術・性能が向上していく一方で、テキストだけ、あるいはラインアートな絵といった
ゲームにも大きな魅力を感じている人間がここにいる。
ミステリーハウスとかZorkとかNethackとか。どういうわけだか好きなんだ。
かといって派手な演出が嫌いというわけでもないんだが、とにかく
今もDOSでプログラミングとかしている人は尊敬するわけです。
がんばってくださいありがとう保守。

384:デフォルトの名無しさん
05/01/19 00:32:50
DOSはもう流行ることもないんだろうけど
消えることもないんだろうナ‥
せっかく書くんだ 一番好きなOSで動かすのが当然だろう

385:デフォルトの名無しさん
05/01/27 10:57:57
TurboC++1.01を使ってるんですが286までしか扱ってくれないので
386レジスタを使おうとしてもコンパイルエラーが出ます
なんとかできませんか
アセンブラは386対応のものを使ってます

int main()
{
 asm{
  mov eax,0  ; eaxって何?って言われる
 };
 return 0;
}


386:デフォルトの名無しさん
05/01/27 10:59:41
>>385
何故eaxを使いたいのか聞かせてくれ

387:デフォルトの名無しさん
05/01/27 11:04:44
前に 66h 埋め込んでおけばいいんじゃねーの?
TC++でどうやるかは知らんが。(emitか?)

388:デフォルトの名無しさん
05/01/27 11:22:02
>>386
386で動かすプログラムだからeax使った方が効率いいからです

>>387
コンパイラが286時代のものなのでそもそもeaxレジスタは存在していなく
未定義の識別子扱いをしてパースしてくれないんです


389:デフォルトの名無しさん
05/01/27 11:24:16
go WATCOM with DOS-extender to get the 32bit-full-power!

390:デフォルトの名無しさん
05/01/27 11:41:55
>>388
だから、mov eax,0の代わりに、mov ax,0にしてその前に66hを埋め込むってこと。

391:デフォルトの名無しさん
05/01/27 12:00:07
こうですか…
mov eax,0
db 66h
なんと言うか可読性がすごいことになりそうですね…


392:デフォルトの名無しさん
05/01/27 12:01:41
>>391
ホームラン級の馬鹿だな

393:デフォルトの名無しさん
05/01/27 12:07:45
ワロタ

394:デフォルトの名無しさん
05/01/27 12:12:49
その程度の認識で効率がどうのこうの言うのは背伸びしすぎ

395:デフォルトの名無しさん
05/01/27 12:13:21
素直にアセンブラ使えばいいのに。タボシなんか捨てて。

396:デフォルトの名無しさん
05/01/27 17:50:51
いや、TurboC/C++は、アセンブラコードは処理できないよ。
外部のアセンブラに渡すだけ。

ていうかね、.286とか.386cって書いているの見たこと内科医?
どっか先頭の方、適当なところに入れて桶

397:デフォルトの名無しさん
05/01/28 13:19:16
PC/AT互換機用のTCなら、ボーランドのFTPサーバーから
自由にダウンロードできるようですが・・・
違ってたらスマソ

398:デフォルトの名無しさん
05/01/28 13:30:28
FTPは知らんが、HTTPなら。
URLリンク(community.borland.com)

399:デフォルトの名無しさん
05/01/30 23:36:17
BCC使ってるんですけど、

system("set /P A=\"[Y/N] \"");
system("echo \%A\%");

とやると「%A%」と表示されてしまいます。
どうしたら良いのでしょうか?
ご指導くださいませ。

400:デフォルトの名無しさん
05/01/30 23:59:03
>>399
Borland C++ の16bit版?
ていうかDOSでは set /P は使えないだろ。


>system("set /P A=\"[Y/N] \"");
>system("echo \%A\%");

system() 関数は呼び出す毎に別の環境になるので
最初の行で環境変数 A を設定しても
その値は次の行には引き継がれない。

system("set /P A=\"[Y/N] \" && echo \%A\%");
とするか、バッチファイル作って呼び出せ。

401:デフォルトの名無しさん
05/01/31 03:06:39
system("echo %A%");

402:デフォルトの名無しさん
05/02/07 03:02:15
バッチファイル以外で %環境変数% が使えるようになったのはWin95付属のDOS7.0以降だな。

403:デフォルトの名無しさん
int 2ch =05/04/02(土) 07:57:13
URLリンク(www.256b.com)
URLリンク(www.256b.com)

404:たかのぶ
05/05/09 21:58:11
こんなん叩いたら↓
if not exist z: net use z: \\Server01\e$ PPPPP /user:XXXXXX
こんなもんがでたYO↓
z: は \\Server01\e$との接続を記憶しています。
記憶している接続に上書きしますか?(Y/N)
藻前ら分かる香具師はいますか

405:デフォルトの名無しさん
05/05/11 05:51:11
command.comは気が狂いだすから持ち出すのやめてくれ

406:デフォルトの名無しさん
05/05/11 16:01:09
うはwwwwwcommand.comおwwww
いいけつしとるのぉwwwwおkwwww

407:デフォルトの名無しさん
05/06/18 23:11:50
初心者です。突然すいません。急いでいるもので。
○○.EXEというDOSプログラムの中身を見るのはどうしたらよいのですか?

408:デフォルトの名無しさん
05/06/18 23:15:13
バイナリエディタで開け

409:デフォルトの名無しさん
05/06/18 23:16:02
>>407

d>debug ○○.EXE

410:デフォルトの名無しさん
05/06/18 23:20:00
ありがとう。
定番バイナリエディタってどれです?
(409は難しそう)


411:デフォルトの名無しさん
05/06/18 23:33:43
16進でみたいだけならviでもhidemaruでもMifes(綴分からん)でもいいけど。

中味を見るというのがよく分からん。
ひょっとしてexeからソースを復元したいの?

412:デフォルトの名無しさん
05/06/18 23:36:22
はげまるって、 まだDOS版売ってるの?


413:デフォルトの名無しさん
05/06/18 23:53:04
>>411
難しいことはよく分かりません。
とりあえず「Stirling」ってやつVectorで定番って書いてあったからそれで開いてみた。


4D 5A 20 01 6C 00 74 00 20 00 C4 09 FF FF 52 0D  MZ .l.t. .ト...R.
 ↓
 ↓
 ↓
延々と続いてる


初めて見ました。(初心者です)
右のほうは何なんですかね?文字化けしてるのかな?

DOSプログラムでNotePCのバッテリー情報を確認できるツールが有るんだけれど
機種によって使えたり使えなかったりするので、どこかを変えれば何とかなるのかなって思って…

だけどこの数字の羅列の意味はよく分からないな…


414:デフォルトの名無しさん
05/06/18 23:53:10
dos限定だったのか。
エスパーな会話しちゃったw



415:デフォルトの名無しさん
05/06/19 00:02:25
>>413
それがプログラム
左が16進数で、右がテキストエディタで開いたときのものと思え

ってか、お前がバイナリエディタで開いたバイナリは
改編を認めてるのか?
ライセンス違反だぞ

416:デフォルトの名無しさん
05/06/19 00:03:48
このスレッドの名は
DOSでプログラミング
"で"なんだから、DOSを使うのが前提でしょ?
コマンドプロンプトではなくDOS
ずっと俺はそう思ってたけど

417:デフォルトの名無しさん
05/06/19 00:10:55
>>416
winに付属しているコマンドプロンプトしか頭になかった。
正直すまんかった。

(そういや、伯父もいまだにPC98FAつかっているしな)


418:デフォルトの名無しさん
05/06/19 00:15:22
>>413
どんなプログラムか知らんがその機種にあったものを探した方が早いと思うぞ。
素人がぱっと見ただけでパッチを当てられるようなもんじゃない。

419:デフォルトの名無しさん
05/06/19 08:21:05
DOS始めるには何からやればいいの?

420:デフォルトの名無しさん
05/06/19 08:39:23
あきらめる

421:デフォルトの名無しさん
05/06/19 11:46:26
>>419
DOSのインストール

422:デフォルトの名無しさん
05/06/19 19:41:31
>>421
DOSのインストールって何
もともとあるんじゃないの?どこにあるの?


423:デフォルトの名無しさん
05/06/19 19:49:03
>>422
DOSだって昔は単独で販売されていたんだからインストーラだって存在していた。

424:デフォルトの名無しさん
05/06/19 20:15:09
>>422
WinNT系にはDOSは入っていない。

今DOS単体が手に入るのかどうかは不明。
やりたいんならWin9x系OSをインストールするとかかな

425:デフォルトの名無しさん
05/06/19 20:50:01
DR DOSでも使えばいい

426:デフォルトの名無しさん
05/06/19 21:11:03
Windows 2k/XPでもDOS起動ディスクは作れないわけではない。
URLリンク(homepage2.nifty.com)
URLリンク(homepage2.nifty.com)

427:デフォルトの名無しさん
05/06/19 21:13:34
DOS"で"プログラミング
なんだから、DOSでやろうや
Win9xでやるのもいいと思うが、そしたら絶対に
Windowsのエディタでコード書くだろ
DOSを入れろ


428:デフォルトの名無しさん
05/06/20 01:43:36
やっぱ、VB1が、とても好き。
mouse.com入れて、結構あそべます。

429:デフォルトの名無しさん
05/06/21 09:44:56
MS-DOSを使ってみて、かなり不自由だったので
ツール郡を移植したあの日々
2ヶ月後くらいに公開したら、もっと質のいいものが出回ってるとしった日
死にたくなった

あれから、2度とDOSの画面は見ていない


430:デフォルトの名無しさん
05/07/18 10:49:41
DOS上で、Windows のプログラム開発は、出来ますか?
gcc + mingw とかで。


431:デフォルトの名無しさん
05/07/18 11:03:22
>>430
MS-DOSでgccは動かないと思いますが。

432:デフォルトの名無しさん
05/07/18 12:48:01
>>430
動作確認はどうするんだよ。

433:デフォルトの名無しさん
05/07/18 13:32:58
djgpp

434:デフォルトの名無しさん
05/07/18 15:25:42
>>431
マジっすか?

というか、勝手に思っててください。

435:デフォルトの名無しさん
05/07/18 16:41:54
思うだけなら自由だしな

436:デフォルトの名無しさん
05/07/18 19:35:05
ここでいってるDOSってMS-DOSのことなの?
もし、MS-DOS限定ならバージョンはどれを指すの?
>>1を見るとハードを直に叩けるって言ってるから6.1以前の物限定?

437:デフォルトの名無しさん
05/07/20 05:25:08
ポッカーーーン

438:デフォルトの名無しさん
05/07/20 05:46:40
俺がMS-DOSを使わなくなったのはメモリの管理を阿呆みたいにし始めたからかな


439:デフォルトの名無しさん
05/07/20 11:26:23
EMSにXMS、さらにはBMSか?

440:デフォルトの名無しさん
05/07/20 17:39:37
UMB,HMA,

441:デフォルトの名無しさん
05/07/20 20:16:29
>>440
どっちもXMSの一部じゃなかったっけ?

442:デフォルトの名無しさん
05/07/21 00:14:12
そういえばそうだったかも。
ん、でもHMAはXMSのおまけで、UMBは仮想EMSのおまけだったような気も。
XMSって286以上の規格じゃなかった?

443:デフォルトの名無しさん
05/07/21 06:14:11
UMBの割り当て/解放のファンクションはXMSドライバのファンクションの一部に
いちおうなってる
URLリンク(www.ctyme.com)
EMM386を組み込まないと実際には使えないんだろうけど

444:440,442
05/07/21 17:22:29
勉強になりました。
でもこの先使うことなどなさそうな知識だ。

445:デフォルトの名無しさん
05/07/21 18:49:15
(ノ∀`)それを言わないで

446:デフォルトの名無しさん
05/07/23 07:17:32
CD-ROMドライバはネットワークドライブ(のドライバ)の一種だそうですが、ネットワークドライブの仕様について情報源があれば教えて下さい。

447:デフォルトの名無しさん
05/07/23 07:19:48
ドキュメント読めよ

448:デフォルトの名無しさん
05/07/23 14:47:28
ドキュメントはないんじゃなかったっけ?
Undocumented DOSにネットワークリダイレクタの機能を利用した
RAMディスクのサンプルが出てたけど

449:デフォルトの名無しさん
05/07/24 19:37:18
DOSでプログラミングじゃなくてDOSをプログラミングになってきた俺はどうすればいいんだろう・・・

450:デフォルトの名無しさん
05/07/24 20:55:13
>>449
用途によってはDOS互換OSもまだ需要があるから
そのままがんがれ!

451:デフォルトの名無しさん
05/07/31 21:00:23
Dos Promptでシューティングでも作りたいんだが
なんか良い解説サイトとかない?

452:デフォルトの名無しさん
05/07/31 21:01:05
こことか超おすすめ
URLリンク(www.google.co.jp)

453:デフォルトの名無しさん
05/07/31 21:31:34
俺はDOSエクステンダを自分で作ってみたい
っていうか、どういう処理をしてるんだよ
気になって夜も眠れん

454:デフォルトの名無しさん
05/07/31 22:02:59
その時の気分でプロテクトモードとリアルモードを切り替えてるんだよ

455:デフォルトの名無しさん
05/07/31 22:07:13
>>453
URLリンク(www.vector.co.jp)

456:453
05/08/01 22:08:39
>>455
おーサンクス心の友よ

457:デフォルトの名無しさん
05/08/18 23:41:51
こっちのほうが詳しそうな人がおおいので、質問させていただきます
PCIデバイスのプログラミングやっとります。

PCIデバイスで割り込みを使うには、PIC(割り込みコントローラー)の、モードをLevelトリガーモードに
しないといけないようです。そのためPCIバス対応の割り込みコントローラー(APIC?)には、IRQを部分的に
Levelトリガーモードにする機能があるようなのですが、いくらぐぐっても
らしき資料が見つかりません。

どなかた助けてください、お願いします

458:デフォルトの名無しさん
05/08/19 00:20:43
適当にハード関連の本を十冊くらい嫁

459:デフォルトの名無しさん
05/08/19 09:58:25
>>458
何もしらんくせにええかげんなこと書くなよ...

460:デフォルトの名無しさん
05/08/19 16:21:32
>>457
まずはそのデバイスがedge-trigger使えるかどうか調べてからにしな

461:457
05/08/19 19:32:06
ここで聞いた俺が馬鹿だったわ。Linuxのソースコードでも読むことにする
あばよ

>>460
Edge-triggerはPCIデバイスでは使えない、PCIデバイスは全部Level trigger

462:デフォルトの名無しさん
05/08/19 21:00:37
つか、DOSでPCIバス叩いてた奴なんて少数派だと思うぞ。

463:デフォルトの名無しさん
05/08/19 21:41:23
>>461
YMF7x4のFM音源割り込みはモロにIRQだったけどなw
INTなんか使ってねーよ

464:デフォルトの名無しさん
05/08/19 22:18:08
>>463
PCIのIRQ割り込みは基本的にEdge trigger、しかしPCIの場合はこれをLevel triggerにしないとだめ
そのためPCIをサポートしているチップセットは、一部のIRQのみをLevel triggerにする機能がついてるわけ
その方法を探している。

Linuxのコードをざっと読んだところ、0x4d0, 0x4d1の二つのポートを使って、それが可能のようなのだが
これはどうやらEISA用のやり方らしい、PCIも同じ方法でできるのかどうかはわからない。

Linuxのコメントを読むと、APIC用の別のやり方があるそうなのだが...不明

465:464
05/08/19 22:19:20
ごめん間違えた
(誤)PCIのIRQ割り込みは基本的にEdge trigger、しかしPCIの場合はこれをLevel triggerにしないとだめ
(正)PCのIRQ割り込みは基本的にEdge trigger、しかしPCIの場合はこれをLevel triggerにしないとだめ

466:デフォルトの名無しさん
05/08/20 11:46:50
>>464
まずはdatasheet読もうぜ
440BXとかその辺のヤツだけど役に立つだろ
('A`)ノシ URLリンク(www.intel.com)

467:デフォルトの名無しさん
05/08/20 15:38:39
>>466
Thx!、そうか、Intelの本家ページを探せばよかったのか!...
やはり0x4D0, 0x4D1の二つのポートを使うらしい。ただしIRQ1とIRQ2は絶対、Edge triggerで
Levelには変更できないそうだ、ありがとう!


468:デフォルトの名無しさん
05/08/20 22:34:31
>>467
お前英語読めねーの?
思い切り書いてあるんだが。

469:デフォルトの名無しさん
05/08/21 10:23:06
>>468
だから、上のマニュアル読んで言ってるんじゃないか。ああ、おせっかいだったか悪かったな。
「やはり...」の文脈の流れから見てわかんねーの?半島の方ですか?

後それからIRQ1,2に加えて8,13も無理みたいだな。

470:デフォルトの名無しさん
05/08/21 10:30:18
なにこれしきのことでファビョってるんだ?

471:デフォルトの名無しさん
05/08/21 12:35:44
DOS使いはレベルが低いね

472:デフォルトの名無しさん
05/08/21 13:16:05
IBM PC DOS 7.0J/V(または 2000) で REXX のプログラムの話は出て来ないものか。

473:デフォルトの名無しさん
05/08/21 13:29:58
>>467
16bit 環境でプログラムですよね?(プロテクトモードはよく知らないので)
ISA時代で使われていたテクニックそのままで良いですよ。

強いて違いを挙げるとすれば、

・大抵のPCIボードは、割り込みステータスレジスタがあり、これをクリア
 しないと、割り込みハンドラからIRETしても、割り込みハンドラに再突入
 する。
・PCIボードは、ISAボードと違い、割り込み共有可能。
 つまり、
  割り込みハンドラに突入=自分のPCIボードへ割り込みが入った
 とは必ずしも言えない。
・PCIコンフィギュレーションレジスタを弄って、IRQを書き換える時、
 レガシーデバイスと共有できない点に注意。
 (レガシーデバイスは、レベルトリガじゃないのが、ほとんど)

まぁ、こんな所ですかね。

ところで、PCIボードを制御したいって、制御対象は産業用ですか?
産業用なら、メーカーから何がしか情報が出てませんかね?


474:デフォルトの名無しさん
05/08/23 02:01:32
>>473
産業用ではありませんNE2000互換のNICの制御を目的としております。

>割り込みステータスレジスタがあり、これをクリア
>しないと、割り込みハンドラからIRETしても、割り込みハンドラに再突入
>する。
なるほど、Levelトリガーゆえの挙動ですね。肝に銘じておきます。

あと、追加質問で大変申し訳ないのですが、LevelトリガーはEdgeトリガーとは
EOI発行のタイミングが異なると小耳に挟んだのですが、そこらへんは
どうなんでしょうか?

475:デフォルトの名無しさん
05/08/27 10:52:04
>>474
遅くなってすんません(週一で巡回しているもので)。

> あと、追加質問で大変申し訳ないのですが、LevelトリガーはEdgeトリガーとは
厳密な内部の違いになると あまり自信は無いです。

基本的には、割り込み処理を抜ける前に EOI で十分です。
(優先順位の高い割り込みへの割り込みを許す為に、先にEOIを発行するって
ワザもありとは思いますが、8259を更に弄る必要が無かったっけ?)

> NE2000互換のNICの制御
プログラムが主目的でなく、通信が主目的なら、NICに関して言えば、
メーカーさんから NDISとか呼ばれている DOS用のドライバが提供されて
いると思います。

それを採用するのも一つの手ではあります。
(100kb程度のメモリを占有するのがネックですが)


476:デフォルトの名無しさん
05/08/29 08:33:40
>>475
>基本的には、割り込み処理を抜ける前に EOI で十分です。
わかりました、ありがとうございます。

477:デフォルトの名無しさん
05/09/01 19:19:03
INT13の使い方について質問です。

AX=0x4300でIDEのHDDを書き換えようとしたら、エラーが出ました。戻り値はAH=0x01でした。
調べてみるとパラメータ異常ということで、試しにAXに代入する値を0x4100に変えて、
それ以外はまったく同じ条件でまったく同じセクタを読み込んでみると正常終了します。

読み込みが可能で書き込みのできない条件というのが、今ひとつよくわかりません。
エラーの原因と対策を教えてください。

環境は、Win98SEの起動ディスク(DOS 7.1)の上で実行しています。DOS窓ではありません。
LOCKも事前に実行しました。
マザーのBIOSも確認しましたが、HDDを保護するような項目は見あたりませんでした。

478:デフォルトの名無しさん
05/09/02 11:34:04
>>477
HDDの容量は?

479:デフォルトの名無しさん
05/09/02 22:01:32
>>478
20GBです。

その後、試行錯誤してWinMeの起動ディスクから起動すれば、正常に書き込みできることが判明しました。
いずれのケースでもCONFIG.SYSは0バイト、ドライバ類は何も組み込んでいません。
何が違うのかさっぱりです。

480:デフォルトの名無しさん
05/09/12 22:48:40
定期age

481:デフォルトの名無しさん
05/09/12 22:50:58
PentiumD使いの俺がきましたよ

482:デフォルトの名無しさん
05/09/12 22:52:39
シングルタスクOSでデュアルコアCPU...

483:デフォルトの名無しさん
05/09/12 22:53:54
>>481
そのPCはDOS専用機に汁!

484:デフォルトの名無しさん
05/09/12 23:03:13
DOSBox(エミュ)使ったほうが開発しやすくないだろうか

485:は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I
05/09/16 20:42:53
>>484
グラフィックアプリ、I/O直叩き
これをやるのにはエミュじゃ無理じゃない?

486:デフォルトの名無しさん
05/09/16 21:04:28
モノにもよるが、標準的なデバイスなら大体おkなんじゃない?
最終的には実機でデバッグすればいいんだし。

487:デフォルトの名無しさん
05/09/17 20:24:01
ふつークロス開発

488:デフォルトの名無しさん
05/09/19 11:38:44
つ[ハンマー]


489:デフォルトの名無しさん
05/11/06 16:37:59
DOSでPCIでネットワーク処理って楽しそうだな(w
すなおにLinuxとかのフリーライセンスなマルチタスクOS使っておけばいいのに。

490:デフォルトの名無しさん
05/11/06 18:52:03
やれやれ、最近の若いもんはPacket Driverも知らんのか・・・
困ったもんじゃて。

491:デフォルトの名無しさん
05/11/06 19:06:14
>>479
HDDの中身はWinMeでFDISKかけてないか?Win98かMeの時にWin2000との互換性取るためにVFAT他で仕様変わってるはず

492:デフォルトの名無しさん
05/11/07 17:36:23
>>490
そんなの使ってサーバ作りたくないなw

493:デフォルトの名無しさん
05/11/09 04:28:12
>>491
INT 13でのアクセスなので、ファイルシステムは関係ありません。
ぶっちゃけ、初期化されてないHDDでもアクセスできるというか、
そもそもFDISK自体がINT13でHDDを初期化しているわけですから。
結局のところ解決できず、HDDは今のところ放置です。

そのかわり、今はUSBメモリで四苦八苦しています。
手持ちのノートパソコンをUSBメモリからブートさせたいのですが、
BIOSがタコでサポートしているディスク形式(ジオメトリ)が限られているらしく、
なかなかうまくいかなくて。
HDDエミュレーションの仕組みをよく理解していないので、MBRにパッチを当てて
動作をトレースしているところです。

494:デフォルトの名無しさん
05/11/09 18:11:50
ボリュームの排他ロックってのが必要じゃなかったっけ? たとえMS-DOSモードでも。
Meでは廃止されたのかな

495:デフォルトの名無しさん
05/11/09 23:33:29
>>494
事前にコマンドプロンプトからLOCKコマンドは実行したのですが、
それとはまた別の手続きが必要なのでしょうか?
ちょっと調べてみます。

496:デフォルトの名無しさん
05/11/25 00:59:57
ローカルにある三つのファイルをまとめて圧縮したいのですがこれをコマンドプロンプトでやるには
どうしたらいいのでしょうか?DLLはWINDOWS標準でついているものを使いたいです。
例えばC:/マイドキュメントのa.log、b.log、c.logを
c:/work/guro/の下に圧縮する場合
なんてコマンドプロンプトを打ち込めばいいのでしょうか?
どうぞご教授お願いいたします。

497:デフォルトの名無しさん
05/11/25 01:12:49
スレ違いどころか板違い。このへんででも聞け。
スレリンク(win板)

498:デフォルトの名無しさん
05/11/25 01:35:47
>>496
つ[makecab file c:/work/guro/file.cab]

499:デフォルトの名無しさん
05/11/26 05:50:37
PITなんですが、インターバル間隔として設定されている値はどうすれば取得できますか?
例えば#0の場合、40hをただINするだけでは設定値は得られないみたいなんですが・・・
何かコマンドを送って得られましたっけ?

500:デフォルトの名無しさん
05/11/26 11:02:22
あらら500

501:デフォルトの名無しさん
05/11/26 13:23:59
>>499
ググったらこんなの有った。あとはコマンド表見て考えれ

>8253/8254の動作中のカウンタの値を読み出すには、一旦ラッチコマンドを使用して値を確定させます。
>8254は他に "Read-Back command"を用いることで、現在のカウンタの状態(動作モード、OUT信号)を
>読み出すことができます。


502:デフォルトの名無しさん
05/11/27 01:14:31
>>477
|試しにAXに代入する値を0x4100に変えて、
|それ以外はまったく同じ条件でまったく同じセクタを読み込んでみると正常終了します。
ah=41は"IBM/MS INT 13 Extensions - INSTALLATION CHECK"だよ。
EXTENDED READはah=42。
Ralf Brown's Interrupt ListとBIOS Enhanced Disk Drive Specification
を読みなさい。
ほれ。擬似コード。このままだと動かないと思うよ。
inreg.x.ax = 0x4300;
inreg.h.dl = drive | 0x80;
segreg.ds = FP_SEG(pac);
inreg.x.si = FP_OFF(pac);
pac.size = sizeof pac;
pac.reserved = 0;
pac.blocks = sectors;
pac.ptr = FP_OFF(buff);
pac.seg = FP_SEG(buff);
pac.lbalow = lbasec.LowPart;
pac.lbahi = lbasec.HighPart;


503:デフォルトの名無しさん
05/12/01 14:52:14
age

504:デフォルトの名無しさん
05/12/22 15:26:03
DOSで動的リンクについて詳しいサイトとかってあったら教えてください。

505:デフォルトの名無しさん
05/12/22 17:40:04
AsciiNetの過去ログが詳しい。

506:デフォルトの名無しさん
06/02/09 13:51:40
PCを再起動しようと思い、INT 19Hと書いたのですが、
電源が再投入される訳ではないのですね。
Windowsを再起動したときのように、BIOSの起動からやり直すのは
どうすればいいのでしょうか?


507:デフォルトの名無しさん
06/02/09 15:23:07
>>506
JMP FFFF:0000

508:506
06/02/09 18:05:40
>>507
再起動できました!
ありがとうございます。


509:デフォルトの名無しさん
06/02/11 15:07:46
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/  
 (_フ彡        /  ←>>30


510:デフォルトの名無しさん
06/03/29 11:13:26
>175さんの質問に近いのですが質問です。

win2kProで現在動いているWindowsのプロセス(イメージ名)一覧
を返却するバッチを作りたいのですが、
win2kだとtasklistコマンド使えないみたいなので(XPProでは使えましたが)
困っております。どうすれば良いでしょうか?


511:デフォルトの名無しさん
06/03/29 15:22:07
>>510
これを解析
URLリンク(www.vector.co.jp)

ここってピュアDOSのスレじゃないのかな。

512:デフォルトの名無しさん
06/03/29 18:31:10
ピュアDOSなのだと思うが、質問者にピュアDOSかどうかの区別がつかないから仕方がない

513:デフォルトの名無しさん
06/03/29 19:35:10
510は区別がついてるがスレ違いってところだろ。

>>1の書き方見た感じ、VDMはHW直接叩けないからダメだとは思うね。

514:デフォルトの名無しさん
06/04/09 19:20:00
>>499
直接設定値は取得できないが、現在のカウント値を複数回読んで得られる最大の値は
かなり正確な設定値となる。
元ねたはPC-9801スーパーテクニックでシリアル通信速度を取得したい、という例だったかと。
半信半疑で試してみたら本当に正確な値が得られたのでマジびっくり。

>>501
8bit単位で入出力するからいったん16bitまるごと内部レジスタにラッチしないと正しい
カウント値が得られない場合があるんだよね。



515:デフォルトの名無しさん
06/05/13 11:07:36
MS-DOSでDMA転送を使うときに使用するメモリってどうやって確保するのでしょうか?
mallocじゃ無理ですよね?
Linuxだとカーネルメモリを確保する関数があるんですが、MS-DOSでは分かりませんでした。


516:デフォルトの名無しさん
06/05/13 13:55:34
>515
手元に資料が無く、適当に思い出しながら書いてます。

少量なメモリのDMA転送を行う場合:
 普通にmallocして使ってください。

大量(1MB以上とか)なメモリのDMA転送を行う場合:
 ズボラなやり方
  →メモリマネージャを使ってなければ1MB以上は、DOSの管理外なので
   直接書き込んでしまいます。
 真面目なやり方
  →HIMEM.SYSならXMS、EMM386.SYSならEMSというメモリ管理機構が
   使えるので、これでメモリを確保して使います。
   Ver.7以降なら、VCPIやDPMIもデフォルトで使えるかも知れません。
   (そうでなくても、そういうものが使えるマネージャが大抵用意されてます)

517:デフォルトの名無しさん
06/05/13 14:04:08
>515
補足です。

Linuxと違って、DOSは全て特権モードで動いているようなものです。
カーネルは全く保護されていません。
(カーネルが置いてあるエリアを適当に0クリアすれば、いつでもクラッシュできます)
メモリも全く保護されていません。
(メモリ例外は起きません)

安心?して、自由きままなコードを書いて下さい。

518:515
06/05/13 15:15:42
>>517
mallocで大丈夫なのですね。
HDDにDMA転送でセクタ書換を行っていたのですが、
試してみるとエラーとなってしまったのでmallocの問題とばかり
思っていました。
原因は別のところにありそうなのでもう少し調べてみます。
ありがとうございました。


519:デフォルトの名無しさん
06/05/13 15:26:30
BIOSの領域ってDOSからアクセスできますか?

520:デフォルトの名無しさん
06/05/13 15:47:07
>>516
XMS/EMS(除HMA)は物理アドレス取れないからアウト。
多分DPMIでも取れない。
よってズボラなやり方推奨。

521:デフォルトの名無しさん
06/05/13 16:20:48
>>519
BIOSだろうがI/Oだろうがアクセスしまくりです。

522:デフォルトの名無しさん
06/05/13 21:39:08
計算した数値をコンソールに出力したいのですが、どうすればいいのでしょうか?

523:デフォルトの名無しさん
06/05/13 21:50:43
>>522
所謂DOS窓のことならスレ違い。

524:デフォルトの名無しさん
06/05/13 22:03:34
>>523
どこで聞けばいいのでしょうか?

525:デフォルトの名無しさん
06/05/13 23:45:18
>>524
Win32APIスレ辺りかな。つーか、聞く前に探すように。

526:デフォルトの名無しさん
06/05/14 00:25:47
>>525
サンクス。

527:515
06/05/15 11:58:06
IDE接続のHDDにDMAにてセクタを書き換えたいのですがまだ上手くできません・・・。
コンパイラはOpen Watcomを使用して、DOS-32BIT(CauseWay Executable)として
コンパイルしています。
この場合でもmallocしたメモリのアドレスをそのままDMA転送用のアドレスとして
I/O レジスタに登録しても大丈夫なのでしょうか?
物理アドレスに変換する必要とかはないでようか?
mallocにて確保したアドレスは4MBを少し超えたところになります。

I/Oレジスタへ確保したアドレスを登録しても、HDDにはアドレス0以降の内容が
書き込まれてしまいます。

どこかにサンプルソースとかないでしょうか。


528:515
06/05/15 12:56:03
>>527
Open Watcomのスレがあったのでそちらで質問してみます。


529:デフォルトの名無しさん
06/05/15 16:54:06
アセンブラの勉強をしようと思って、MASMでアセンブルしてTurboDebuggerでデバッグしよと
したら、Not a 32-bit Program と言われて拒否されました。

16ビット用のデバッガってあるのでしょうか?

530:デフォルトの名無しさん
06/05/15 17:48:04
>>529
debug, symdeb, exdeb, 16bit用のTurbo Debugger等々

531:デフォルトの名無しさん
06/05/15 18:15:52
>>530
サンクス。
16bit版のTurbo Debuggerもあるんだ。
探してみます。

532:デフォルトの名無しさん
06/05/31 19:14:48
Borland C++ 5.0って32ビットDOSアプリケーションを作れるのでしょうか?
sizeof(int)ってすると2となるので16ビットアプリケーションになっている気がします。。。


533:デフォルトの名無しさん
06/05/31 21:46:08
>>532
32bitDOSアプリケーションを作るのには別売りのDOS Power Packが必要。
DOS Power PackはBC4.0or4.5用だが非公式にはBC5.0でも動く旨の文書がどこかにあったはず。

534:532
06/06/01 00:11:18
>>533
DOS Power Packはプロテクトモードなので今回は使えないんです。

16ビットのままでもなんとか使おうと思っているのですが、__int64が未定義エラーに
なってしまいます。
16ビットコンパイラで64ビット整数を扱うのは無理なのでしょうか???


535:デフォルトの名無しさん
06/06/01 01:25:21
>>534
↓これによるとVer.5.02JのBCC32から__int64が使えるようだが
URLリンク(mulnet.net)
32bit用コンパイラでコンパイルできて 16bit用で出来ないのなら無理なのだろう。

というか普通「32ビットDOSアプリ」というとDOSエクステンダを使ったものを指すので
必然的にプロテクトモード(と仮想86モード)を使うことになるよ。

ちなみにOpenWatcomの16bitコード用コンパイラ(wcl)なら__int64が使えた。
#この場合は16bit用なので当然 sizeof(int) == 2

536:デフォルトの名無しさん
06/06/03 23:10:08
非プロテクトモードで動く32bitアプリってどんなアプリじゃ。
64bitINT型が使いたいだけってことなら、C++でlonglong型を実装すれば
いいんじゃね?

537:デフォルトの名無しさん
06/06/04 06:54:15
x86でプロテクトモードじゃない32ビットアプリ
とか言ってるような輩は相手にするな

538:デフォルトの名無しさん
06/06/04 16:35:09
リアルモードで32bitレジスタアクセスすれば32bitアプリ
・・・とは言わんよな、普通は。

539:デフォルトの名無しさん
06/07/23 02:47:00
最近のマザボでDOSを起動する時、EMSドライバがエラー起こす・・
対策方法とかあります?
それとも諦めるしかない?

540:デフォルトの名無しさん
06/07/23 06:00:36
ウチは大丈夫

情報すくなすぎ


541:デフォルトの名無しさん
06/07/27 00:22:32
>>518
PC/ATのDMAコントローラは64KBごとのブロックをまたがる位置のDMAは
出来ないのでは?
PC-98にもその制限がありDMAするデータのサイズの二倍の領域を
mallocして前半がブロックをまたがる場合には後半の領域をDMAバッファ
にして対処したことがある。
>>527
DMAコントローラには物理アドレスを与える。
Phoenix Technologiesの"PCI-ATA-DMA"は読んだ?
元のPC/ATにはIDEのDMAコントローラは無いから、各社のPCIの
ATAコントローラを直接制御するってこと?PnP大変でしょ?

542:デフォルトの名無しさん
06/07/27 08:14:38
PICやAVRでIDE叩くよりマシ

543:デフォルトの名無しさん
06/07/28 22:10:52
INT 25h や 26h での質問。
セクタライトするとき lock unlock しないといけないはずだけど、どうするの?
解説書が無いので調べられない。細かい説明はいらないからソース書いてよ。

544:デフォルトの名無しさん
06/07/28 22:20:51
できればMASMでお願いします。MS-Cでもいいです。

545:デフォルトの名無しさん
06/07/28 22:45:49
>>539
これでダメならあきらめろ
device=emm386.exe ram frame=D800 i=D800-E7FF

546:デフォルトの名無しさん
06/07/29 01:48:48
>>543
DOS 6.2までならロックいらないでしょ?
>>492 が生DOSでも必要と言っているけどWin95(MS-DOS 7.0)からそうなったの?
資料はRalf Brown's Interrupt Listと
URLリンク(msdn.microsoft.com)

547:デフォルトの名無しさん
06/07/29 10:23:21
>>546
> URLリンク(msdn.microsoft.com)

それはメディアをイジェクトできないようにするロックだな。
int 25h とかで使うのは、Minor Code 4Ah, 4Bh の方。
FAT32にも対応させるなら、↓も見ておくべし。
URLリンク(msdn.microsoft.com)


> >>492 が生DOSでも必要と言っているけどWin95(MS-DOS 7.0)からそうなったの?

自前でロックするか、lockコマンドでロックしておかないとエラーメッセージが出て
DOSが停止したと思うが。アンカーミスってるようだがどこ指したかったんだ?

548:546
06/07/29 21:28:33
>>547
出したかったのは
URLリンク(msdn.microsoft.com)

>>494
だった。orz

549:デフォルトの名無しさん
06/07/30 00:17:16
DOS/V用の表計算やワープロ(エディタじゃない)ソフトを使いたいが
オークションでも出品されてない。
PC-98なら結構あるんだが

誰か作ってくれ!DOS用だからそんなに多機能じゃなくていい、むしろシンプルに!
でも100行くらいしか使えない表計算なんていらないけどね



550:デフォルトの名無しさん
06/07/30 00:31:09
フリーでいくらでもあるのに

551:デフォルトの名無しさん
06/07/30 00:35:24
いくらですか?
ん...? フリーなのに?

552:デフォルトの名無しさん
06/07/30 00:40:59
もしかして子供?

553:デフォルトの名無しさん
06/07/30 01:48:06
MS-Worksはちょっと便利かも。

554:デフォルトの名無しさん
06/07/30 04:58:39
はれ?Works って、DOS用あったんだ。
Win3.1用しか知らんかった。

ん~...
しかし、フリーで DOS用の表計算アプリって、いくらでもって程あったっけ?
ググって見た。

HYO (未だ更新中?)
URLリンク(homepage3.nifty.com)

CXP
URLリンク(hp.vector.co.jp)


参考: (MG LIB: ドスモバ用アプリのライブラリ)
URLリンク(mb.amcsys.com)
超計算 ぺけぺけ
URLリンク(mb.amcsys.com)


555:デフォルトの名無しさん
06/07/30 08:40:10
>>553
未だに使っている。PC-98用とDOS/V用とWin3.1用があったかと。

556:デフォルトの名無しさん
06/07/31 22:22:55
>554
HYOは訳わからないっス

CXPは行数が少ないっス

超計算 ぺけぺけ   最高っス!

おいらはCSVが大好きっス

でもエクセルなんか使っても、100分の1も機能使ってないっス

ぺけぺけは究極のシンプル・イズ・ベストアプリっス

今の付加価値蔓延PC環境の中でおいらはもがいていたっス

こういうシンプリーなものがおいらには合うっス

で、エディタじゃないワープロのものってないっスか

ワードや一太郎はいらないっス

イメージ的にはこんなやつっス

URLリンク(homepage3.nifty.com)

用紙サイズが指定できて、エディタのように文章を打ち続けると改行するまでずーと

右に移動するものじゃなく、きちんと用紙サイズに対応して改行しなくても字が折り返す

やつで、せいぜい罫線が引けりゃ十分というものっス。

よろしくっス!

557:デフォルトの名無しさん
06/07/31 23:50:56
Ver4以下の一太郎。dashでもjump(教育用だっけ?)でも可。(386以下ならVer.3以前)
機能過剰はVer.4からだが、今のようなあからさまな変化(似非DTPソフト化)はVer.5以降。

そもそも文章打ちを最初からワープロでやろうってのが間違い。
入力、推敲はエディタでやって、ワープロソフトではそれ以外の作業を行う。(紙に合わせて文の折り返しの長さを調整したり効果を付けたり。絵や図を入れることも。)
エディタだって折り返しカラム数指定できるものはある。

558:デフォルトの名無しさん
06/08/01 00:03:25
しかし、スレ違いだな。
プログラミング板の話題じゃないよ。



MS-DOS ってどうよ
スレリンク(os板)

559:デフォルトの名無しさん
06/08/01 00:08:06
>557
折り返しできるエデイタでフリーのDos/Vタイプってありますか?

560:デフォルトの名無しさん
06/08/01 06:41:17
>>559
>>558


561:デフォルトの名無しさん
06/08/02 09:18:48
HyperCube

562:デフォルトの名無しさん
06/08/05 08:22:30
DOS で動く Java環境って無いの?


563:デフォルトの名無しさん
06/08/06 11:40:12
レスが無い... 無いのか.... or2


564:デフォルトの名無しさん
06/08/06 13:26:45
グラフィックもネットワークも標準である訳じゃないし
VM作る気にもならなかったとしてもおかしくない罠

565:デフォルトの名無しさん
06/08/10 23:47:26
ハードディスクの ボリュームラベル の作成・変更・削除ってどうするの?

566:デフォルトの名無しさん
06/08/16 00:37:03
保守

567:デフォルトの名無しさん
06/08/17 18:31:04
>>565
labelコマンド

568:デフォルトの名無しさん
06/08/17 21:47:31
>>567
mov  ah,09h
mov  dx,offset msg_korosuzo
int   21h

msg_korosuzo db "一応プログラミングのスレなのでそのレスはいかがな物かと思います。",0Dh,0Ah,'$'

569:デフォルトの名無しさん
06/08/17 21:54:46
system("label.exe …");

570:デフォルトの名無しさん
06/08/17 22:10:50
ボリュームラベル属性のファイルをルートに作るんじゃなかったっけ

571:デフォルトの名無しさん
06/08/17 23:08:15
>565
FAT(FAT12,16,32)は>570の通り。実際にそれを行うコマンドがLabelコマンド。
パーティーション自体に付くラベル(FS非依存)はHDDメニューあたりのエントリを書き換える。

572:デフォルトの名無しさん
06/08/17 23:19:42
わざわざ小細工して互換性の問題出すより
569がいいんじゃないの

573:デフォルトの名無しさん
06/08/18 00:12:34
Int 21h Function 440Dh Minor Code 46h

574:デフォルトの名無しさん
06/08/18 01:40:53
system って無敵関数だったもんな。format とかでお世話になった。


575:デフォルトの名無しさん
06/08/18 01:43:32
おれGUI開発したぜ!

system("win.com")

576:デフォルトの名無しさん
06/08/27 23:46:14
system("del io.sys")
system("del msdos.sys")
system("del command.com")

577:デフォルトの名無しさん
06/08/27 23:56:57
C:\io.sys が見つかりませんでした。
C:\msdos.sys が見つかりませんでした。
C:\command.com が見つかりませんでした。


578:デフォルトの名無しさん
06/08/28 09:27:51
URLリンク(win.com)
URLリンク(command.com)

579:デフォルトの名無しさん
06/08/28 20:52:49
system("del c:\\ntldr")

580:デフォルトの名無しさん
06/08/28 23:56:12
ツリー状にフォルダがたくさんあって各フォルダの中のmp3ファイルだけを抜き出してコピーするにはどうすればいいの?
できれば一度のコマンドもしくはバッチファイルで実現したい

581:デフォルトの名無しさん
06/08/29 00:10:35
>>580
for /R src %i in (*.mp3) do @copy /y %i dst

582:デフォルトの名無しさん
06/08/29 07:52:12
すげー、天才かよ

583:デフォルトの名無しさん
06/09/09 10:09:12
基本的なことで申し訳ありませんが、DOS窓でコマンド手打ちだと動くのに、バッチにすると一瞬で窓が閉じて何もされません・・・
なにがいけないのでしょうか?

584:デフォルトの名無しさん
06/09/09 11:36:33
>>583
バッチファイルの最終行にpauseって書いておくと幸せになれるかもね。

585:デフォルトの名無しさん
06/09/18 20:58:02
>>583
コマンドプロンプト(DOS窓)から実行すればおk。


586:デフォルトの名無しさん
06/09/19 01:00:41
>>583
ftp.bat

587:デフォルトの名無しさん
06/09/21 19:12:48
DOSプログラムからフルスクリーンで
system("notepad.exe");
で実行すると、DOS側がフルスクリーンから
DOS窓になってしまいます。 (TURBOC, MS-DOS)
ALT+Enter で手動で戻すのではなくて、
自動でフルスクリーンに戻すにはどうすればいいですか?

588:デフォルトの名無しさん
06/09/22 21:02:09
MS-DOSでDOS窓を表示させるとは
ただ者ではないな

589:デフォルトの名無しさん
06/09/25 11:17:35
>>588
H/W PC9801 OS Windows98 でフルスクリーンからDOS窓でした orz...

ちなみに「MS-DOS プログラムにWindowsを検出させない」にチェックを入れると
フルスクリーンからDOS窓に変更されることはないのですが、
案の定system関数も実行されなくなってしまいます。

ALT+ENTER キーを仮想で押したかのような実験はまだしてません。
それより何かもっといい手があるかと思いまして。

590:デフォルトの名無しさん
06/09/25 12:29:47
>>587

なぜ、そのような変則的な操作が必要なのか、だれも理解できていないよ。

具体的なシチュエーションを簡潔に述べよ。
(注意:あるソフトで・・・→× とある業務ソフトで・・・→×)


591:デフォルトの名無しさん
06/09/26 11:21:21
>>590
具体的には、
・Win98に作成したDOSプログラムを起動。
・オペレーター(おばちゃん)が特定処理を行うと、CSV形式のデータを出力。 
・その後、DOS側でsystem関数を使用し、作成したWindowsプログラムに
 出力データを引き渡す。
・その際、DOS側では system関数に STARTコマンドを使用し、 /WAIT オプションで一時停止
・Win側プログラムはデータを処理して、LAN経由でサーバーに送信。自身で自動終了。

・DOS側はプログラム終了後に”送信完了しました”と表示。
・フルスクリーンが解除され、DOS窓状態に。
・おばちゃん「なんだか画面が小さくなってます」報告
・上司「なんとかならんのか」報告

DOSプログラムをWinに変更出来ないのはクライアントの予算の問題 orz

592:デフォルトの名無しさん
06/09/26 18:52:44
最初っからDOS窓にしときゃいい。

593:デフォルトの名無しさん
06/09/26 19:52:30
>>591
全画面とウィンドウ表示を切り替える関数は、Windows APIですらXP/2003でようやく実装されたという次第。
URLリンク(msdn.microsoft.com)

まして9xのシステムコールでは存在するわけがなかった。
URLリンク(msdn.microsoft.com)

ところで、DOS窓へAlt+Enterをプログラムから送ってみたらどうだろう?
それを行うだけのWin32プログラムを作ってさ。

594:デフォルトの名無しさん
06/09/26 21:39:59
Win9xだからWM_SYSCOMMANDで適当にそれっぽいの送るなんていう
いい加減な方法でも動作したような

595:デフォルトの名無しさん
06/09/29 00:22:30
>>590
理路整然が邪魔になることもままあることを学べ。学生よ。

596:590
06/09/29 00:44:05
>>595
学生じゃなくてファーム屋なんだが。


>>591の苦労は俺も味わったことがある。

俺の場合は、工員さんがDOSの黒い画面を毛嫌いするから逆だったが。


597:デフォルトの名無しさん
06/09/29 00:51:37
>>596
農家か。

598:デフォルトの名無しさん
06/09/29 16:18:02
>>26
モロにハード周りの書籍「PC9801スーパーテクニック」っていう
本持ってるけど、誰か買ってくれないかな。
今書籍名で検索したら3500円だかでオクに出されてたけど
送料込み2000円ぐらいでいい。俺にはもう用がねえんだ。
中古屋に糞みたいな値段で売るのも癪だし必要な人間に売りたいので
処分に困ってるw

思えば中学生のころQuick CでINT21hとかやってたわ。懐かしい。


599:598
06/09/29 16:30:49
すみません↑はスルーしてください。
amazonで中古が400円とかで売ってたわ。
シャレになんねーなこの価格崩壊。当時5000円もしたのにw


600:デフォルトの名無しさん
06/10/03 04:27:19
注文前に相場教えてくれてありがとう

601:デフォルトの名無しさん
06/10/03 08:39:53
PC9801スーパーテクニックって俺も持ってるわ。
あと、アセンブラの本が3冊出てきた。

602:デフォルトの名無しさん
06/10/03 10:42:23
UNDOCUMENTED DOSが出てきた

603:デフォルトの名無しさん
06/10/03 22:42:52
>>598
俺もそれ持ってるw

>>601
俺と環境がそっくりだww


604:デフォルトの名無しさん
06/10/05 11:23:17
テキストファイルの全行を削除するDOSコマンドは
ありませんでしょうか?

605:デフォルトの名無しさん
06/10/05 11:33:12
copy /y nul ファイル名

606:デフォルトの名無しさん
06/10/05 11:41:13
del fileして、copy nul fileとか?

607:デフォルトの名無しさん
06/10/05 12:33:22
del > file

608:デフォルトの名無しさん
06/10/05 19:11:38
rem > file

609:デフォルトの名無しさん
06/10/06 12:10:48
copy nul fileで出来ました。
ありがと!

追加で
テキストファイルが空(0行、nul)ではない場合
Excelを起動するコマンドありますか?

610:デフォルトの名無しさん
06/10/06 17:07:52
↓を改行せずに1行で記述

mshta.exe "javascript:
try{new ActiveXObject('Scripting.FileSystemObject').GetFile('file').Size&&ne
w ActiveXObject('WScript.Shell').Run('excel.exe');}catch(e){}finally{close();}"

611:デフォルトの名無しさん
06/10/06 18:19:33
>>610
解りませんでした

言い方かえます。
テキストファイルのサイズがゼロ以外の場合、Excelを実行する
BATなんですけど

宜しくお願いします

612:デフォルトの名無しさん
06/10/06 18:50:23
>>611
メモ帳の使い方から教えろと言うのか?

613:デフォルトの名無しさん
06/10/06 18:56:45
>>612
言ってません。
BATファイルの作り方です。


614:デフォルトの名無しさん
06/10/06 19:28:17
メモ帳に>>610
mshta.exe "javascript:try{new ActiveXObject('Scripting.FileSystemObject').GetFile('file').Size&&new ActiveXObject('WScript.Shell').Run('excel.exe');}catch(e){}finally{close();}"
をはりつけて、拡張子を.batにして保存すればいいのでは

615:デフォルトの名無しさん
06/10/06 19:38:06
そもそも"MS-DOS"用のExcelはない。

616:デフォルトの名無しさん
06/10/06 20:25:05
そもそもActiveX自体がWindows専用だけどね。

>610
警告:悪質なスクリプトを検出しました

オブジェクト:FileSystem Object
活動:GetFile

コンピュータが停止しました。このスクリプトを処理する必要があります:

ファイル:
C:\Documents and Settings\***********\デスクトップ\javascript:try{new ActiveXObject
('Scripting.FileSystemObject').GetFile('file').Size&&new ActiveXObject('WScript.Shell')
.Run('excel.exe');}catch(e){}finally{close();}

どう処理しますか?

処理:
  このスクリプトを停止する (推奨)
  この活動を 1 回許可する
→スクリプト全体を 1 回許可する
  このスクリプトを認証する

617:デフォルトの名無しさん
06/10/06 20:27:35
ウイルスを掲示板に張るなボケカス

618:デフォルトの名無しさん
06/10/06 20:35:16
偉そうに根拠のない因縁つけてくるのは先生の方だけどね。

619:デフォルトの名無しさん
06/10/06 20:50:38
GetFileを使おうとしただけで悪質なスクリプト扱いか。

620:デフォルトの名無しさん
06/10/06 21:10:21
↓あたりはノートン先生もご立腹なんだろうな。

WSH(・∀・)スレッド!
スレリンク(tech板)l50
HTAをもっと流行らせる計画
スレリンク(tech板)l50

というわけで純粋なDOS環境の話でなければ↓や↑を見るといいですよ。

初心者~管理者まで必読!コマンドライン(DOS Pt.5)
スレリンク(win板)l50

621:デフォルトの名無しさん
06/10/07 19:55:35
>>618
他人が妹のパンツをずらそうとしたら、兄として君は怒るだろう?

622:デフォルトの名無しさん
06/10/07 20:38:54
>>621
ずらしたい奴がずらせばいいと思う

623:デフォルトの名無しさん
06/10/08 00:05:14
開発環境として聞きたいんだけど、
みんなが使ってる環境ってどんな感じ?

自分は家では、
OS: PC DOS 2000
CC: LSI-C
使ってるんだけど、ノートで使うと省電力機能がほとんど使えないから
バッテリの消費が激しくて使えないから、BSD使ってる。

モバイルでDOS使ってる人っている?

624:デフォルトの名無しさん
06/10/08 01:51:33
dosidle 入れてもダメ?

625:デフォルトの名無しさん
06/10/08 01:56:46
開発環境としてなら、普通にWindowsのDOS窓でいいと思うのだけど。
どうしても純DOSでないと駄目?

626:デフォルトの名無しさん
06/10/08 02:05:33
>>625
Windows 9xは不安定
しかも窓だと色々と縛りがあったりしてウザイ

627:デフォルトの名無しさん
06/10/08 02:53:40
>>626

2kにしない理由は?


628:デフォルトの名無しさん
06/10/08 03:01:15
>>627
2KにDOSなんてねーだろ
エミュレータ使えってことか?

629:デフォルトの名無しさん
06/10/08 03:26:36
>>628
そういう言葉尻はどうでもいいからさ

つかさ、2kのコマンドプロンプトで出来ないことって、
そんなにないだろ。

パラレルポートの制御だってドライバいれればできる。
OSの乗換えを検討したほうがいいと思うのだが?


630:デフォルトの名無しさん
06/10/08 04:12:26
>>629
多分君はDOSを使う必要がないからコマンドプロンプトでいいんだと思う。
ここはDOSのスレであって、コマンドプロンプトでできることを話すスレではない

631:デフォルトの名無しさん
06/10/08 06:54:39
>>630
2KのコマンドプロンプトはDOSのシステムコールエミュレータだから
こいつで動かせないような直接ハード叩くようなコードは
それこそDOSスレで話す範疇じゃあなくなるんだが? 藻前さんの理論だとさ。

批判のための批判は自分の首締めるだけだからやめといたほうがいいよ。

632:デフォルトの名無しさん
06/10/08 07:05:26
直接ハードを叩かないDOSプログラムなんて、つまんなーい!

633: ◆0uxK91AxII
06/10/08 07:08:58
開発環境 コマンド プロンプト、所謂DOS BOX
実行環境 実機+DOS

634:デフォルトの名無しさん
06/10/08 07:20:43
デスクトップPCでISAバスの工業用ボード使ってれば別だが、
問題提起した人間はノーパソ使ってるって言ってるしな、
さほど特殊な環境じゃないだろう。

というわけで>>630の負け。


635:デフォルトの名無しさん
06/10/08 07:40:58
ハードがPCでよければ、WMWareとかqemuにPC-DOSインストールすれば
外側は省電力の効くWinのまんまでハードも叩ける開発環境がゲットできる

636:デフォルトの名無しさん
06/10/08 13:23:08
コマンドプロンプトでDOSのゲームができるとでも思ってるのか?

637:デフォルトの名無しさん
06/10/08 14:07:32
NetHackならできたぞ

638:デフォルトの名無しさん
06/10/08 19:12:54
できるよね


639:デフォルトの名無しさん
06/10/08 21:09:20
>>631
おまえさぁ、DOSシステムコールだけでプログラミングなんてあり得んでしょう。

640:デフォルトの名無しさん
06/10/08 21:10:24
>>634
>デスクトップPCでISAバスの工業用ボード使ってれば別だが、

えらい限定しますね、あなたのお仕事はよく分かりましたが・・・。


641:デフォルトの名無しさん
06/10/09 03:54:55
unko

642:デフォルトの名無しさん
06/10/09 09:34:57
del D:\xxx\yyy\*.txt

でゴミ箱に行かない削除ってできましたっけ?
shift+ctrl+削除みたいのDOSコマンドでできますか?

643:デフォルトの名無しさん
06/10/09 09:35:40
DOSどころかコマンドプロンプトすら全く使ったことがないのが丸わかりな質問だな

644:デフォルトの名無しさん
06/10/09 09:52:17
>>643
で?


645:デフォルトの名無しさん
06/10/09 10:06:06
>>644
>643

646:デフォルトの名無しさん
06/10/09 10:20:49
>>645
>644

647:デフォルトの名無しさん
06/10/09 11:34:20
>>646
>643

648:デフォルトの名無しさん
06/10/09 11:50:55
ウンコ

649:デフォルトの名無しさん
06/10/09 12:07:22
ウンコ迷惑


650:デフォルトの名無しさん
06/10/09 12:10:21
>>649
そらそうだ。と、誰もが思った。

651:デフォルトの名無しさん
06/10/09 16:43:31
ここはいつから 「コマンドプロンプト相談スレ」 になったんだ?

652:デフォルトの名無しさん
06/10/09 17:17:16
コマンドプロンプトとDOSの違いもわからない奴が蔓延してるから
どうしようもない

653:句読点書けないバカをサマージャンボする俺 ◆9NQzQ21lx.
06/10/09 19:24:27
>>652


654:デフォルトの名無しさん
06/10/09 20:53:55
2chで句読点を求めるなよ。

655:デフォルトの名無しさん
06/10/09 23:30:20
>>639
DOS窓はDOSじゃないなんてつまんないこと言ってるから
ハード叩くのはDOSの範疇じゃないだろ、という
至極原理的な反応返されただけの話。

それとも、ハード叩かないのはDOSプログラミングではない
とでも言うつもりか?

656:デフォルトの名無しさん
06/10/09 23:52:10
一人しか言ってないのに、すべてが自分の対極とはどんな思考回路だ?

657:デフォルトの名無しさん
06/10/10 00:00:21
別にDOS上でハードに直接アクセスするのはDOSプログラミングの範疇だと思うが。

658:デフォルトの名無しさん
06/10/10 00:36:35
>>656
漏れもその一人しか相手してないつもりだが
そう読めなかったなら書き込み不足だな、申し訳ない

>>657
もちろんその通り
同じようにWin上のDOS窓だってDOSプログラミングの範疇だ
>>630に反論してるだけ

659:デフォルトの名無しさん
06/10/10 01:05:03
暇なのか?
>>630は書き込んでねーだろ

660:デフォルトの名無しさん
06/10/10 01:52:51
よーするに、ターゲットがDOS上で動くなら開発環境は
実機だろうがDOS窓だろうがエミュだろうがなんだっていいんじゃないの
ってことだろ。

つまらんことを何時までもグダグダと反論してるなよ。

661:デフォルトの名無しさん
06/10/10 03:30:48
これだから今時のDOS使いは・・・

662:デフォルトの名無しさん
06/10/10 05:30:33
VC++6でコンソールアプリケーションを作って
コマンドプロンプトやそれを全画面にして動かすのは出来たのですが
DOSをフロッピーから起動したところで実行すると変なエラーが出て
(スタブが云々)実行されません。どうすればよいのでしょうか?


663:デフォルトの名無しさん
06/10/10 05:31:35
あ、言い忘れましたが、WindowsAPIは一切使っていません。
DOSのシステムコールだけで作っています。


664:デフォルトの名無しさん
06/10/10 05:55:35
DOS用のコンパイラで作る

665:デフォルトの名無しさん
06/10/10 19:08:52
VC++6はWindowsアプリケーションしか作れない。
コンソールアプリケーションだって、Windowsアプリケーションの内。

663のいうDOSのシステムコールとは何なのか気になる。
想像は付かなくもないが。

666:デフォルトの名無しさん
06/10/10 23:06:55
Windows用のコンパイラ使うとたとえコンソールアプリケーションでも
出来る実行ファイルはNE(Win3.1まで)ないしPE(NT系およびWin95以降)。

ついでに言うなら裏でWinMainだって動いてるしCの標準関数もMSVCRT.DLL等の
DLLを呼び出して実現しているわけで。
裏でWindowsAPIが使われているのだから純粋なDOS上では動きません。

MS-DOSのシステムコールはINT20h~27h,拡張用は2Fh。
指定レジスタにパラメータ入れて呼び出し。
BIOS,ハードウェアへの直接アクセスの制限もないから
直接叩いたほうが早いこともあるけどね。

・・・・・・・って言って理解できればいいけどね。

667:デフォルトの名無しさん
06/10/10 23:23:49
そこでなぜか、「WindowsアプリケーションからINT 21hを読んだがうまくいかない」という方向へ↓

668:デフォルトの名無しさん
06/10/11 00:04:47
win16なら使えるがな

669:デフォルトの名無しさん
06/10/11 00:27:08
Win32でも使う裏技がある。といってもWin9xだけだが。

670:デフォルトの名無しさん
06/10/11 20:45:06
>669
そーゆーことするから2kやxpで動かないソフトが続出して困るんだよね。

671:デフォルトの名無しさん
06/10/11 23:30:08
>>670
いや、それだけはありえないから。あの裏技、マイナーすぎ。

672:デフォルトの名無しさん
06/10/12 02:40:16
自演乙

673:デフォルトの名無しさん
06/10/12 07:01:42
自演乙乙

674:デフォルトの名無しさん
06/10/12 11:34:43
>>668
win16だとリアルモード以外は286のプロテクトモードか286ディスクプリタで動いていたと覚えているが
どういう仕掛けでint xx系のソフト割り込みが使えていたんだろう。

675:デフォルトの名無しさん
06/10/12 15:36:29
DOSエクステンダでぐぐってみ

676:デフォルトの名無しさん
06/10/12 20:39:46
つーかWin16はint 21h使うのが前提だったから
ファイルアクセス系のAPIがちゃんとそろってなかった

677:デフォルトの名無しさん
06/10/13 01:30:08
呼ばれるたびにCPUリセットしていたらしいが


678:デフォルトの名無しさん
06/10/13 01:31:24
だって、リセット以外にRealモードに移行する手段がないんですもの。

679:デフォルトの名無しさん
06/10/13 06:22:56
それは286の話。386以降では仮想86モードでリアルモードコードを実行していた。

680:デフォルトの名無しさん
06/10/13 06:53:57
メモリ4Mくらいの386マシンで
一度プロテクトモードに移行してから
セグメントのリミットを4Gに設定してリアルモードに戻り
16bitコードで全領域にアクセスして、なんとなく偉くなった気分になってたな。

仮想86モードでは使えないし、あまり意義はなかったんだけど。

681:デフォルトの名無しさん
06/10/13 07:15:42
面白いと思うよ。

682:デフォルトの名無しさん
06/10/14 00:03:47
壁があることには変わりない

683:デフォルトの名無しさん
06/10/14 05:51:24
そりゃ今でこそ4GBも「壁」として認識されだしたけど

684:デフォルトの名無しさん
06/10/14 06:50:04
DOSの頃作られたlhaやzipはほとんど2G/4Gで壊れる死ね

685:デフォルトの名無しさん
06/10/14 08:37:57
そもそもDOSって4GB超のファイル対応してたっけ?

686:デフォルトの名無しさん
06/10/14 09:58:50
>>685 「そもそもDOS」ってどこのOSなんだろう。

687:デフォルトの名無しさん
06/10/14 09:58:59
>>685
対応していない。おそらく存在できない。

DOSでアクセスできるFAT16はパーティションサイズが最大2GiBまで。
FAT32も1ファイル4GiBまで。

688:デフォルトの名無しさん
06/10/14 13:41:33
>>666
int86位知っとるわバーカ

689:デフォルトの名無しさん
06/10/14 22:03:51
あの... int 21h とか、int86 とかって、何ですか?
ググったり、ヤフったりするのは嫌いなんで、
ウィキペディアったんですけど、わかりませんでしたorz...


690:デフォルトの名無しさん
06/10/14 22:38:10
int86はMS-DOS用C処理系で使える関数のひとつ
書式:
#include <dos.h>
int int86(int intno,union REGS *in,union REGS *out);

LSI-C86試食版でも使えるからそっちのマニュアル参照。
URLリンク(www.vector.co.jp)

int 21hはMS-DOSのファンクションコール呼び出すときの割る込み番号(アセンブラ表記)
こっちはMS-DOSプログラミングを勉強して来いとしか言えない。

691:デフォルトの名無しさん
06/10/14 23:06:57
ここは、古参のパソ通を彷彿とさせる素直な人が多いから好きだけど、
たまにバカが混じるから困るんだなコレが。

検索で調べる作業さえ嫌うバカの>>689にそんな説明しても、
わかる訳無いよ(wwwwww

>>689へ。勉強する近道はググることだ。覚えておけ。
昔と比べて、どれだけ調べ物が効率的になったか気づいてくれ。

そして、Web上にドキュメントを作成した先駆者に
感謝の気持ちも忘れないようにな。


692:デフォルトの名無しさん
06/10/14 23:27:14
ウィキペディアで一番近い内容と言ったらこれかな。
URLリンク(en.wikipedia.org)

693:デフォルトの名無しさん
06/10/14 23:36:11
>>689
そこはウィキペディアしか調べてなくてもウィキるって言わないと

694:デフォルトの名無しさん
06/10/15 00:05:54
ウィキているということー

695:デフォルトの名無しさん
06/10/15 00:12:41
Ralf Brown's Interrupt List
URLリンク(www.ctyme.com)

696:デフォルトの名無しさん
06/10/15 22:35:03
Interrupt ListもWebで鑑賞できる時代になったか。
PC-9800関係の割り込みは当然ながら載ってないけど。

697:デフォルトの名無しさん
06/10/15 23:57:08
かなり昔からあった覚えがあるが

698:デフォルトの名無しさん
06/10/16 05:37:16
          ,,,.. ‐‐ ...,,,
       ,..::':.,:.:.:.:.:.:.:.:.:.:.:.:=.:=.、
     ,/.:.:.:/:.;.;.;.、.:.、:.:.:.、:.:.:.‐:.‐`、ヽ::ヽ,
    ./.:.:.ミ/""" ヽ:.:、:.:.:、:、.:.:.:.:.:.:i !..ヽ:.;、
.    /i:/"      ヽ:ヾ:.:ヽ:、;;:.:.:.:|  ヽ:.:.i
   / |:i |         >、ヽ:.、ゝッ.:.:|   ヽ:l
.  / |::| l      /,,,=.-、\:/z;.:+‐T ̄.:.:|      / ̄\
 /  l:.l.----     "{;;;;'..} ヽ /r.= 、j.:.:.:.:.:.|     |      |
 `ー-..l:.l /,=、      `ー.'   i/|ト` }|:.:.:.:.:.:i!    |  わ  |
  |.:.:.:ト」. i !;:::'j      "".  ! |- ノ L|:.:.:.:.i!    |  ざ  .|
  |.:.:.:.|ヽ{ヽ`´  '           /".   |:.:.:.:|i!  ∠.  と  .|
  |.:.:.:.i!  ヽ"          ,.'      |:i:.:.:|i!.   |  !  |
  |.:.:.:|i!  ヽ、   (_.)   ,/>‐‐‐ 、 .|:i!.:.:|l..   |      |
  |:|:.:.| i    ` ー-- 一 /   /-、リ.|.:.|.i.    \_/
  i:il:.:| i      /<' 、    // `t.|.:l |
.  l!i:.:| i     ゝへ.ヽソ\_///    `|;!
   ! i:.|      / ヽ〈::`::〉、   V /   ヽ



699:デフォルトの名無しさん
06/10/16 05:40:46
Interrupt ListってPC98のBIOSも何故か微妙に乗ってた記憶があるがw

700:デフォルトの名無しさん
06/10/16 08:02:23
int 10h

701:デフォルトの名無しさん
06/10/16 19:04:20
V!G!A!
V!G!A!

702:デフォルトの名無しさん
06/10/16 22:23:33
いや、ここはあえてDCGAで

703:デフォルトの名無しさん
06/10/16 22:34:54
9801

704:デフォルトの名無しさん
06/10/16 22:57:23
ウィキるのにつかれました... orz
つってきます.. さようなら...


705:デフォルトの名無しさん
06/10/19 06:13:36
キャラジェネ

706:net time
06/10/19 22:10:56
コマンドに"net time"時刻同期のコマンドがあるのですが、1度コマンドを実行すると10秒ほど経たないと次の"net time"コマンドが飛ばないようなのですが、すぐに2回目のコマンドを飛ばすことはできないのでしょうか?
ご教授願います。

707:デフォルトの名無しさん
06/10/19 22:16:49
>>706
NET TIMEってLAN MANAGERのことならなんとか範疇かもしれない。
COMMAND PROMPTの使い方はすれ違い。

708:デフォルトの名無しさん
06/10/25 11:50:40
今、98Emu(np2.exe)+LSI-C86試食版で
テキスト表示のゲーム作ってるんですが、
画面下部に表示されているファンクションキー表示と、
カーソルの点滅を消す方法って、どうすれば良いんでしょうか。

ゲームは動いてるんですけど、カーソルはちかちかしてるし、
ファンクションキーは使わないのに表示が残っているしで、
なんか格好悪いんです。
どなたか教えてください。

709:デフォルトの名無しさん
06/10/25 13:03:13
>708
LSI-C86を使ったことがないからわからんけど
TurboCではconio.hに_setcursortypeってのがあって
NOCURSORだっけかな?を指定するとカーソルを表示しなくなる、てのがあった。はず。
参考にはならんかな・・・

710:デフォルトの名無しさん
06/10/25 14:18:12
これで大体足りるでしょ
URLリンク(www.google.co.jp)

711:デフォルトの名無しさん
06/10/25 16:30:32
>>709-710
ありがとうございます。
エスケープシーケンスで解決できました。
割と単純な方法で済んでほっとしました…。w

712:デフォルトの名無しさん
06/12/01 12:31:45
net sendコマンドを使用して
コンピュータ名とメッセージ内容の
入力を求め、その内容で送信するようなものを
作りたいのですがどうすればいいんでしょうか?

713:は@ c178.016.c3-net.ne.jp ◆cplnFO9T0I
06/12/02 17:59:03 BE:136177193-2BP(1000)
>>712
気合いで結合してsystemに入れてみる

714:デフォルトの名無しさん
06/12/02 18:13:43
>>498
>>ぴゅあさん
classpath何とか解決できました!!コンパイルもできました!!!
本当にありがとうございました!

715:デフォルトの名無しさん
07/01/21 11:47:46
XPのコマンドプロンプトから壁紙を変更する方法を
教えてください


716:デフォルトの名無しさん
07/01/21 11:57:08
changerootwindow.reg
というファイルを作る

717:デフォルトの名無しさん
07/01/21 12:00:24
\\HKEY_CURRENT_USER\Control Panel\Desktop\ConvertedWallpaper
\\HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper


718:デフォルトの名無しさん
07/01/21 12:39:06
レスありがとうございます

DOS窓で
\\HKEY_CURRENT_USER\Control Panel\Desktop\ConvertedWallpaper a.bmp
とするとネットワークパスが見つかりませんとでます

WinXPがDドライブだからでしょうか?


719:デフォルトの名無しさん
07/01/21 13:57:30
>>718
| 何について調べますか?
| ┌──────┐
| |レジストリとは          |
| |                  |
| └──────┘
| [ オプション(O) ]   [ 検索(S) ]
| 
`─────┐ ┌──
           , '´l,  ..| ./
       , -─-'- 、i_  |/
    __, '´       ヽ、
   ',ー-- ●       ヽ、
    `"'ゝ、_          ',
      〈`'ー;==ヽ、〈ー- 、 !
       `ー´    ヽi`ヽ iノ
                ! /
              r'´、ヽ
              `´ヽノ


720:デフォルトの名無しさん
07/01/21 14:00:00
\\HKEY_何たらで始まっている時点でレジストリキーのパスだって事に気づかないと。

regeditのコマンドラインからの使い方を知らないことには・・・

721:デフォルトの名無しさん
07/01/21 15:52:32
そもそもスレ違いだ。

722:デフォルトの名無しさん
07/01/21 16:23:41
>>715です
>>721 スレ誘導お願いします


723:デフォルトの名無しさん
07/01/21 16:27:56
>>722
初心者~管理者まで必読!コマンドライン(DOS Pt.5)
スレリンク(win板)l50

724:デフォルトの名無しさん
07/02/03 21:38:08
何でレジストリが\\HKEYから始まるわけ?

725:365
07/02/07 12:14:03
DOSで あるプログラムを、a.exe "引数パス指定" と起動しているのですが、
引数パス部分に空白が混じっていると、引数が2個と判定されうまく動きません。
空白が混じっている引数パスを一個のものとして認識させるには、
どうすればいいでしょうか?

726:デフォルトの名無しさん
07/02/07 12:26:29
>>725
a.exe の仕様によって異なる。


727:デフォルトの名無しさん
07/02/07 16:12:31
>>725
a.exe が本当にDOSならばパスに空白が入ることはない。

a.exe C:\DOCUME~1\HOGE\MYDOCU~1\ABCDE~1.TXT


728:デフォルトの名無しさん
07/03/15 22:55:25
古いけど
はじめて読むシリーズは最高にわかりやすくてよい

729:団塊親父
07/03/21 13:24:38
プロフェショナルの皆様、教えて下され
PC9821+MS-DOS6.2-Mind(Forth風言語)+MASMで
機嫌良くデジタルIOボードを使いロジックアナライザやプリント基板CADとかのアプリを作って遊んでおった
やっぱり640×400dotのグラフィックが苦しくて、環境移行を考えWindowsのVBとかVCとか触ってみたんだが
何かDOSより退化している気がした、WebもNETもマルチタスクも要らないとしたらDOSがマシなのでは
 例えば10msのタイマを作ろうとしてもダメだった、
 ハードも直接叩けないらしい。
 VBのピクチャボックスではスクロールすらできないようだしN88BASICより貧弱と思った
「何じゃこりゃ」という感じだった。

この感想は当っていますか?
現在PC/AT用のDOSは売られていますか?、探したけれど見つからなかった
Windowsでも腕を磨けばDOS以上のことができる?
Windowsでは無理、他のお勧めOSはありますか?
良き指針をお願いいたします。



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch