ab.com コミュニティ
https://www.activebasic.com/forum/

16ビットコンパイラ
https://www.activebasic.com/forum/viewtopic.php?t=1119
ページ 11

作成者:  konisi [ 2006年6月02日(金) 21:48 ]
記事の件名:  16ビットコンパイラ

MS-DOSでも動くソフトを組みたいので、consoleモードのみという制限等をつけてでも16ビット版ABコンパイラが欲しいです。

64ビットのコンピュータじゃ動きませんが、MS-DOS用プログラムを書くのにわざわざC言語で書き直すのも面倒なので。

作成者:  C1000 [ 2006年6月02日(金) 21:55 ]
記事の件名: 

自分は16ビットのマシンがないのでなんともいえませんが16ビットのコンパイラなんてほとんど見ないのでできたらABを使う人が増えると思います。

作成者:  konisi [ 2006年6月02日(金) 22:48 ]
記事の件名: 

32ビットのマシンなら16ビットのコードは動かせますよ。

フリーで提供されている16ビットのコンパイラで有名なところと行けば、LSI社のCコンパイラ(試食版)とマイクロソフト社のMASMアセンブラくらいですかね。

アセンブラは厳密に言えば「翻訳機」ではなく「変換機」ですが。

作成者:  C1000 [ 2006年6月03日(土) 13:15 ]
記事の件名: 

>32ビットのマシンなら16ビットのコードは動かせますよ。

今使ってるマシンがXpで16ビットのコードが残ってないはずなのでそう書きました。

作成者:  konisi [ 2006年6月03日(土) 13:53 ]
記事の件名: 

XPにも、Windows/Systemフォルダ内にひっそりと16ビット用のカーネルがおいてあったりします。

作成者:  C1000 [ 2006年6月05日(月) 21:35 ]
記事の件名: 

yahooで検索したらXpにも16ビットのDOSがあるそうです。

作成者:  konisi [ 2006年6月05日(月) 21:41 ]
記事の件名: 

それは知ってます。いや、他の人は知らないかもしれないですが・・・?

command.comでしたっけ?


因みに、いまActiveBasicに中途に対応している16ビットコンパイラを作ってます。ローダ自体が貧弱で、しかもネイティブコンパイラではなくアセンブラを別途使いますが^^;

最適化って難しい。



追記。 In 6/13
とりあえず主要部分が少し出来てきたので変換してみようかと思って動かしてみた。

元コード↓
A=A+1

変換後のコード↓
mov di,OFFSET A
push di
mov ax,A
push ax
mov ax,1
push ax
pop ax
pop bx
add ax,bx
push ax
pop ax
pop di
mov [di],al
(計24クロック)
分かる人にはわかるとは思いますが、どう考えても効率悪すぎです。

ちなみに、最もスマートに書くと
inc A
(計3クロック)
となります。

作成者:  C1000 [ 2006年6月26日(月) 21:18 ]
記事の件名: 

MS-DOSのコンパイラだけを16ビットで別に作るというのはどうでしょう。

作成者:  konisi [ 2006年6月26日(月) 22:07 ]
記事の件名: 


そのうち自己記述してコンパイラそのものも16ビット環境で動くようにさせるつもりですが。

C言語だとBasicに比べて文字列が扱いにくいから面倒なんですよね。16ビットで直に作れますが。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/