懐かしのMS-DOSプログラミング ver.2

■ このスレッドは過去ログ倉庫に格納されています
2014/05/15(木) 22:29:17.71ID:wgclvry3
mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h

msg db '懐かしのDOS時代のプログラミングについて語ろうぜ ver.2',0dh,0ah,'$'

前スレ
懐かしのMS-DOSプログラミング
http://toro.2ch.net/test/read.cgi/tech/1271821343/
2014/05/15(木) 22:31:27.80ID:wgclvry3
LSI C-86試食版 Ver.3.30c
http://www.lsi-j.co.jp/freesoft/

ぜひとも手にしておきたいDOS用国産フリーCコンパイラ
2014/05/15(木) 23:10:13.76ID:scnjQeHQ
echo テスト > tes.com
tes

# 「テ」一文字だけでいいんだけどね
2014/05/16(金) 02:30:28.12ID:oObnxjG5
push ffffh
push 0
retf
5デフォルトの名無しさん
垢版 |
2014/05/18(日) 23:08:49.99ID:wTsBQBni
DOSのエミュレータを使えば、いろんな環境でDOSとまったく同じように使えます。
2014/05/18(日) 23:25:27.20ID:oxq+ikAO
>>2
スモールモデルしか対応していないのが残念なんだが
2014/05/19(月) 01:18:18.12ID:HD20p1W8
int 21hとか直接書いてたのっていつ頃なんだ?
2014/05/19(月) 01:51:23.40ID:z/GGX35z
ふつー CALL 5
2014/05/19(月) 01:51:37.89ID:TdqWhvCp
DOSでアセンブラ使ってたら今でも使うだろ。
2014/05/19(月) 07:51:36.87ID:k5xxXzF6
>>6
あくまで試食版だからね。
2014/05/19(月) 08:32:35.99ID:JapMjw/D
>1000 デフォルトの名無しさん [sage] 2014/05/18(日) 23:04:42.60 ID:rUyw0YMJ Be:
> Windows 8.1でもdosソフトウェアは、うごきますか?

DOXBOX おすすめ
2014/05/19(月) 08:33:44.68ID:JapMjw/D
あれ
打ちまちがえた

x DOXBOX

o DOSBOX
2014/05/19(月) 17:33:08.88ID:KqbVXm4h
>>8
DOSでそれを使う奴はただのアホ
2014/05/19(月) 22:00:24.02ID:2b3njYOH
>>6
でもfarが使えるから大きなデータは外へ出しちゃえばかなりのことができる。
ご丁寧にfar文字列処理関数も入ってる。
2014/05/19(月) 22:39:59.72ID:z/GGX35z
Turbo Cがタダで使えるのに LSIC86 試食版を今更使う理由が分からん
2014/05/19(月) 22:41:39.00ID:z/GGX35z
>>13
CP/M 対応も考慮したプログラム作法が理解できんとは
2014/05/19(月) 22:58:44.19ID:hJ6U6wcV
CP/M86なんて使ってたやついたのかね。
call 5なんて、知識レベルでの互換性の意味しかないだろ…。
2014/05/19(月) 23:16:56.59ID:zeiiQxJy
四半世紀前に、バイト先の別働隊が
コンカレントCP/MとかC-DOSの案件
やってたのを思い出した。
2014/05/20(火) 03:50:16.00ID:XZ8PbsoH
>>14
コードセグメントが near ポインタのみの64KBというのは、ちと狭すぎやしないか‥
2014/05/20(火) 03:51:19.05ID:XZ8PbsoH
>>15
フリーの MS-DOS 用 C コンパイラってあるの?
2014/05/20(火) 06:20:16.14ID:nqCwlR/v
>>20
Turbo C
GCC(要djgpp)
他にもあるやろ
2014/05/20(火) 07:28:38.16ID:wQYgGtk6
>>17
そゆこと
DOSでcall 5を使うのは「俺はお前らと違ってCP/Mから知ってんだぞドヤァ」の意味にしかならない
2014/05/20(火) 07:38:46.62ID:z3UIT7Xx
>>16
そこで自分から“CP/M”を口にしてしまうようでは、煽り師失格だな
2014/05/20(火) 12:39:07.22ID:XZ8PbsoH
>>21
turbo c ってフリーなの?
でもオープンソースじゃないよね
gcc(djgpp) は i386 以上を要求するしね
2014/05/20(火) 13:07:11.55ID:3nhdRzVT
>>24
オープンソースでi386未満がターゲットのコンパイラが欲しかったの?
条件後出し乙。

