facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 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,'$'

ここまで見た
  • 26
  •  
  • 2010/04/27(火) 22:40:34
CodeViewなんてのもあったね。
持ってたけどPC-98用なので今では使えない。
結局LSI-C + symdebの世話になってる。

ここまで見た
  • 27
  •  
  • 2010/04/28(水) 09:25:20
Programer's workbench

ここまで見た
  • 28
  •  
  • 2010/04/28(水) 22:43:10
DOS時代は (今も?) 統合環境なんて使わないのが常識でした。

ここまで見た
  • 29
  •  
  • 2010/04/29(木) 18:07:54
VzがあればIDEなんて不要

ここまで見た
  • 30
  •  
  • 2010/04/29(木) 22:35:44
俺はmifes派

ここまで見た
  • 31
  •  
  • 2010/04/30(金) 09:53:30
Ezカスタマイズ版やNitEmacsカスタマイズ版を使っていたのはいい思い出。

ここまで見た
  • 32
  •  
  • 2010/04/30(金) 13:18:13
EMSとかXMSとかの規格が出て来て、DOSプログラムのキャパが増えた時期が楽しかった。

ここまで見た
  • 33
  •  
  • 2010/04/30(金) 17:23:38
32bit DOS Extenderを使ったら、セグメントの呪縛から解放されて、天国にたどり着いたかのような気がした

ここまで見た
  • 34
  •  
  • 2010/05/01(土) 21:35:57
メモリモデルなんて言葉が懐かしい。
スモールでもかなりのことが出来たな。

ここまで見た
  • 35
  •  
  • 2010/05/02(日) 22:05:23
しかしスモールモデルのみとは言え、他に何の制約もないコンパイラを無償配布した
LSIジャパンの功績は大きかったと思う。

ここまで見た
  • 36
  •  
  • 2010/05/03(月) 16:34:41
LSI-C試食版に付いていたcppとmakeとlccのソースは何度も読み返した。
やはりプログラミングを覚えるには、他人の書いたある程度の規模のソースを読むのが一番。

ここまで見た
  • 37
  •  
  • 2010/05/04(火) 23:26:25
TURBO C Ver1.5つかってたときは、テキスト表示に
cprintf()やら、gotoxy()やら使って
ドラクエのメニューごときみたいなん作ってたなぁ

ここまで見た
  • 38
  •  
  • 2010/05/04(火) 23:50:13
TCのconio.hって思いっきり98依存の関数が多かったな。
text何たらとか。

ここまで見た
  • 39
  •  
  • 2010/05/06(木) 10:32:02
symdebよりdebugの方が使い出がある。
バッチコマンドからバイナリ作るとか。
ハードディスクのダイレクトアクセスとか。

ここまで見た
  • 40
  •  
  • 2010/05/06(木) 10:34:14
< バイナリ
---
> バイナリファイル

ここまで見た
  • 41
  •  
  • 2010/05/06(木) 12:01:36
>>35
βテストさせられたとも言える。標準ライブラリの出来が今ひとつだったからね。

>>38
IBM-PC依存の関数も山ほどあったような。

>>39
なんと言っても圧巻はX-ISH。
バイナリファイルのエンコーダ/デコーダであるISHの初期バージョンはバッチファイルによる実行モジュール作成方式で配布された。
# 今と違って、標準では転送ツールもデコーダがないから先ず最初にデコーダを作る必要があった。
# 今ならWebブラウザがバイナリファイルを受信できるしメールクライアントも添付ファイルのデコードはできて当然だけど。

ここまで見た
  • 42
  •  
  • 2010/05/06(木) 13:40:43
>>39
symdebで W100 2 0 1 やリダイレクトもできるぞ
(でも意味判らず試すなよ)

ここまで見た
  • 43
  •  
  • 2010/05/06(木) 22:18:42
>>41
DOS/V用Turbo-Cはお目に掛かったことがないな。日本でも売られてたの?

ここまで見た
  • 44
  •  
  • 2010/05/08(土) 03:03:00
