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

ここまで見た
  • 140
  •  
  • 2010/09/16(木) 13:37:37
ない。
286以降でなかったかのう。



ここまで見た
  • 141
  •  
  • 2010/09/16(木) 14:46:27
0fhって8086ではpop csだったような気がす。
86だと実際にpopが行われるから、予めpush csしておくようにと
CPU判定方法に書いてあった。

ここまで見た
  • 142
  •  
  • 2010/09/16(木) 20:47:36
pop cs は、F0じゃないか?
286以降ではプリフィックスとして使われて
いわゆるF0バグを招いたやつ。

ここまで見た
  • 143
  •  
  • 2010/09/16(木) 21:44:25
0F0Hは8086もlock prefix


ここまで見た
  • 144
  •  
  • 2010/09/16(木) 22:56:48
push cs 0eh
push ds 1eh
push es 06h
push ss 16h

pop ds 1fh
pop es 07h
pop ss 17h

なので、pop csは0fhだったと思う。

ここまで見た
  • 145
  •  
  • 2010/09/18(土) 17:58:34
8086:
AX:汎用加減乗除計算用
BX:準汎用加減乗除計算/アドレッシング補助
CX:準汎用加減乗除計算/カウンタ(条件分岐命令、ループ命令で使用)
DX:汎用加減乗除計算用
SI:メモリ転送元インデクサ
DI:メモリ転送先インデクサ
BP:スタックフレーム用
SP:スタックポインタ
それぞれけっこうギチギチに役割がふられており実は自由度は少ない。
但し多少の加算減算程度は16ビットレジスタには許可されてた
程度。よって完全にコンパイラ向け。経験知でオプティマイズできる
余地は余り無い。
しかし当時はアセンブリ職人と自称する人は会社に一人や二人は居て
腫れ物に触るように扱われてたっけW

ここまで見た
  • 146
  •  
  • 2010/09/19(日) 13:30:22
>>145
>但し多少の加算減算程度は16ビットレジスタには許可されてた
>程度。
AL/AHとかの8ビットレジスタにも加減乗除演算が定義されてた(る)件

>よって完全にコンパイラ向け。
コンパイラ作成者泣かせなプロセッサと聞きました。(オプティマイズ
が難しい)

ここまで見た
  • 147
  •  
  • 2010/09/19(日) 14:17:21
レジスタ割り当ては面倒だから、使い方が固定されているなら
むやみに凝るのをやめて機械的にやるのも手だと思う

ここまで見た
  • 148
  •  
  • 2010/10/12(火) 23:11:58
保守

ここまで見た
  • 149
  •  
  • 2010/10/13(水) 21:45:06
大阪地検のFD書き換え事件って、笑っちゃうよね。
件(くだん)の検事も上司も、パソコンのことをなんにも知らないんだからね。
ミスであんな書き換えが起こることなんて100%あり得ないのにね。


ここまで見た
  • 150
  •  
  • 2010/10/13(水) 23:31:55
>>149
というか戻せばいいものを。

ここまで見た
  • 151
  •  
  • 2010/10/14(木) 01:31:35
>>149
言い訳としてはアホだけど
嘘も吐き通せば無罪だからな
戦略的には勝利だろ

ここまで見た
  • 152
  •  
  • 2010/10/16(土) 23:48:21
INT 21hの内容ってどこにあるんだ?
あとINT 21hでググると変なページが出るんだが

ここまで見た
  • 153
  •  
  • 2010/10/17(日) 00:55:40
>>152
ググったら一番上に来たよ…?
ttp://home.impress.co.jp/catalog/impress/bk4615/c0302.htm

変なサイトの方が気になる。これ?
ttp://int21h.jp/

ここまで見た
  • 154
  •  
  • 2010/10/17(日) 01:10:11
こっちのが詳しいかな。
http://www.ctyme.com/intr/int-21.htm
つっても、殆どは使われないものばかりか。

ここまで見た
  • 155
  •  
  • 2010/10/17(日) 09:48:22
>>153
そのページ
OllyDbgの画面に似てるしアクセスカウンターみたいなのもついてる

>>153,154
INT 21hの動作じゃなくて
DOSのなかにある機械語のこと

ここまで見た
  • 156
  •  
  • 2010/10/17(日) 10:30:53
新しい概念: DOSのなかにある機械語

ここまで見た
  • 157
  •  
  • 2010/10/17(日) 11:15:17
INT 21hってカーネルとかプログラムの中にあるんじゃないの

ここまで見た
  • 158
  •  
  • 2010/10/17(日) 11:45:58
floppy disk の中にある

ここまで見た
  • 159
  •  
  • 2010/10/17(日) 11:48:14
INT 21hがどのファイルのどこからどこまでがah=??のファンクションかを知りたい

ここまで見た
  • 160
  •  
  • 2010/10/17(日) 11:50:05
>>156
155じゃないけど、割り込みベクターも知らないなら黙ってりゃいいのに。
馬鹿丸出しだな

ここまで見た
  • 161
  •  
  • 2010/10/17(日) 12:11:39
debug使え

ここまで見た
  • 162
  •  
  • 2010/10/17(日) 12:26:27
いい年こいて説明の下手な奴が怒ってるな

ここまで見た
  • 163
  •  
  • 2010/10/17(日) 12:31:19