その条件だと心当たり無いわ。
役立たずで申し訳ない。
2014/05/20(火) 14:31:21.65ID:H9rWh2ee
>>24
small-cでも使ってれ
http://www.cpm.z80.de/small_c.html
2014/05/20(火) 22:16:41.98ID:DTGkTniz
パソ通全盛期の80年代末、フリーウェアはほとんどがTurbo Cで書かれてたね。
俺はQuick Cへ行ったけど。
2014/05/20(火) 22:49:40.37ID:EHPnqsKB
そうか?
アセンブラも多かった気がするよ。
そんな俺は、TurboPascalをasm文だけ使って構造化アセンブラとして駆使してた。
2014/05/21(水) 01:21:44.42ID:0dccVoFD
TurboPascalってasm文をテンポラリファイルに書き出して子プロセスでtasm呼び出してたし、
asm文しか使わんなら素直にtasm直に使ったほうが便利だろ。
2014/05/21(水) 02:16:52.39ID:4HBOiu0N
いや、tasmいらんよ、アセンブラを内蔵してる。
tasmとか呼び出すのはとろくさいC系だろ。
2014/05/21(水) 10:42:59.38ID:4V2JTL+X
OpenWatcomのことを思い出してあげてください・・・
2014/05/21(水) 14:20:23.49ID:9UV2dBKd
>>24, >>25
Open Watcom C/C++ はどう?
DOSエクステンダ不要なバイナリーも
作れたハズ
2014/05/21(水) 14:21:42.68ID:9UV2dBKd
リロってなかった。スマソ
2014/05/21(水) 23:02:34.16ID:IjzJywdz
Turbo Cはコンパイルも速いし、吐き出したコードもMS-Cより2〜3割速かった
2014/05/21(水) 23:53:33.54ID:+bwDOnUf
Open Watcomはインラインアセンブラ周りでいろいろ罠があって勧めにくい
2014/05/22(木) 21:58:06.98ID:YYZRRS+G
QuickCって学習用と謳っておきながら
ラージどころかヒュージモデルのライブラリまで入ってたね。
実際にQCでそんな巨大なアプリ書く奴いたのだろうか・・・
2014/05/22(木) 22:12:43.70ID:b8lwZlJ1
そらゲームとかの素材置きまくったらあっという間ですわ
2014/05/22(木) 22:21:04.27ID:RtFeOXjE
ヒュージポインタはいまいち信頼出来ないと思っていた‥‥
セグメント-オフセット処理は自分でなんとかしないといけないと思うよ‥‥
というか、やっぱり 64KB 以上のオブジェクトをそのまま使おうと思っちゃいけない、自分で完全管理するしかないと

というわけで、LSI-C にラージモデル(だけでいいのでそ)のサポートがほしかった

>>35
自分で探すべきなんだろうけれども、たとえばどんなところが罠なんですか?
2014/05/22(木) 22:35:13.79ID:JBRw0Ovv
>>38
Open WatcomのBugzillaでinlineとかをキーワードで検索するといろいろと
何年も放置された未修正のバグの山が出てくる
40デフォルトの名無しさん
垢版 |
2014/05/23(金) 22:03:27.43ID:8WEuVIde
鯖移転完了age
2014/05/25(日) 03:30:28.41ID:zdwlk8KI
LSIC-80 今でも使ってますよ。XPまではDOS窓で動いたのに、7になったら
動かなくなって、仮想マシンとか調べたら対象のOSをインストールしなければ
いけないのね。困ってたらnetでmsdos.exe見つけ、それ経由で使えてラッキー。

