OpenDOS

こ、これは!!

OpenDOSを、QEMU上で使用すると、瞬く間に、CPU使用率が上がります。 こ、これは!! INT 16h AX = 00h or 10h で CPU がブン回る件 - Slow Life & Slow Programming うちのマシンは、Core2 なので、2CPUに見えますが、 使用率が100%になるのは、片方だけ…

PBR まとめ

結局、逆アセンブルしたリストを印刷して、紙の上で整理する事にした。 やっぱり、紙の方が便利な場面って、結構、あるよね。 ペーパレスが叫ばれるようになってから随分経つけど、紙媒体は無くならないと思う。 さて、PBR の方ですが、ざっとまとめてしまう…

難儀やなぁ...

アセンブラのみだと、分かり辛い、一番の要素は、変数領域の使い方かなぁ?と。 大体が、[BP+xx]って感じが多いと思うけれど、 ソースがあれば、きっと、それなりの変数名が使われていて、 そこから、どのような意図で使われているか推測出来るけれど、 [BP+…

めげずに、PBR

seg000:015B mov es, di seg000:015D seg000:015D loc_7D5D: ; CODE XREF: seg000:0159^Xj seg000:015D cmp word ptr [bp+44h], 0FFFh seg000:0162 jnz short loc_7D76 seg000:0164 add bx, ax seg000:0166 shr bx, 1 seg000:0168 mov bx, es:[bx] seg000:01…

もう少し、PBR

seg000:0103 loc_7D03: ; CODE XREF: seg000:00EE^Xj seg000:0103 mov cx, es:[di+1Ah] seg000:0107 mov ax, es:[di+1Ch] seg000:010B add ax, 1FFh seg000:010E shr ax, 1 seg000:0110 mov [bp+25h], ah seg000:0113 pop dx seg000:0114 pop ax seg000:0115…

まだまだ、PBR

seg000:00E0 sub di, di seg000:00E2 seg000:00E2 loc_7CE2: ; CODE XREF: seg000:00F3^Yj seg000:00E2 push cx seg000:00E3 push di seg000:00E4 lea si, [bp+46h] seg000:00E7 mov cx, 0Bh seg000:00EA repe cmpsb seg000:00EC pop di seg000:00ED pop cx …

またまた、PBR

seg000:007B xchg ax, cx seg000:007C mov ds, ax seg000:007E mov bp, sp seg000:0080 mov byte ptr [bp+4], 24h ; '$' seg000:0084 mov al, [bp+0Dh] seg000:0087 mov [bp+3Eh], ax seg000:008A mov al, [bp+10h] seg000:008D mul word ptr [bp+16h] seg00…

そしてPBR

seg000:0000 EB 56 90 4E 57 44 4F 53 37 2E 30 00 02 04 01 00 ・侵WDOS7.0.. seg000:0010 02 00 02 51 99 F8 27 00 3F 00 10 00 3F 00 00 00 .Q咥'.?..?... seg000:0020 00 00 00 00 80 00 29 2A 1D 14 16 44 52 2D 44 4F ....€.)*DR-DO seg…

とりあえず使ってみる

OpenDOS については、ソースを追い掛けるのを止めて、とりあえず、使ってみる事にした。 この場合、正確には、DR-DOSって事になるのかもしれないが、Ver 7.03 を選択。 QEMU 0.13.0 上に、20M のHDDイメージを用意して、DR-DOS をインストール。 割り当てメ…

却下!!

OpenDOSは、どうも、イマイチ、オープンではない感じなので、 とりあえず、FreeDOSに絞って、追いかけてみる事にする。 もう少しスキルが上がったら、どこかで、再挑戦するかも知れないけれど...

こっちは MASM か!!

で、今度は、OpenDOS の方を見てみる事に。 こっちの Makefile を見てみると、今度は、MASM が必要なようだ。 ちなみに FreeDOS の方は、NASM を使用している。 ROSe も現在、NASM ベースで開発を進めているので、相性的には、FreeDOS の方が良いのかも。 で…