コンドームやピルなど使わずにダイレクトにIN/OUTするのが俺流
まるでピルを使うとダイレクトではなくなるような誤解乙。
935 :
デフォルトの名無しさん:2009/01/17(土) 13:24:49
>>929 一般人はいいよなぁ
ろくすっぽ資料の存在しない機械と格闘しなくてもいいから...
DOSなのに資料が無いって・・・
Windowsは、ハードの細かい仕様を気にせずに済むのがいいところだな
てか、ハードを動かすプログラムを書く奴はめったにいない。
鈍臭いアプリばっかり。
>>929 時代も変わったようだな。
坊やみたいなのがDOSプログスレの住人とはな。
だが、戦場であったらこうはいかないぞ。がんばれよ。
(って、20世紀の有名なネタも通じないのだろう f(^ー^;)
爆釣
941 :
デフォルトの名無しさん:2009/01/24(土) 00:06:19
ところで、PC-98 と PC-AT の I/O ポートの一覧というか空きポートが記されている表とかある?
昔の N88-BASIC のソフトを移植してくれという依頼が来た。
どんなソフトだ?
そもそも、ソフトの移植に何で空きポートが関係するんだ?
945 :
デフォルトの名無しさん:2009/01/25(日) 12:19:11
I/Oポートの話に割り込むようで悪いが、メモリの場合は、
Bit0-8 Bit9-15 Bit16-23 Bit24-31
0800H [あ] [い] [う] [え]
0801H [い]
0802H [う] [え]
0803H [え]
0804H [か] [き] [く] [け]
0805H [き]
のように設計しているから、
mov ax,ds:[800h] ; AX=いあ
と
mov al,ds:[800h]
mov ah,ds:[801h] ; AX=いあ
が同じ内容になるんだけど、I/Oポートの場合は、
Bit0-8 Bit9-15 Bit16-23 Bit24-31
0080H [あ] [い] [う] [え]
0081H [お]
0082H [か] [き]
0083H [き]
だとすると、
in ax,80h ; AX=いあ
と
in al,80h ;
in ah,81h ; AX=おあ
が違うって事か。(82h/83h ではメモリのような設計なので同じになる)
Y/N (?)
>>941 神田神保町へ行けるくらいならいっそのいこと国会図書館(東京本館)までいってこい。
日本国内で出版された書籍・雑誌ならほぼすべて所蔵しているから本のタイトルが判るならそっちのほうが確実。
検索と登録利用者用サービスの一部はネット上から使える。貸し出しは出来ないけどな。
>>943 制御用にでも使ってたんだろ。それで専用の拡張ボード使ってて、ハードごと移植ってことでは?
>>945 そんな単純な問題では・・・
ttp://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol1_Online_i.pdf >13.3. I/O アドレス空間
>連続する2 つの8 ビット・ポートを1 つの16 ビット・ポートとして、また連続する4
>つの8 ビット・ポートを1 つの32 ビット・ポートとして扱うことができる。
>アライメントが合っていないポートにアクセスするためのバスサイクル順序は特に
>定義されていない
>ハードウェアまたはソフトウェア上の理由でI/O ポートに書き込む順序が決められ
>ている場合は、その順序を明示的に指定する必要がある。
「13.6. I/O の順序」もあって、これも場合により重要になる。
>制御用にでも使ってたんだろ。それで専用の拡張ボード使ってて、ハードごと移植ってことでは?
それを「N88-BASICのソフトの移植」とは普通は言わないと思うんだ。
948 :
デフォルトの名無しさん:2009/01/25(日) 20:39:59
Cバスユニバーサル基板か何かでI/Fを自作していたらあるかもね。
市販品だが、Cバスのフレームバッファを弄ってた記憶があるな。メモリとIOの両方でアクセス出来る。
アセンブラだったけど。
I/Oアドレスの一覧がわかったところで、もっと具体的というか実践的な使い方がわからないと
解析は難しいと思うんだけどね。
OUT 5FHみたいな変なポートもあったし、しかも機種ごとに働きが違ったりね。
何かの実行ファイル(hoge.exe)が
あるファイル(hoge.log)を掴んでいて、
コマンドプロンプトからは書き換え不可(他のプロセスが使用中)で
エディタで開くと更新可能です。
これをbatで編集(空にする)したいのですが、どう書けばいいですか。
ご教示願います。
エディタが読み込み専用モードで開いているだけでは?
本当に内容を更新できるの?
他のプロセスが書き込みモードで開いているなら、書き込めないはず
エディタでやると開くときから何も言われないんですよ。他で使ってるから上書き禁止、って注意もなく更新できてしまう。
今はプロセス落とすことなく6コのログファイルを手動でクリアしてるんだけど、batで1クリックでやりたいんです。
空っぽにはできないけど
echo "" > huga.txt
それが効かないんです。
batで作って、いくらたたいても反応ないなと思い、コマンドラインから打って見てみたら「他のプロセスで使用中」って。
プロセスを止めればいいじゃん
>>956 0バイトのファイルを作るには
COPY NUL hoge.txt
TYPE NUL >hoge.txt
などでできるよ
>>958 すげえな、最上レベルの読解力のなさだなw
>>960 そういうことは、解決策を提案してから言え
ハンドル閉じれ
>>953 DOSとは違うし、目的と手段を混同していそうで、頭が悪そう。
ふつう unix などで昔から使われている手法だけど
(Windows風に書けば)
プロセスを止める(TASKKILL か NET STOP などで)
ログを空にする(COPY NUL hoge.log か RENAME hoge.log 日付.log みたいな感じで)
プロセスを再開する(hoge.exe か NET START などで)
これが普通の方法だよ。
具体的にどう書けばいいのかは、hoge.exe の仕様によるから・・・
元がWindowsでコンソールアプリの話っぽいから、たぶんスレ違い。
みんなの自慢のバッチの機能を教えてくれ。
967 :
デフォルトの名無しさん:2009/07/21(火) 18:24:00
super.libの説明書、質疑応答ファイルの方に書いてある処理時間って
どうやって計測したか判る方はいらっしゃいますか?
つ。プロファイラ。
969 :
デフォルトの名無しさん:2009/08/07(金) 02:01:37
>>968 ありがとうございます。LSI C-86の試食版で測ってみます。
970 :
デフォルトの名無しさん:2009/08/07(金) 02:05:38
って、LSI C-86に付いているプロファイラだと計測できませんね。
TurboCの方でできることを期待しておきます(すぐ出せる状態にない
971 :
デフォルトの名無しさん:2009/08/10(月) 12:30:33
ここで質問していいですか?
set m=0123
if !m:~0,1! == 0 (echo !m:~0,1!) else echo else
この「if !m:~0,1!〜」っていう書き方ってできなかったですか?
972 :
デフォルトの名無しさん:2009/08/10(月) 14:55:52
MS-DOSで何をプログラミングしているのですか?
できなさそうだね・・・
set m=0123
if %m:~0,1% == 0 (echo %m:~0,1%) else echo ...
とするか、
setlocal enabledelayedexpansion
set m=0123
if %m:~0,1% == 0 (echo !m:~0,1!) else echo X
だな。
! ! は遅延展開なので、遅延させてしまってはIF式を評価できないんだろね。
MS-DOSで遅延展開なんて出来ません
975 :
デフォルトの名無しさん:2009/08/10(月) 22:07:39
MS-DOSでプログラミングすることで得られる技術って何があるの?
例えば、極端ですがアセンブリ言語やC言語及びMS-DOSのアーキテクチャに詳しくなれる
とか、
no
977 :
971:2009/08/10(月) 22:50:35
>>973 なんですとー
%と!の変数が混在するパターンもあるのですね
ifの中でsetする必要があるので、後者でいけました
ありがとうー
>>975 Cとかポインタを多用する言語には最悪の環境です。
979 :
デフォルトの名無しさん:2009/08/11(火) 03:20:49
>>975 プロテクトメモリを自由に使えるようになる。
WINやLINUXと違い、リニアに4Gでも16Gでも使い放題。
>>975 温故知新だな。
余計な物がついていないから扱いやすいわけで学生さんが8085で演習を行う感じの基礎を学ぶためのものかな。
>>978 末期にはポインタ使わなくていい言語もあったし、XSCompilerとかもそうだった気がする。
今でもEuphoiraというポインタを意識しなくて良いマルチプラットホームな言語がある。
ただ、Euphoria Version.4.0でDOS版廃止。時代の流れだな。
981 :
デフォルトの名無しさん:
ちんこしゃぶれ