8085+82XXの基板がまだあって、去年は\3万の仕事を2件やりました(w
DOSでCW、エコロジーとか使ってた頃が懐かしい(w
2014/05/28(水) 21:59:10.29ID:YXeI0Mct
CWはemm386.exeと相性悪くロックしたりした。
2014/05/29(木) 02:06:23.46ID:PdPWqwDY
REDもそうかな? CWとほとんど同じ使い勝手だったのは覚えてるけど。
2014/05/29(木) 21:52:52.51ID:iJk0mA8D
初期の仮想EMSドライバは各社癖があったよな
45デフォルトの名無しさん
垢版 |
2014/05/29(木) 23:17:32.12ID:r/lE+ONP
MELEMM.386 が一番使いやすかったな。
2014/05/29(木) 23:33:26.42ID:bDiV044Z
ああ俺もだな。
メルコの4MB-EMSボード使っていたからというのもあるけど
2014/05/30(金) 21:55:57.25ID:k82pJ+V4
細かな指定ができるのはメルウェアが一番だったな。
ディスクキャッシュは糞だったけど。
2014/05/30(金) 23:53:37.60ID:l4Bla4Ts
ダメルコのディスクキャッシュソフトで何枚FDが死んだ事か…。
2014/05/31(土) 18:47:26.00ID:zlcjKUg4
MSDN垢持ってるひとは今でもMS-DOS6.22が手に入る。6.2/Vも。
16bitコンパイラはあったかな。
Visual C++1.52cのリンカーってDOSのEXE吐けたっけ?
2014/05/31(土) 18:51:06.64ID:zlcjKUg4
そういえば今年はIBM-PC/AT誕生30年
2014/05/31(土) 23:28:30.03ID:RXEJjbIi
吐けるよ。win3.1用exeもdllもvbxも
quick win用exeもスタティックlibも
P-codeもcomも。
2014/06/05(木) 15:33:44.43ID:1e659sg9
RAMDiskで768KBぐらい使って、そこに中間ファイルのパス張っておくと
コンパイルが速いってのをやったなあ。5インチ縦置き20MBのディスクの頃。
2014/06/06(金) 07:01:46.25ID:GhQ1NNeD
TurboPASCALはコンパイル速かったなあ
ディスクキャッシュ上でコンパイルして実行。フロッピーへは遅延書き込み
2014/06/06(金) 14:24:57.88ID:Lk2ev8dF
パスカルはワンパスでコンパイルできる言語仕様だからな。
ヘッダも分離してないし、当時のマシンスペックには最適の高級言語だった。
関係ないが、アップルのSwiftがちょっとパスカル臭がしてうれしい。
2014/06/06(金) 22:16:08.58ID:C9rQRi3A
Turbo Cも1パスで高速、安価、吐き出したコードもMS-Cより高速と
いいところずくめだった。日曜プログラマは一斉にTCへ流れた感じがある。
特にMSAが98用に移植した1.5が大ヒットしたね。
2014/06/06(金) 23:07:19.53ID:eycrJLmS
プリプロセッサがあったり前方参照が可能なCが1パスでコンパイルできるわけない
2014/06/06(金) 23:49:03.75ID:Rvh1VUpU
ところが、BorlandのCはプリプロセッサも含めて1パス
#if中でsizeofあたりも使えたんだぜ

最近clang化したせいでできなくなった
2014/06/06(金) 23:51:25.06ID:eycrJLmS
ああ、1パスの意味が分からん人か。
2014/06/07(土) 00:06:16.41ID:Rlb4AoSA
理解不足で速いと言いたいだけだろとも思ったけど、clang化でできなくなったというからには何か構造的なレベルでこ違いを感じてるのかなあ

つか#if内でsizeofって逆にパス増やしてない?それともプリプロセッサ内でも自然に扱えるように独自実装積み上げてたのかな
2014/06/07(土) 00:12:52.09ID:1rlrU+oI
たーCは無駄なコード吐いてたな(Pコード形式?)
2014/06/07(土) 00:23:13.63ID:URPK0ZG/
Cはどれも似たり寄ったりだけど、ターボアセンブラは至宝!
2014/06/07(土) 00:26:28.78ID:URPK0ZG/
QuickCのコンパイル速度だけは感動した気がする
2014/06/07(土) 00:47:18.01ID:ftf2LwSc
>>57
> #if中でsizeofあたりも使えたんだぜ

#if sizeof(int)==4
typedef int int32;
#elif sizeof(long)==4
typedef long int32;
#endif

とかやれても limits.h あるし意味ないよなあ、移植性失うし。どういう便利な使い方あんの?
2014/06/07(土) 01:01:08.85ID:xkbQeKRh
>>56
pascal にも前方参照あるし、前方参照は call 命令だけ吐いといてあとからオペランド埋めればいいだけだよ
2014/06/07(土) 01:14:04.36ID:ftf2LwSc
>>64
> pascal にも前方参照あるし、

本質的にできないからforwardなんてのが後からUCSDに追加されたりしたんだけど。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況