懐かしの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/
141136
垢版 |
2014/10/05(日) 03:49:49.38ID:Hj6+65GA
川重が作ってるのはZ80(Z180?)互換チップです。
8085は今はどこも作ってないでしょう。年に数枚しか作らない基板なので、
必要なCPUはアキバで別の基板から抜いた奴を調達してるのではないかと。

今売ってるLXIC80があれば64bit環境にも対応してるかもしれませんが、
私のは20年近く前にお客のPC98の中から拾ってきた奴なのでもろ16bit製品(w
2014/10/05(日) 04:18:19.98ID:d1ExbQ1S
>>140
> Windowsパックだって32bit版OSのみって時点で
> 16bit DOSアプリだと考えた方が自然

動作環境にDOSもWin3.1もないんだしそれはなかろ。
いまだに売ってるDOS用ツールはDOS用って言って売ってるし。

http://www.lsi-j.co.jp/products/lsic80_debug.html
> 動作環境
> 対応OS MS-DOS 2.11以上 
> 対応メモリ 384KB以上
> 対応機種 NEC PC-9800シリーズ(XA,XL,XL2,RLのハイレゾリューションモードも含む)
> PC-H98シリーズ およびその互換機
2014/10/05(日) 12:48:21.63ID:sXoYbx+w
>>142
それはPC-98専用の製品だからだろ・・・
2014/10/05(日) 13:42:35.13ID:xI3VtfAN
短いDOSプログラム
COM型で1バイト
RET
145デフォルトの名無しさん
垢版 |
2014/10/05(日) 14:07:19.03ID:a6/ySe32
C9
2014/10/05(日) 20:18:47.37ID:iXTRj9HB
>>145
C9を瞬時に理解してしまった自分にワロタ
2014/10/05(日) 20:56:27.49ID:a6rqMWh0
Opcode Mnemonic Description
C9    LEAVE   Set SP to BP, then pop BP.
2014/10/06(月) 00:14:25.04ID:iTveHmgo
さて質問だ
com 形式で 'C9' だけおきリターンすると,無事にプロセス終了となるわけだが,そう簡単な話ではない
なぜこれでうまく終了できるのか説明願いたい.RET っていってもいったいどこに戻るのか?
2014/10/06(月) 01:11:16.83ID:S+cxwUfE
C9 は RET じゃない?
https://twitter.com/dekokun/status/507421645619740672
2014/10/06(月) 01:45:36.37ID:oEA/jBSY
C9でRETはZ80ではないでしょうか
2014/10/06(月) 01:50:01.53ID:S+cxwUfE
そうだね
scの晴れるかな
http://toro.2ch.s c/test/read.cgi/esite/1401073775/326
2014/10/06(月) 03:50:15.50ID:FnO6nfIg
8080でもRETだよ。
C9の場所をcallする前にSPに適切な値を入れてやる必要がある。
それをするのはOS(の、ローダー機能)のはずだから、OSの存在が前提に
なってるね。デバッカなどでRETの場所をステップ実行すれば、PCの値が
SPの指していたメモリの内容に置換されるのが見える。
2014/10/12(日) 08:17:11.00ID:5gtQJftx
『はじめて読む486』のサンプルプログラム集がGitHubで公開されたね。
https://github.com/tkmc/486
2014/10/12(日) 08:23:29.47ID:YCvc+Saz
DOSエクステンダを自作したい人なんかには有用な本だとは思うが、あんま一般的な内容じゃないと
思うんだがツイッター見てると絶賛の声が多いな >はじめて読む486
2014/10/12(日) 09:59:07.08ID:CXuoF4Hf
そりゃTwitterだからね。
2014/10/12(日) 10:39:58.25ID:WCTqGOa3
リセット直後の32bitリアルモードがずっと使えると便利なんだけどな。
リアルモードのアドレッシングだけど4GB全部アクセスできるモードが。
2014/10/12(日) 10:50:11.65ID:Du/HgjiN
486の頃は既に高級言語に移行してたな…。
パフォーマンス必要なとこだけアセンブラで書いてた。

それにしても、MONコマンドとBSAVEだけでプログラム作ってたとか今じゃありえんよな。
ってこれはDOSじゃなくてN88BASICの話だけど。
DOSもDEBUGコマンドで似たような事してたから、やはりマジキチ。
2014/10/12(日) 20:22:07.87ID:RJuqu4jR
>>157
え、DATA分にバイナリを羅列しておいて、BACIS では確保していた領域に POKE し、USR 関数でジャンプしていたんでは?あーわすれたね
2014/10/12(日) 21:19:59.24ID:Du/HgjiN
>>158
そのバイナリを作るのに、俺はまだ厨房だったからさすがに直接ニモニックコードは書けず、アセンブラでやってたのです。
読むのはできたけどね、プロテクトディスクダンプして解除とか(笑
ちなみに引数もPOKEで書いてCALLしてた。
2014/10/12(日) 21:28:48.11ID:sv4A2Uaz
>>159
> 直接ニモニックコードは書けず、アセンブラでやってたのです。

意味がわからん。
単語は知らんが、英語はしゃべれるみたいな?
2014/10/12(日) 21:41:44.92ID:YCvc+Saz
    db   XX,YY,ZZ〜

みたいなソース書いてアセンブラに食わせてたんじゃないの
2014/10/13(月) 01:18:33.22ID:jfB1gY05
>>160
16進数でcd 21とか直接バイト列をゴリゴリ書くレベルではなかったけど、int 21hと打つことはできた、みたいな。
まあ実際は上くらいならいいけど、アドレス計算が面倒なので、機械語コードを言語に翻訳してくれるdebugコマンドはありがたかったという話。
今で言うなら、メモ帳だけでプログラム書くのはめんどいけど、IDE使うなら楽ちん、みたいな感覚かな。
2014/10/13(月) 01:19:54.79ID:jfB1gY05
ああ、ニモニックコードの意味の使い方を間違えてたのか、失礼しました
2014/10/13(月) 01:24:20.43ID:jfB1gY05
ついでに言えば、masmを使えるようになった時の快適さもすごかったな。
エディタはedlinだったけど。
今じゃviエディタすら使う気がしない、もうろくしたものです。

そういや、みんなはDOS最終期は何のエディタ使ってたの?
俺はeliseだったなあ。
Turbo系のIDE系はUMBを限界まで張ってると起動できなかったから、結局コンパイラ単体しか使わなかったなあ。
2014/10/13(月) 01:42:18.51ID:gNcTGi1f
MIFES, Vz …と言いたいが、俺はその時大学生だったのでフリーソフトくらいしか
選択肢が無くSE3を使っていた。
 教育用 フルスクリーンテキストエディタ PC-98 アナログカラー 版
 http://www.vector.co.jp/soft/dos/writing/se004927.html

パソ通の書き込みをそれで作ってkmtermで送信していたような記憶が。
FEPはソフトベンダーTAKERUで入手したWXPだったかな。
2014/10/13(月) 02:22:44.55ID:jfB1gY05
おお、こんなのあったんだね、知らなかった。
ニフティに入ってなかったから、地元の草の根でしかフリーソフトの情報なんて仕入れられなかったよ。
これ移植してる機種数すごいな。

それにしても、ベクターは偉大だなあ、本業はもうすっかりゲームになったけど、ソフトライブラリは会社がつぶれても何らかの形で残してほしい、ここからしかもう入手できない遺産が多すぎる。
実際、俺が作ったソフトもいくつか登録されてんだが、作った俺本人がここからしか入手できない、ソースも実行ファイルも読む手段のない5インチフロッピーに封印されてるので。

TAKERUも懐かしいね、魔導物語かなんかを買った記憶があるなあ。
FEPは最後までNECAIだった。
あれをUMBに入れるには、いったんVRAMもUMB領域に割り当てる必要があったなあ。
2014/10/13(月) 03:43:59.41ID:usEuVIg4
DOS時代は RED-->CW だった。winになってWZ
2014/10/13(月) 07:21:01.53ID:i5IJ2YRD
viは、exモードを駆使して初めて真価を発揮する。
それができないなら、使う意味はあまりない。
2014/10/13(月) 07:49:53.79ID:oRgZkR3H
exモードが駆使できるならvisualモードなど不要
2014/10/13(月) 08:40:58.19ID:i5IJ2YRD
>>169
その発想はただのヲタ
両方をTPOに応じて的確に使い分けられてこそ、真のvi使い
2014/10/13(月) 15:17:57.86ID:NrpiS02z
それには同意だが、私はNitEmacsを使っていた。
2014/10/13(月) 16:11:57.45ID:EiWm1Oki
MEDというエディタを使ってた
http://www.mchiba.ddnn.jp/text/MEDCOM.html
2014/10/13(月) 18:42:11.67ID:Yn9IVcvc
おっちゃんの最期のDOSエディタはVzだった
Win3.1に入り秀丸に出会った。
今も秀丸だ。

キーバインドはWordStart&Vzな変態だw
2014/10/13(月) 19:50:59.00ID:HxbDOdsz
いまでも ^RC 多用します
2014/10/14(火) 21:39:52.57ID:flFaU8XG
vzにシェアを食われて肩身の狭い思いをしたmifes派
2014/10/14(火) 21:51:02.03ID:PauNPyXj
Vzが出てMIFESが食われたかは知らんけど、Finalは消えた。

まあFinalは品質に問題あるソフトだったけどな。
2014/10/15(水) 01:06:44.43ID:nbJxHgCG
しかし生き延びてるのはMIFESという…。
今更買う人いるのかねえ…。
2014/10/15(水) 02:08:30.29ID:Dhllwyhw
そういうけどエディタってIMEやフォントと同じで慣れたものから離れられない。
生き延びるって重要だ。
仕事で永く使えるといったらMIFESの他に何かあるかな? (秀丸はちょっと…)
2014/10/15(水) 03:24:50.15ID:fiP2QoX+
オープンソースのものなら最悪自分でメンテ続けられるので安心だよ
2014/10/15(水) 04:20:42.63ID:nbJxHgCG
うーん、仕事でプレーンなテキストを書きまくるっていうシチュエーションがまず思いつかないなあ。
最近のMIFESはCSVに特化したモードとかはあるらしいけど、Excelでいいじゃん、みたいな。
1万以上する価格設定も今時強気すぎる気がする…。
今公式サイト見てきたら、内容をSNSに投稿できますってのをウリにしてる段階で、なんかもうなんか違う気がする。
2014/10/15(水) 09:32:16.09ID:pTiG4blG
ソースコード作成とか閲覧とかはテキストエディタを使うよ
csvもexcelを通すと変に加工されることがあるし、そもそも使いにくいので、csvエディタ機能はあると嬉しい
高すぎるからmifesは使わないけど
2014/10/15(水) 09:47:15.50ID:SfJFlpUA
MIFES風マクロだとやっぱり微妙に使いにくいのん?
2014/10/15(水) 10:37:42.49ID:nbJxHgCG
ソースなんてもうコード補完がないと書きたくないくらいに怠け者になってしまった
2014/10/15(水) 10:40:05.56ID:caHw/4to
秀丸を MIFES の色にして使ってる
2014/10/17(金) 19:47:41.30ID:S8MY+qDl
おれはTeraPad派
2014/10/18(土) 10:08:59.98ID:/bV95tiS
Vzなつかしいな
Windows版のVzもっと早く出てれば
秀丸には乗り換えなかっただろうな
2014/10/18(土) 12:06:15.00ID:AfuyHwSy
>>186
>Windows版のVzもっと早く出てれば

いまだにそんなもの出てないのに?
2014/10/18(土) 12:15:26.88ID:nuW1Uj67
WZのことだろ。
2014/10/18(土) 12:24:03.29ID:AfuyHwSy
同じ会社が販売しただけ
2014/10/18(土) 12:25:08.08ID:nuW1Uj67
それを言い出したらMIFESだってDOS版とは別物だろうに。
2014/10/18(土) 12:28:05.06ID:/bV95tiS
みんなおらの大便してくれてありがとう
2014/10/18(土) 12:30:03.58ID:/oNwCDSd
>>166
nifty にしかないものも多かったからね‥MIDI データ群は返す返すも惜しい‥今 MIDI やってる人はどういう発表形態をとるの?
2014/10/18(土) 12:35:50.47ID:AfuyHwSy
>>190
作業比率は減ってるらしいがDOS版の作者が今も関わっててるみたいだから別物ではないだろ
2014/10/18(土) 13:23:31.76ID:sxQ+87Wv
Mifesはバージョン5よりバージョン4のほうが軽くてよかったな。
2014/10/18(土) 13:50:17.03ID:nuW1Uj67
>>192
オリジナルならニコ動とかにうpするんじゃないかな?
版権ものは分からん。

>>193
開発者がどうであれ、ソフトそのものはスクラッチだろ。
2014/10/18(土) 13:51:53.38ID:zrrZVQb2
>>191 さすがにそれは替わってあげたくない
2014/10/18(土) 15:14:30.86ID:mzkaImX0
>>192
http://anago.2ch.net/dtm/
2014/10/18(土) 15:19:22.09ID:/oNwCDSd
>>154
あれが有用なのは「動く」32ビットコードが省略なしに載っていて誰でも試せるところにある
実際、アラインメントの調整くらいで、タスクスイッチングが動いた、‥i386SX でのお話
2014/10/18(土) 15:58:00.98ID:k+Z4mbg7
特権モード関連の分かりやすい資料として高く評価されているよ。
2014/10/18(土) 16:08:03.00ID:HmaK9Dpm
>>156
リセット直後ってCSのベース値が特殊なだけで32bitでも何でもないぞ

いったんプロテクトモードにしてからリミット4Gのセレクタをロードして
そのままリアルモードに戻すと4GBアクセスできたりするらしいが
2014/10/18(土) 21:19:09.36ID:LilW5H3F
通称Unreal modeな
2014/10/26(日) 09:07:21.36ID:xa4NiqUX
>>190
VZはc.mos氏作であるが故のVZといえるけど、MIFESは別にそういうわけじゃないよなぁ
2014/10/26(日) 09:19:07.38ID:/psOqZVd
Wzもc.mos氏作なの?
2014/10/26(日) 11:33:57.84ID:eAcs35DC
違う。TYさん。
2014/10/26(日) 16:16:13.83ID:hUa4ZeCn
MIFESはDOSの頃はメガソフトの外部の人ひとりでやってて、Windowsになってその人とメガソフトの中の
チームとでやってるんでなかったかな。
20641
垢版 |
2014/12/01(月) 03:51:37.76ID:OW3QXxN0
8085の仕事がまたキター---いよいよ基板がなくなるみたいなのでこれが最後
かな〜。使われてる石見ると1980年代の半ば頃の設計のはずなんだけど、
よく同じ石があるなと感心する。
207デフォルトの名無しさん
垢版 |
2014/12/01(月) 12:35:08.80ID:GrWyVyTu
初期化のバグも残ってますとか
2014/12/01(月) 13:33:09.93ID:GrWyVyTu
ドワンゴ「急募!FPGA機器開発経験者!」 ニコニコ動画をFPGAで高速化、ハード技術者を募集中
http://hayabusa3.2ch.net/test/read.cgi/news/1417266799/
2014/12/01(月) 16:08:17.36ID:hOHEB5gl
>>206
置き換えたくても、基板アートワークを起こすのに数十万円掛かるからな。
21041
垢版 |
2014/12/02(火) 04:01:46.83ID:ror4iJjw
うん、それはお客さんも言ってた。年に数枚しか出ない基板だから、その起こし
の費用が出ないんだって。今後は最近の1チップでuartが4CH載ってる適当な
基板にソフトを載せ換えることで対応するらしいので、実際にあるH8Sの基板を
想定してHEWに移植してみた。XPマシンが壊れる前に単体までは動かしてみた。
ルネでHEWなら石に見合ったiodefine.h使うだけで移植可能なので、それを
お奨めしてみたい。
2014/12/02(火) 07:50:47.45ID:XkN7RMp1
そういうのに国が補助金出せばいいのに
ルネなんて救済しないでいいから
2014/12/05(金) 00:09:12.37ID:fLQRzmog
中国企業ばかり応募してくるんじゃないの?
21341
垢版 |
2014/12/06(土) 03:54:06.69ID:aCbxE5A/
1週間返信が無いから、動いてる(確認中)なのだとおもう。
動かなければ動かんぞゴルァ!はすぐ来るだろうから。暇だったので最適化(w
    _asm_c("\n\tEXTRN\teventfg_,clrdata_\n");
    _asm_c("\n\tLDA\teventfg_\n\tORA\tA\n"); /* if(eventfg) */
    _asm_c("\n\tCNZ\tclrdata_\n");         /* crldata() */
2014/12/06(土) 23:02:12.02ID:W+zaxK19
LSI-Cのasm文は使いづらかったな
2014/12/06(土) 23:15:47.02ID:Qc8SbiZd
まあインラインアセンブラなんて局所的にしか使わんし
使い勝手なんてどうでもいいよ。
2014/12/07(日) 01:06:01.49ID:EAaf/S8C
局所の使い勝手だって?
2014/12/07(日) 20:12:48.29ID:Z6HjZhTj
局部フェチ
2014/12/08(月) 11:31:24.42ID:Dcg2Etg0
>>213
すげえな、これ本当に8086系用なんか?
2014/12/08(月) 13:58:56.95ID:2ES218iI
8080だろ。見て分からんの?
2014/12/08(月) 21:44:52.68ID:Dcg2Etg0
CP/Mスレッドじゃないんで。
2014/12/08(月) 21:46:56.34ID:2ES218iI
CP/Mと8080ってイコールじゃないけど何言ってんの??
2014/12/09(火) 04:21:59.12ID:BAVYOY2g
LSI-C80はMS-DOS上でしか動かんってのが起点だからまぁいいんでね?w
2014/12/09(火) 04:25:32.70ID:UV09IQfk
> LSI-C80はMS-DOS上でしか動かん

何言ってんの? バカなの?
2014/12/09(火) 04:39:58.09ID:BAVYOY2g
LSI-C80でビルドしたモジュールは8080上で動くが、
LSI-C80はMS-DOS環境でしか動かないよ。
だからWindows7標準では動かせないって話を>213=>41が書いているわけだ。
2014/12/09(火) 04:58:32.52ID:UV09IQfk
> LSI-C80はMS-DOS環境でしか動かないよ。

CP/M版もあったの知らないのねw
2014/12/09(火) 05:14:28.00ID:UV09IQfk
>>224
> LSI-C80はMS-DOS環境でしか動かないよ。

何言ってんだかw

http://web.archive.org/web/20090226223619/http://www.lsi-j.co.jp/hard/product/lsic80/index.html
> 2003年11月5日をもちまして「MS-DOS版」のサポートは終了いたしました。
2014/12/09(火) 07:18:36.31ID:XsfmHeVM
>>225
それをちょっといじったと思われるMSX-DOS版もあったな。
当時アルバイトで使った
2014/12/09(火) 08:56:30.65ID:BAVYOY2g
あーなるほど。すんません。
んじゃ、クロス開発専用と言い換えておく。
2014/12/09(火) 11:54:02.80ID:77CtVwxR
>>226
ひでえな それより新しいMS-DOSじゃ動かないのかよ!!!!
2014/12/09(火) 22:06:35.11ID:/y3UNA7Y
CP/Mはこれからも8080/Z80の開発環境として生き残りそうだし、
x64が主流になって仮想86が捨てられ、DOSの方が先に忘れられそうな気がす
231デフォルトの名無しさん
垢版 |
2014/12/12(金) 00:09:19.32ID:SHR/Y9Rm
64ビットのWindowsOSで16ビットアプリケーションが動きました!
http://www.alles.or.jp/~thisida/mycpu619.html
2014/12/12(金) 00:30:49.00ID:jU9xN2+g
>>231
全角英数きもっ
2014/12/12(金) 03:16:36.00ID:M8cFK+bI
MSが言ってる16bitの断念って、win3.1用のソフトの動作とかじゃないの?
ていうか、次期OSではwin32すら切り捨てるという噂もあるけど、どうなることやら
234デフォルトの名無しさん
垢版 |
2014/12/12(金) 04:03:21.24ID:iNQHvDR7
http://homepage3.nifty.com/takeda-toshiya/msdos/index.html
2014/12/12(金) 15:51:02.85ID:8zxki+uq
そもそも、16bitアプリが何でもかんでも動く訳じゃないし
2014/12/12(金) 19:44:54.06ID:g8oajxJW
MS-DOSのソース見つけたけど、どうやって使うの?
2014/12/12(金) 19:54:32.45ID:a3bdFKZa
>>236
まずはio.sysに当たる部分を0から書く
2014/12/13(土) 08:26:16.02ID:a5W7vrBh
>>232
全角英数を使うのが当たり前、半角英数を使う奴は非常識馬鹿
…そう言われてた時代もかつてあったんだよ
技術的な理由もちゃんとあった
まあその元記事を書いた奴はその時代で頭が固まってるってことで、やっぱり非常識馬鹿なんだけど
2014/12/13(土) 08:37:44.09ID:dozBDky5
半角カナだろ
バカかよ
2014/12/13(土) 09:08:05.17ID:PfYynooy
>>238
パソコン通信の頃の話だっけか
全角半角が混在してると何かあったときに文字化けしやすくなるとか聞いたことがある
だがな、全角英数きもっ
2014/12/13(土) 09:08:27.90ID:7YfznIJB
半角ってなんですか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。