なんかトンデモ本作者と同じ論理だな。
相対性理論は俺に理解できないから間違ってる!、って奴だけどw

ここまで見た
  • 164
  •  
  • 2010/10/17(日) 15:39:15
いや、機械語ってのはDOSの中にあるとかないとかってもんじゃないだろ。
それとも何か? お前等の中には日本語が入っているのか?

ここまで見た
  • 165
  •  
  • 2010/10/17(日) 16:01:37
ベクタテーブル知ってるならそのアドレスからメモリダンプすれば
きっとDOSのなかにある機械語取れるよ

ここまで見た
  • 166
  •  
  • 2010/10/17(日) 21:02:05
漏れの中の人はきっと日本語よりも細かいマイクロコードで動いてる希ガス

ここまで見た
  • 167
  •  
  • 2010/10/18(月) 06:11:38
intはBIOS Interrupt Callsの略。実装は基本的にBIOSの中にある。
21HはDOSへ制御を移す、いわばスーパーバーザコールやAPIコールに相当する。
今はFreeBIOSなんてのもあるから、気になる人はソース見るとよろし。
そのコード量の多さに驚くと思う。

ここまで見た
  • 168
  •  
  • 2010/10/18(月) 06:32:48
intに「BIOSの」なんて意味はねーよ。

intはただの割り込み。
ハードウェア割り込みの処理先として想定されていたものを
ソフト的に呼び出すことも可能にした、というだけ。

もちろん、Z80のRSTなんかもそうだが
それをソフト的に呼び出して特殊機能を実現する、というのは
かなり以前から行われていて
8086のintもその用途に使われることを前提に
割り込み番号の予約等を行っているのは確か。

ここまで見た
  • 169
  •  
  • 2010/10/18(月) 07:04:02
でっていう

ここまで見た
  • 170
  •  
  • 2010/10/18(月) 08:12:04
intに「BIOSの」なんて意味はねーよ。

ここまで見た
  • 171
  •  
  • 2010/10/18(月) 18:48:32
FreeDOSのソースとか見ればわかるの?

ここまで見た
  • 172
  •  
  • 2010/10/18(月) 18:56:27
MS-DOS ver6 のソースが流出した、
って本当なの?

ここまで見た
  • 173
  •  
  • 2010/10/18(月) 22:55:24
暇なときはdebugでDOSの内部を探検したもんだ。

ここまで見た
  • 174
  •  
  • 2010/10/19(火) 20:44:25
最新のMASMってDOSに対応してるのかな

ここまで見た
  • 175
  •  
  • 2010/10/19(火) 20:55:39
VC++ expressについてるmlでコンパイルできるが、linkが対応してない。
dos用のlinkを用意するとこんな感じでコンパイルできる。

ml /c /omf hello.asm
link /tiny hello.obj, hello.com;


ここまで見た
  • 176
  •  
  • 2010/10/19(火) 22:57:22
NASMは直接COMファイルを吐けるよね。

ここまで見た
  • 177
  •  
  • 2010/10/20(水) 05:33:18
でもDOSで動かせないの

ここまで見た
  • 178
  •  
  • 2010/10/20(水) 06:37:44
リンカってLNK562かLNK563ってどっちを使えばいいの

ここまで見た
  • 179
  •  
  • 2010/10/20(水) 06:42:08
>>178は自己解決しましたすいません

ここまで見た
  • 180
  •  
  • 2010/10/20(水) 07:25:02
stubを抜くんだ

ここまで見た
  • 181
  •  
  • 2010/10/20(水) 08:43:42
>>152
これで何を知りたいのか分かる奴がいたらどうかしているぜw

>>160
怒ってないでdebug使え

ここまで見た
  • 182
  •  
  • 2010/10/21(木) 12:33:37
com作るのにexe2binはいらなくなったのか・・・

ここまで見た
  • 183
  •  
  • 2010/10/21(木) 23:07:21
え、普通にtinyモデルで作ればcomじゃない

ここまで見た
  • 184
  •  
  • 2010/10/22(金) 00:38:49
B社のコンパイラしか使ったことないひとは
そういう認識でいればいいんじゃない

ここまで見た
  • 185
  •  
  • 2010/10/22(金) 07:55:27
まあ、B社はある意味偉大だからな。
少なくともL社よりはw

ここまで見た
  • 186
  •  
  • 2010/10/22(金) 23:56:49
BCやTCは癖があったからMS系の俺は馴染めなかった。

ここまで見た
  • 187
  •  
  • 2010/10/23(土) 00:35:37
VCの方がもっと癖あったけどな

ここまで見た
  • 188
  •  
  • 2010/10/23(土) 04:50:12
>>186
はて、どんなくせが?

ここまで見た
  • 189
  •  
  • 2010/10/29(金) 23:28:25
最近C#に凝り始めたんだけど、
beepというメソッドも用意されていて、本体のスピーカーを直接鳴らせたりする。
低レベルな操作に、ちょっぴりDOS時代を思い出したのであった。

ここまで見た
  • 190
  •  
  • 2010/10/30(土) 02:51:41
print '\a'

ここまで見た
  • 191
  •  
  • 2010/10/30(土) 21:52:29
>>189
音の高さや長さを自由に制御できるの?
ただ決まった音でピッと鳴るだけ?

お絵かきランド
フリックラーニング
ここまで見た

★お気に入り追加

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