>>43
DOS/V用じゃなくて、IBM-PC/AT互換機用だよ。DOS/V用は記憶にないけれど、あったとすれば日本専用でしょ。
# DOS/V自体が(事実上)日本専用なんだから。

ここまで見た
  • 45
  •  
  • 2010/05/08(土) 07:02:36
失礼。当時はAT互換機=DOS/V機だったから。

で、ということは英語版?

ここまで見た
  • 46
  •  
  • 2010/05/10(月) 11:15:54
マニュアルが日本語になっていて一部メッセージが日本語になっただけの翻訳版だったかな?
もう忘れたよ……

ここまで見た
  • 47
  •  
  • 2010/05/10(月) 13:13:04
Turbo-CのAX版かもね

ここまで見た
  • 48
  •  
  • 2010/05/11(火) 22:30:01
TCのマニュアルは物凄く親切な記述だったように覚えてる

ここまで見た
  • 49
  •  
  • 2010/05/12(水) 18:52:39
あの頃のBolandはよかったな
ライブラリのバグも少なかった気がする

パソ通の時代から、こういう「おやじ御用達スレ」はなくならんなw

ここまで見た
  • 50
  •  
  • 2010/05/13(木) 23:52:33
98用のTurbo-Cに入っていたpc98mouseという関数。
「Microsoft形式のマウスドライバには対応していません」
アンチMSぶりが良く現れてたな。

ここまで見た
  • 51
  •  
  • 2010/05/14(金) 23:54:44
98用DOS5.0が出たとき、NEC自身も、mouse.comはDOSシェル専用だから、
市販アプリでは使えないと明記していた。
でも実際にはMS形式のマウスに対応したアプリも多かった。

ここまで見た
  • 52
  •  
  • 2010/05/15(土) 17:46:37
NEC版、MS版マウスドライバの見分け方
マウス初期化 (int 33h ax=0) のbxの値で見分けられる。
MS版はbxにボタンの個数が帰ってくるが、NEC版は何も返さない。
予めbx=0としておけば、コール後bx==0がNEC版ドライバ。

ここまで見た
  • 53
  •  
  • 2010/05/16(日) 21:03:58
マウス使うのってドライバ経由が普通だっけ?
俺はなんかI/O叩いて使ってたような気がするが
さすがに記憶が曖昧すぎて覚えていない

ここまで見た
  • 54
  •  
  • 2010/05/17(月) 22:37:49
マウスドライバやEMSドライバは、一見風変わりなドライバだ。
組み込み後はDOSを経由せずにアプリから直接ドライバとやり取りする。

ここまで見た
  • 55
  •  
  • 2010/05/18(火) 07:20:40
>>54
???

ここまで見た
  • 56
  •  
  • 2010/05/18(火) 18:55:07
多分、普通のデバイスだと
アプリ -(int 21h)- DOS -(デバイス呼び出し)- デバドラ
だけど、マウスやEMSは
アプリ -(int xxh)- デバドラ
でアプリとデバドラが直接やりとりすることを挙げてるのだと思う。

ここまで見た
  • 57
  •  
  • 2010/05/21(金) 09:49:35
TCのインラインアセンブリは擬似命令だろうが何でも使えるので
おおっと思ったが、実はアセンブリソースを吐き出して
コンパイラはノータッチ、後はアセンブラ任せだった。

つまり、インラインアセンブリを使う場合アセンブラが別途必要。
(廉価版のTurboCには付いてなかったんだよ)

ここまで見た
  • 58
  •  
  • 2010/05/25(火) 23:01:03
xor ax,ax

ここまで見た
  • 59
  •  
  • 2010/05/26(水) 06:02:27
>>58
はるか大昔、それを得意気に使いまくってた上司に sub ax,ax を見せたら、
「そんな分かりにくいコーディングする奴があるかバカヤロォ」と怒られますたw

ここまで見た
  • 60
  •  
  • 2010/05/26(水) 09:37:56
>>59
得意も何も、今でも使われている常套手段じゃないか。
怒るのは問題かもしれないが、フラグに影響を与えまくる減算を使うのは間抜けだろう。

