コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

ノート:Intel 80286

ページのコンテンツが他言語でサポートされていません。

Windows 3.xについて

[編集]
  • 3.1でサポートされなくなったのはリアルモードであり80286もスタンダードモードで使えた
  • ただし、日本語版3.1はスタンダードモードでも動かなかった(サポートされなかった?)

ということではなかったかしら。--ポン太2号 2007年10月22日 (月) 14:09 (UTC)[返信]

リアルモード/プロテクトモード間のモード遷移とハードウェアリセット/ソフトウェアリセット

[編集]

>BIOSなどの初期化プログラムの中で通常のハードウェアリセット(電源ONまたはリセットスイッチ押下)と前述のソフトウェアリセットを区別し、初期化方法を切り替えるという処理は無駄時間が多い。
どういうふうに「無駄時間」が多いのかよくわかりませんが、これとリアルモード/プロテクトモードの切り替えに何か関係はありますか? リアルモードに移行するためにリセットが必要なのはその通りですがハードウェアリセットかソフトウェアリセットによってリアルモードへの移行手順が違うとかありましたっけ?

ソフトウェア上位互換性

[編集]

8086とソフトウェアの上位互換性がある…80186とはないみたいなんですが、その辺をよく知ってる方は居ませんか?--112.136.13.34 2009年11月6日 (金) 15:14 (UTC)[返信]

8086ではPUSH SPとPOP SPをペアで使えば問題無い??

[編集]

表題の挙動は実際に8086で確認できることなのでしょうか? 個人的に8086はほとんどいじったことは無いのですが、少なくともV30機で試す限り、PUSH SPの直後にPOP SPしてもSPは-2されたままで、POPによる+2が反映された様子は無く、ポインタの示すアドレスは元の値には戻りません。ペアで使ってもSPが減ったままではスタック用メモリを無駄に食いつぶすだけでしょうし、他のレジスタ内容を引き出す際に内容がずれてくると思われますので、問題無いとは思えません。もし仮に8086とV30で挙動が異なるのでしたら、そこまで詳しく記述せずとも「-2されたSPが記録される」程度の内容にとどめておくほうが良いかもしれません。--Gwano会話2016年11月20日 (日) 07:22 (UTC)[返信]

