懐かしのMS-DOSプログラミング [sc](★0)
-
- 1
- 2010/04/21(水) 12:42:23
-
mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h
msg db '懐かしのDOS時代のプログラミングについて語ろうぜ',0dh,0ah,'$'
-
- 410
- 2013/11/10(日) 11:17:50.75
-
BIOS = BASIC Interpreter Operating System
-
- 411
- 2013/11/10(日) 11:21:09.36
-
>>410
ぐぐってないけど、それ間違い。
-
- 412
- 2013/11/10(日) 12:44:55.47
-
>OSの必須条件とは、
>「そのOSが動作する機器が何であろうと、OSが用意したシステムコールを使えば
> どこでも同じに使えるよう抽象化すること」
>でしょう。
珍説発見
-
- 413
- 2013/11/10(日) 13:01:47.81
-
OSの定義はあるが、さすがにMS-DOSの時代は
パソコンが高価過ぎて完全な形で実装するのが不可能だった。
パソコンというのは、そもそもパーソナルなコンピュータ。
つまり、パーソルではないコンピュータというものがあり、
昔は、そっちがメインだった。
大企業や政府や軍や大学の、個人では買えない高価なコンピュータ。
そこで作られたコンピュータが、徐々に個人向けに転用されてきたというのが
パソコンの歴史なんだよ。
だから昔の(個人向け)OSが、本来の(非個人向け)OSと大きく劣るのは
それがパソコンの歴史なんだから当たり前のこと。
OSの問題というよりも、そもそもCPUやその他のハードに
コンピュータの機能が不足していた。
-
- 414
- ◆QZaw55cn4c
- 2013/11/10(日) 13:02:17.75
-
>>412
>>406 は正論だと思うけれどもね
-
- 415
- 2013/11/10(日) 13:03:21.15
-
OSとモニターの区別も付かない馬鹿がなんか言ってるw
-
- 416
- 2013/11/10(日) 13:07:26.56
-
N-BASIC にはあったねmon コマンドとかBASICコードの最初10行程度の行番号を全部 0 にしてみたりとかさ
-
- 417
- 2013/11/10(日) 13:36:08.73
-
ディスクBASICってのもあったね。
あれ、ディスクを読み書きできるわけだけど、
ディスクを読み書きしている部分はOS?
でもBASIC環境なんだよね。
不思議な世界だ。
-
- 418
- 2013/11/10(日) 14:09:36.59
-
MZ-80 シリーズなんかインタープリタをわざわざテープにロードしていたくらいだし、そうそう SWORD とかあったね、不思議な世界だね
-
- 419
- 2013/11/10(日) 14:49:28.43
-
>>409
Smalltalkはアラン・ケイらの暫定ダイナブック環境として作られた経緯があって
あえてOSの要素を含むように仕組まれているから、今の文脈からはちょっと特殊な例だろうね。
「Smalltalkの底を流れる設計思想」
http://web.archive.org/web/20041016084842/http://marimpod.homeip.net/chomswiki/24#
Smalltalkでは、この基準は対話するオブジェクトというモデルで充分にみたされている。略
オペレーティングシステムがこの原則を破っているようであることはちょっと注目すべきだろう。
プログラマーは一貫した記述の枠組みをはなれ、蓄積されたコンテキストをあとにし、
まったくかけ離れた、そしてたいていはとても原始的な環境を相手にしなければならないのだ。略
オペレーティングシステムは言語におさまりきらないものを集めたもので、これは存在すべきでない
-
- 420
- 2013/11/10(日) 15:01:52.21
-
その頃からダイナブックってあるんだな。
-
- 421
- 2013/11/10(日) 17:51:38.08
-
東芝がぱくってノーパソの商標にした
-
- 422
- 2013/11/10(日) 19:44:29.28
-
>>405
FCB
-
- 423
- 2013/11/10(日) 20:10:30.14
-
>>405
http://www.cpm8680.com/cpmtools/cpm.htm
-
- 424
- 2013/11/14(木) 09:47:33.84
-
dynabook ss001の頃はパーソナルワークステーションだった
F1の鈴木亜久里ちゃんがモデルだったのよね
懐かしいわ
-
- 425
- 2013/11/25(月) 15:52:16.00
-
DOS窓からcalc.exeとか起動したときに
今起動したcalc.exeのプロセスIDを知る手段ってある?
-
- 426
- 2013/11/25(月) 15:57:03.40
-
このスレ的にはそのcalc.exeは当然DOSプログラムだよね?
そうなるとntvdm.exeにしかプロセスIDは付かない。
-
- 427
- 2013/11/25(月) 21:16:21.63
-
「DOS窓」なんだからWin9xだろ
-
- 428
- 2013/11/25(月) 22:03:58.84
-
cmd.exeは32ビットコンソールだけど、
仮想86マシンの方は俺は今でもDOS窓って呼んでるな。
もうすぐ7/64へ行くから会えなくなるけど。
-
- 429
- 2013/11/25(月) 22:24:44.81
-
cmd.exe
command.exe
-
- 430
- 2013/11/25(月) 22:36:19.04
-
COMMAND.COM
-
- 431
- 2013/11/26(火) 12:42:57.50
-
MSX-DOS は大盛況のうちに幕を閉じた。
-
- 432
- 2013/11/26(火) 20:44:05.71
-
dosプログラムの特徴といえば煩雑なメモリモデルだよね
Win32になってメモリモデルが単純になってよかった
-
- 433
- 2013/11/26(火) 20:46:46.33
-
>>432
>dosプログラムの特徴といえば煩雑なメモリモデルだよね
8086のコンパイラによる事情であって、DOS固有のことではない。
-
- 434
- 2013/11/26(火) 23:15:18.37
-
CPUが16ビットだったからね。
一つのレジスタで64KBまでしか参照できないのに
それを二つ使って1MBを超えるようなメモリを使うには
どうしても複雑にならざるを得ない。
それを補うのが当時のコンパイラの仕事の一つで
殆どの場合、複雑なメモリモデルは隠蔽されてる。
-
- 435
- 2013/11/26(火) 23:16:36.79
-
>それを二つ使って1MBを超えるようなメモリを使うには
>殆どの場合、複雑なメモリモデルは隠蔽されてる。
何か勘違いされてますね
-
- 436
- 2013/11/26(火) 23:17:19.12
-
>>435
ほう。それであんた、説明は?
それが言えなければ、ただの難癖。
-
- 437
- 2013/11/26(火) 23:19:58.81
-
>それが言えなければ、ただの難癖。
そう思いたいんだろうね
-
- 438
- 2013/11/26(火) 23:22:06.25
-
はいはい
セグメントレジスタとオフセットは大部分重なってるのでレジスタ2個使っても1M超えてはアクセス出来ない
-
- 439
- 2013/11/26(火) 23:25:59.39
-
>それを二つ使って1MBを超えるようなメモリを使うには
「1MBを超える」って、EMSかなんかを勘違いしてるのかな?
-
- 440
- 2013/11/26(火) 23:27:01.61
-
>>434
>それを補うのが当時のコンパイラの仕事の一つで
コンパイラが頑張っても1MBは超えられないよ。
-
- 441
- 2013/11/26(火) 23:31:07.30
-
>>434
MS-CのHugeモデルでも1MBは超えられませんよ。
つかメモリモデルってプログラマが指定してたけど隠蔽されてるってどゆこと?
-
- 442
- 2013/11/27(水) 00:09:11.13
-
へぇ、なんで1MB超えられないの?
それはMS-DOSが原因なの?
理由言える?
-
- 443
- 2013/11/27(水) 00:12:15.19
-
知ったか同士で仲良くお喋りなさい
-
- 444
- 2013/11/27(水) 00:16:44.60
-
>へぇ、なんで1MB超えられないの?
8086/88のアドレス空間が1MBしかないから。
-
- 445
- 2013/11/27(水) 00:21:23.27
-
そういや64ビットになってメモリモデル復活してるんだよな
意識しないといけないのは、2GBを超えるexe作るなら、だけど
-
- 446
- 2013/11/27(水) 00:33:37.54
-
>>444
つまりCPUが原因ってこと?
OSを変えれば直る問題に思えないんだけど?
-
- 447
- 2013/11/27(水) 00:36:00.24
-
>OSを変えれば直る問題
馬鹿キター!(AA略
-
- 448
- 2013/11/27(水) 01:08:21.29
-
286以降ならA20ラインで1M+64kまでOKだな
-
- 449
- 2013/11/27(水) 01:21:32.26
-
HIMEMやVCPI/DPMIといった286/386向けの機能を
DOSに含むかどうかだよな
-
- 450
- 2013/11/27(水) 01:30:00.19
-
「CPUが16ビットだったからね。
一つのレジスタで64KBまでしか参照できないのに
それを二つ使って1MBを超えるようなメモリを使うには
どうしても複雑にならざるを得ない。」
という話とはとりあえず関係ない。
-
- 451
- 2013/11/27(水) 02:09:13.94
-
パソ通時代にこの手の奴居たよな
まだやってんのか
-
- 452
- 2013/11/27(水) 08:12:56.31
-
EMM386.SYS と EMM386.EXE の違いが判らんかった当時
-
- 453
- 2013/11/27(水) 11:51:31.31
-
よく知らないけど、なんか下位互換にこだわってあんなセグメントなんて概念になったんだっけ?
PC-E500 シリーズの CPU なんか 8 bit でありながら 20 bit のレジスタ持ってて
1 MByte リニアにアクセスできるのに。
-
- 454
- 2013/11/27(水) 13:07:29.06
-
8088 の悪口はそこまでだ
-
- 455
- 2013/11/27(水) 14:06:55.29
-
アドレス専用のレジスタを強いるかどうかじゃねーの
-
- 456
- 2013/11/27(水) 14:13:12.94
-
386以降のメモリモデルも
セグメントレジスタで保護モードとか設定できるのに
全部の空間を読み書きできるように反故にしてるOSがあるのは秘密
-
- 457
- 2013/11/27(水) 14:15:37.43
-
>>453
>よく知らないけど、なんか下位互換にこだわってあんなセグメントなんて概念になったんだっけ?
想定してたのは64KB以下のコードで64KB以下のデータのタスクを複数動作させるコントローラだろ。
-
- 458
- 2013/11/27(水) 14:27:05.80
-
そうだ!16bitずらしたセグメントレジスタ使えば
64KB以内のアプリは全部リロケータブルに出来るOSが作れるぞ!
俺って天才!
↓
Windows98/2000/XP でも 64KB の壁は残りました
-
- 459
- 2013/11/27(水) 14:33:36.80
-
32bitアーキテクチャはiAPX432を準備してたし、8086/88はあくまでコントローラ
このページを共有する