ここまで見た
  • 61
  •  
  • 2010/05/26(水) 09:52:29
はじめはxor使ってたが、ほとんどのCコンパイラがsub使ってたので途中からsubに変えた。
xorでもフラグは動くんじゃね?

ここまで見た
  • 62
  •  
  • 2010/05/26(水) 09:56:38
>>61
「ほとんど」をkwsk。
このスレなんだから、まさかとは思うがx86用じゃないなんて言わないよね。

ここまで見た
  • 63
  •  
  • 2010/05/26(水) 10:01:32
>>60
今でこそ常套手段だが、大昔のヘボPGには思いも及ばぬテクだったんだよ。
年代を言うとまた馬鹿が荒らすから言わんが。
そもそも、これを使う文脈でフラグに影響がどうたら言う時点で(ry

ここまで見た
  • 64
  •  
  • 2010/05/26(水) 13:18:42
DOS時代からMSCはSUBだったのは覚えている。
アセンブラのソースではよくゼロクリアにXORが使われてたが
8086だったらクロックや命令長で有利とかは無いはずだから、
Z80とか8080時代に何かあったのだろうか。

ここまで見た
  • 65
  •  
  • 2010/05/26(水) 14:07:49
>>64
8080/Z80だと命令長はXORもSUBも1バイトだし、クロックも最小だった。
でもなぜか、周りではみんなSUBじゃなくXORを使ってた。
もちろん、>>60の言うようなフラグどうたらの問題ではない。
(フラグを変えたくないようなレアケースではMOV命令を使ったから)

多分…小学校低学年で習うSUBに比べてXORはずっと高度な概念だから、
それを使う方が何となく「カッコ良かった」のかも知れないね。

ここまで見た
  • 66
  •  
  • 2010/05/26(水) 23:26:13
一応、理屈の上ではxorの方が
各bitの出力が他のbitに影響を与えない分
回路的には簡単になるはず。

だからといってクロックや消費電力に差がつくかというと
うーんという感じなのだけど。

ここまで見た
  • 67
  •  
  • 2010/05/26(水) 23:47:53
このサイト面白いよ。
ttp://hp.vector.co.jp/authors/VA003988/asm.htm

ここまで見た
  • 68
  •  
  • 2010/05/27(木) 20:34:59
ゼロクリアに xor 使うのは、決まり文句みたいなものだからね
subより分かりやすい

ここまで見た
  • 69
  •  
  • 2010/05/27(木) 21:46:13
subの方がxorより複雑そうなイメージだから
何となくxorの方を使ってしまう
まあ実際速度的に差はないんだろうが

ここまで見た
  • 70
  •  
  • 2010/05/28(金) 14:53:15
lsic86試食版はマニュアルがコンパクトにまとまっててよかったな。
標準ライブラリとかあのテキストファイル一枚でそうとう勉強になった。

ここまで見た
  • 71
  •  
  • 2010/05/28(金) 23:52:57
x86系なのに、引数渡しにレジスタを使うのは止めて欲しかった

ここまで見た
  • 72
  •  
  • 2010/05/31(月) 22:38:33
影の薄かった命令・・・LEA

ここまで見た
  • 73
  •  
  • 2010/05/31(月) 22:53:41
アセンブリプログラマにはたいへん有難い命令だが

ここまで見た
  • 74
  •  
  • 2010/06/01(火) 06:14:22
8086には、独立したNOP命令がない。(8080にはる)
NOPニモニックは、単にXCHG AX,AXの別名。
まぁ、実用上それで別に問題ないわけだが…
他にも、こういうCPUはたくさんあるんだろうね?

ここまで見た
  • 75
  •  
  • 2010/06/01(火) 09:11:10
jmp $+2がnop代わりとか。

ここまで見た
  • 76
  •  
  • 2010/06/01(火) 22:40:33
mov ax,axとかcmp bx,bxとか、使い道のない命令がいくつかあるね。
Z80だとLD (HL),(HL)はHLTに割り当てられていた。

砂時計アラームタイマー
フリックラーニング
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email