1週間ほど経ちますがご意見は無いでしょうか。その後出典として加えられたPDFについては、見たところ、8086のPOP命令についてSPのアドレスの値をロードした後にSPを+2するという一般的な動作について述べたものであり(その建前自体はV30も同じはず)、SP自身をPOPした際の特殊性というか、PUSH SPとPOP SPをペアで使用した際の挙動について特に言及したものでは無いようです。現時点では三段論法になって好ましくないと思いますので、このまま特にご意見が無いようでしたら先述のようにあまり余計なことは書かない方向でひとまず調整してみようかと思います。--Gwano会話2016年11月27日 (日) 13:08 (UTC)[返信]
出典を追加した者です。アセンブラはブートコードや簡単なBIOSベースのプログラムを作るのにかじった程度で、x86世代間の違いまではよく知らないのですが。インテル公式のドキュメント iAPX 286 Programmer's Reference にはPUSH SPでプッシュされる値が8086と異なるという記述しかなく、POPについては特に説明はありません。8086とV30の違いは Processor Identification · barotto/IBMulator Wiki でいくつか言及されていますが、同様でPOP SPのことは記載されていません。有力な情報源がなければ例えそれが真であってもただの独自研究なので、削除には反対しません。--Darklanlan会話2016年11月27日 (日) 21:18 (UTC)[返信]
私の主張を改めて整理します。現在の記事本文では、8086でPOP SPを実行するとスタック参照先の値がSPにコピーされた後インクリメントされることになっていますが、80286以降でPOPの仕様が変更されたことを示す文献がありません。仮にPUSHバグ修正済みである80286以降もこの仕様だとすると、PUSH SP→POP SPでSPの値が変わることになり、おかしな話になります。出典のPDF(8086 Family User's Mamual :2-31)ではPOP後にSPをインクリメントする説明になっていますが、これはSPに限定しない一般的な説明で、またthenという接続語だけで厳密な解釈に当てはめていいのか正確性に疑問が残ります。Gwanoさんの調べによれば、80186互換のV30ではPOP SPでSPにはスタックの値がそのままコピーされ、インクリメントされないとのこと。またこちらのサイトによれば、8086/80186ではPUSH SP直後のPOP SPで同じ値が返ってこないという記載もあります。POP SPの挙動について8086と80286間の違いを明確に示した資料がなければ詳細に触れない方がいいと思います。なお、PDFの出典を追加されたのは別の方です(履歴をよく見ていませんでした)。--Darklanlan会話2016年11月28日 (月) 06:15 (UTC)[返信]
ご意見ありがとうございます。その後、その方から記述の修正があったようですので、この件は一旦閉じたいと思います。ありがとうございました。--Gwano会話2016年11月29日 (火) 12:20 (UTC)[返信]

286でWindows 3.1日本語版が動作するという記載について

[編集]

Windows 3.1日本語版(IBM版)のスタンダードモードは80286をサポートしていた、という出典なき記載は事実を確認できないため除去します。私の手元の資料では「i386SX以上のCPUを搭載した、IBM PC/AT互換機が必要です。」(『Microsoft Windows 3.1 お使いになる前に』 Microsoft Corporation、1993年、2頁。)とあります。また、IBM版Windows 3.1の対応機種としてi386を搭載するPS/55 モデル5510-S/Tは記載されていますが、同世代の286搭載機であるモデル5510-Zは記載されていません。(『日本語Microsoft Windows バージョン 3.1 ライセンス情報』 日本アイ・ビー・エム、1993年、Part number 66G5342/D42865。)この時点でそれは独自研究の内容ですが、念のため80286相当で動くエミュレータ上でWindows 3.1を動かしてみました。しかしセットアップ実行時に386以上のシステムが必要という旨のエラーが出てインストールできませんでした。それを可能にするサードパーティ製ソフトやパッチがあってインストール後に起動できたとしても、それを出典なく記載することは独自研究ですし、少なくともこの表現は誤りであると考えます。--Darklanlan会話2016年11月28日 (月) 08:56 (UTC)[返信]

個人的な感想としては286機にCPUアクセラレータを載せた際の話と混同された可能性があるのではないかと疑っています。少なくとも現時点では独自研究の域は出ませんので、該当部分の除去に反対はしません。ところでエミュレータで試されたWindows 3.1はIBM版なのでしょうか? もしそうであれば貴重な情報ありがとうございます。--Gwano会話2016年11月29日 (火) 12:20 (UTC)[返信]
試したWindows 3.1はマイクロソフト版ではない、日本IBMがPS/VやThinkPad用に発売したバージョンのものです。setup.exeを実行した時点でエラーが出てセットアップ画面には移行しませんでした。win.comまでは確認していません。PC/AT互換機の286ユーザーが日本にいたとは信じがたいですが。--Darklanlan会話2016年11月29日 (火) 12:54 (UTC)[返信]
コメントウィキペディアの記事は、信頼できる出典を元に、まずは世界的観点で、必要に応じて日本特有の話を補足的に書くべきと思います。自分で試しても独自研究です。マイナビニュース[1]には「Windows 3.1が普及した最たる理由は、高速化を理由にリアルモード(Intel 8086/8080プロセッサー)をサポートせず、スタンダードモード(Intel 80286プロセッサー)およびエンハンスドモード(Intel 80386プロセッサー)に制限したからです」とあります。マイクロソフトのWindows 3.1互換性リスト[2]には「テストは、80386 または 80486 ベースのシステム用の標準と 386 の拡張モードで、80286 ベースのシステムに対してのみ、標準モードで実行されます。」と記載があり、名称より286としか思えない複数のモデルもリストされています(サイトは日本マイクロソフトですが、日本語版Windowsとは書かれておらず、英語版[3]をそのまま翻訳した文書かと思います)。なおWikipedia英語版の記事も同様の記載です。つまりMicrosoft版もWindows 3.1は原則として286プロテクトモードをサポートしています。(マイクロソフト日本法人(MSKK)版の日本語Windows 3.1は、日本語処理のオーバーヘッドやサポートの手間などでサポートしなかった可能性はありますが。)なお日本市場では、Windows 3.1はマイクロソフト(MSKK)版と日本IBM版が、それぞれ市販されていました(ベースとなるDOS/V部分や、細かいカスタマイズが異なる。)またIBM PS/55z 286(新学社、286、MCA) やIBM PS/55 5510T (286、AT-Bus) なども含め、当時より日本にPC/AT互換機系の286ユーザーが多数いました。--Rabit gti会話2016年11月29日 (火) 15:03 (UTC)[返信]
これは私に対するコメントですか?私宛のコメントと仮定してお答えしますが、今まで独自研究を記事本文に書いた覚えはなく、世界的観点にも気をつけているつもりです。(そもそも本件では記述を除去しただけで加筆はしていません。)PS/55z(1989年)が数万台出荷されたことも承知していますが、PS/55=PC/AT互換機というイメージがなく上のコメントを書いた時点では失念していました。正しい表現ではありませんでした。Windows 3.1英語版の286サポートに関する情報を補足していただいたことはありがたいのですが、今回の話の的はWindows 3.1日本語版の誤った記述についてです。それに対する指摘は最初のコメントの前半で出典を交えて説明したとおりで、この部分は独自研究ではありません。もし私宛のコメントでないようでしたら的違いの返信として無視してください。--Darklanlan会話2016年11月29日 (火) 15:46 (UTC)[返信]
コメント失礼しました。私は誰にというより、一般論で書いております。日本語版についてですが、個人サイトながら日本IBM版Windows 3.1のパッケージ(箱)の写真から「最小構成 386SX以上」と読めます[4][5](つまりDarklanlanさんの最初の情報と同じです。)個人的な記憶では、この「最小構成」は「システム上動かない」のではなく、「性能上の推奨(実は286でも動く事は動く)」だったかと思いますが、仮にそうでも「正式サポート」とは言えないので、出典を付けて「Windows 3.1はプロテクトモード(80286)とエンハンスドモード(80386)をサポートした。ただし日本語版Windows3.1は、マイクロソフト版・日本IBM版とも、最小構成 386SXであった」などの記載が妥当かと思います。--Rabit gti会話2016年11月29日 (火) 16:12 (UTC)[返信]
わかりました。助言いただきありがとうございます。記事本文にはそのように反映したいと思います。--Darklanlan会話2016年11月29日 (火) 16:31 (UTC)[返信]
私の発言にも語弊があったようで失礼いたしました。貴重な情報というのは個人的な意味合いであってWikipedia的にはオーバーでしたね。Wikipediaとしてははっきりしないことは書かないという方向性である以上、もともと出典の無い怪しい記述を除去する目的としては、原典(一次出典)や独自研究による反証であっても(どのみち本文には反映されないので)致し方ない面はあるかという程度に考えております。
余談ですが日本市場の286搭載AT互換機としてはテラドライブもありましたね。もっともこれも互換機と言うよりはIBM純正機のようなものでしたが。1991年ごろのソフマップタイムスを見ますとAT互換機とかDOS/V機とかいうカテゴリは無く、わざわざ「その他のパソコン」と称してPS/55系とテラドライブが載っていた程度でしたので、286当時の日本ではAT「互換機」という概念がまだあまり浸透していなかったのかもしれません。ただ、IBM純正機も互換機の一種と考えるのであれば、当時の日本市場で286搭載のAT互換機がそれなりに存在していたことは確かです。--Gwano会話2016年11月30日 (水) 14:17 (UTC)[返信]