ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 00:33

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - 16ビットコンパイラ
作成者 メッセージ
  記事の件名:   引用付きで返信する

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

C言語だとBasicに比べて文字列が扱いにくいから面倒なんですよね。16ビットで直に作れますが。
投稿記事 Posted: 2006年6月26日(月) 22:07
  記事の件名:   引用付きで返信する
MS-DOSのコンパイラだけを16ビットで別に作るというのはどうでしょう。
投稿記事 Posted: 2006年6月26日(月) 21:18
  記事の件名:   引用付きで返信する
それは知ってます。いや、他の人は知らないかもしれないですが・・・?

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クロック)
となります。
投稿記事 Posted: 2006年6月05日(月) 21:41
  記事の件名:   引用付きで返信する
yahooで検索したらXpにも16ビットのDOSがあるそうです。
投稿記事 Posted: 2006年6月05日(月) 21:35
  記事の件名:   引用付きで返信する
XPにも、Windows/Systemフォルダ内にひっそりと16ビット用のカーネルがおいてあったりします。
投稿記事 Posted: 2006年6月03日(土) 13:53
  記事の件名:   引用付きで返信する
>32ビットのマシンなら16ビットのコードは動かせますよ。

今使ってるマシンがXpで16ビットのコードが残ってないはずなのでそう書きました。
投稿記事 Posted: 2006年6月03日(土) 13:15
  記事の件名:   引用付きで返信する
32ビットのマシンなら16ビットのコードは動かせますよ。

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

アセンブラは厳密に言えば「翻訳機」ではなく「変換機」ですが。
投稿記事 Posted: 2006年6月02日(金) 22:48
  記事の件名:   引用付きで返信する
自分は16ビットのマシンがないのでなんともいえませんが16ビットのコンパイラなんてほとんど見ないのでできたらABを使う人が増えると思います。
投稿記事 Posted: 2006年6月02日(金) 21:55
  記事の件名:  16ビットコンパイラ  引用付きで返信する
MS-DOSでも動くソフトを組みたいので、consoleモードのみという制限等をつけてでも16ビット版ABコンパイラが欲しいです。

64ビットのコンピュータじゃ動きませんが、MS-DOS用プログラムを書くのにわざわざC言語で書き直すのも面倒なので。
投稿記事 Posted: 2006年6月02日(金) 21:48

全ての表示時間は UTC+09:00 です


ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean