懐かしの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,'$'
-
- 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クロックくらいあったっけ確か。
-
- 80
- 2010/06/08(火) 18:58:44
-
影の薄かった命令・・・LDS、LES
-
- 81
- 2010/06/12(土) 13:21:48
-
おまいの頭皮のようにな
-
- 82
- 2010/06/12(土) 19:31:09
-
どうせ面の皮は厚いんだろうけどねw
-
- 83
- 2010/06/15(火) 11:24:35
-
Win95の頃になっても、config.sysにfcbsなんてパラメータがあるのに驚いた。
その時代までFCBファンクションなんか使っていたソフトあったのかな。
-
- 84
- 2010/06/30(水) 22:25:20
-
int 29hって何だろう・・・
int 2ehって何だろう・・・
DOSの非公開機能って結構あったよね。
-
- 85
- 2010/07/01(木) 13:12:01
-
ウイルスにフックされたのか?
((((;゚Д゚))))ガクガクブルブル
-
- 86
- 2010/07/01(木) 13:22:14
-
と思ったら簡単に情報が見つかった(汗)
INT 29h 1文字出力
INT 2Eh DOSコマンド実行
-
- 87
- 2010/07/01(木) 16:51:04
-
つ Interrupt List
ttp://www.cs.cmu.edu/~ralf/files.html
昔DLしてよくお世話になったけど、今じゃWebでも見れるんだな。
ttp://www.ctyme.com/rbrown.htm
検索できて便利…と思ったら、検索が動かんorz
-
- 88
- 2010/07/01(木) 22:40:40
-
MIFES
-
- 89
- 2010/07/02(金) 17:18:46
-
俺はVz+VJE(or WXP)派
-
- 90
- 2010/07/02(金) 20:40:58
-
Vz+WXII
-
- 91
- 2010/07/02(金) 20:43:14
-
DOSエクステンダー(苦笑)
-
- 92
- 2010/07/02(金) 20:45:21
-
emm386.sys
HIMEM.SYS
-
- 93
- 1
- 2010/07/02(金) 22:48:06
-
mifes派
-
- 94
- 2010/07/02(金) 22:49:40
-
emm386はexe
-
- 95
- 2010/07/03(土) 00:12:14
-
.sysの頃もあった。
-
- 96
- 2010/07/04(日) 09:48:22
-
デバドラとしても、TSRとしても、外部コマンドとしても使える。
そんな器用なプログラムが流行ったな。
-
- 97
- 2010/07/04(日) 09:55:51
-
kwsk
-
- 98
- 2010/07/04(日) 12:50:32
-
Vz Editor のことか!!
-
- 99
- 2010/07/04(日) 13:06:04
-
WinXPだが、Vzは今でも時々使ってるよ。
あの軽さと独特の使い心地は、そう簡単に手放せるもんじゃない。
-
- 100
- 2010/07/04(日) 23:57:18
-
なぜ時々?
いつも使えよ
-
- 101
- 2010/07/05(月) 00:14:59
-
TSRでありながらブロックデバイスとして登録される
smartdrv.exeも変わったプログラムだった。
-
- 102
- 訂正
- 2010/07/05(月) 09:35:10
-
98依存だけど、懐かしい思い出が甦るサイト
ttp://www2.muroran-it.ac.jp/circle/mpc/front/old1/program/pc98dos/
-
- 103
- 2010/07/05(月) 12:30:21
-
>>100
いや普段はViだからな。
あれとVzは用途がまるで違う。どっちか一つだけにはできない。
このページを共有する