懐かしの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,'$'
-
- 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
-
< バイナリ
---
> バイナリファイル
-
- 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時代に何かあったのだろうか。
-
- 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に割り当てられていた。
-
- 77
- 2010/06/01(火) 22:44:00
-
LEAは頻出じゃね?
-
- 78
- 2010/06/03(木) 00:04:55
-
jmp short $+2で時間稼ぎ良くやったな
-
- 79
- 2010/06/05(土) 21:24:35
-
NOPは3クロック、ショートJMPは11クロックくらいあったっけ確か。
このページを共有する