ハードを組む上でメモリマップが作られるのは分りましたが、ソフトから見るとベクターテーブルが0000H番地に必ずいます。このベクタテーブルって何ですか?
またどのような働きがあるのですか?またベクターテーブルはプログラマーが組むものなんですか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

Z80ですね。

懐かしいです。

> 0000H番地にはROMがいるはずです。

ROMがいて構わないのです。ROMの中に割りこみ処理ルーチンのアドレス(あるいは割りこみ処理プログラム)を焼きこんでしまうのです。割りこみルーチンで使うワークはRAMに取ればいいので一向に構いません。

0000H番地を使う理由は「電源ON」時にパワーオンリセットで0000H番地に飛ばして「最初の処理」をやらせようと言う魂胆です。

次にZ80の割りこみはマスク不能割りこみ、モード0、モード1、モード2の4種類に分類されます。相手の機器に合わせてモードを選ぼうと言うわけですね。柔軟性がありますね。

マスク不能割りこみ:割りこみ処理ルーチンは0066H番地から始まる。

モード0割り込み:割りこみを受け付けると入出力装置から1バイトのサブルーチン呼び出し命令を受け取り、これをもとにサブルーチンを呼ぶ。このとき、飛べるのは、0000H、0008H、0010H、0018H、0020H、0028H、0030H、0038Hの8つのアドレスだけである。

モード1割りこみ:常に0038番地をCALLする。

モード2割り込み:割りこみを受け付けると外部装置から、1バイトのベクターを受け取りIレジスタ(ベクターテーブルの先頭を示す)と合成してベクターテーブルを参照し、そこから割りこみルーチンアドレスを得て、そこにジャンプ(CALL)する。

以上でお分かりのように、モードによっていろいろなやり方が用意されています。
それとZ80の場合、ベクターテーブルは0000Hでなく、モード2でかつ、Iレジの示す場所に存在しています。

一般論だけでなく、機種を限定しないと話がかみ合わないのがこの世界です。

Z80は寿命の長い、いいCPUです。頑張ってください。
    • good
    • 0
この回答へのお礼

有難う御座います。少しずつ分りかけてきました。z80なのでいろいろソフトは難しいです。勉強になりました。

お礼日時:2001/10/16 11:32

何か他の質問と関連があるようですが、どれかわかりませんので、


ここの範囲で・・・。
CPUレベルの話だと思いますが。

ベクタテーブルは、CPUによって決まったアドレスにあることもあり,また先頭アドレス等を設定できることもあります。
その場合でも,例えばリセット信号による割り込みは
ベクタ固定だったり、テーブルアドレスが固定であったりします。

ymmasayanさんは割り込み要因も含むとありますが、
私が知っているCPUではアドレスのみで、割り込み要因がテーブルのインデックスになっています。
まあ、この辺はCPUによって異なる部分ですので、
いろいろあるのでしょう。

また、ベクタテーブルは、例えばWindowsであれば、
OSやドライバ辺りで使うものですから,
一般のプログラマなら使わないとも言えますし,
そういうソフトが設定する以上、プログラマが
設定するものとも言えます。

また、組込機器のようなシステムでは、そのレベルから
プログラムとして組むことも珍しくはありません。
当然,プログラマがハードウェア割り込みに対応したプログラムを書くことになります。
    • good
    • 0
この回答へのお礼

有難う御座います。なかなか難しい質問になってしまったようです。
メモリマップを作ってみたんです。そしたらROMが0000H番地になったのです。
しかしソフトを勉強してみるとベクターテーブルが0000H番地にあります。
何故ソフトになると勝手にそんなものが出てくるのか不審に思いました。
それでベクターテーブルに疑問をもったわけです。
Z80のマイコンの電気回路を作成しました。その時にメモリマップが自動的に出来てしまったのです。
しかしソフトから見るとベクターテーブルがあるので何故なんだ?どうなるんだ?
と思ったわけです。

お礼日時:2001/10/15 09:21

> このベクタテーブルって何ですか? またどのような働きがあるのですか?



割り込み処理を一括管理するために設けられているテーブルです。
割込み要因とその要因に対する割り込み処理ルーチンのスタートアドレスがペアで格納されています。
割込みが起こるとベクターテーブル経由で、該当の割り込み処理ルーチンへ飛びます。こうするとそれぞれの割り込み処理ルーチンの大きさや配置場所が自由になります。(ベクターテーブルの書き換えだけで済む)

> またベクターテーブルはプログラマーが組むものなんですか?

プログラマーは関知しません。システム管理者的な人が、どの割り込み処理プログラムをどのプログラム要因に結び付けるかを指定します。割り込み処理プログラムの実装段階という事です。
    • good
    • 0
この回答へのお礼

有難う御座います。大変期待していた回答をもらえた気がします。
しかし、ベクターテーブルの存在は分りましたが、その場合プログラムは
CPUで変わってくるはずです。今Z80CPUで電気回路を作っています。
システムは簡単なものです。しかしなにぶん初心者なので単純にメモリマップを作ったのですが、0000H番地にはROMがいるはずです。
Z80での場合はベクターテーブルはどうなるのですか?

お礼日時:2001/10/15 09:31

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qテーブル入れ子にしたらNNではダメ?

赤い背景画像を使ったHTMLにテーブルを3個入れ子で載せました。
下のテーブルのセルに白色、中のテーブルのセル色にグレー、一番上のテーブルのセルに白色を指定しました。

そこへラジオボタンをつけたのですが、本来、枠がない丸いボタンのところに赤の枠ができてしまいます。
IEでは問題ないのですが、NN4.7で確認したらこうなっていました。

デザインを変えずに回避する方法があったら教えてください。
また、NN6.*~だったらOKということはありますか?

Aベストアンサー

こんにちは!

<input type="radio" name="address" value="menber" checked style="background-color:#FFFFFF;">

と style="background-color:#FFFFFF;" を追加してください。

NN6は分かりませんが4.7と7で確認しました。

Mac 側は確認していません・・。

Qベクター等のページを取り込むには

友達にフリーソフトでいろいろ試したいといわれ、データを持ってきてほしいと言われました。
友人の家はネットにつながってないので、CDに焼いてもっていかないといけません。
いろんなフリーソフトを置いているのはベクターなどですが、このデータだけでなく、解説ページ等も含めて取り込むにはどうしたらいいでしょうか?
ちなみにインターネットニンジャを持ってますが、設定がいまいちわからず、ソフト部分を取り込むことができません。

Aベストアンサー

巡回系のソフトを使えば良いかと思います。

http://www.vector.co.jp/vpack/filearea/win/net/www/auto/index.html

QNN4.7 テーブルの背景を表示出来ますか?

至急教えて欲しいのですが、ネットスケープ4.7でhtmlを確認中ですが。
テーブルへ背景を埋め込むと表示されないようです。
この現象は、NN4.7では無理なのでしょうか?
どなたか助けてくださいm(_ _)m

Aベストアンサー

NN4.7では <table bgcolor="~"> や <table background="~"> は正式にサポートされています。
(Win. Mac. 共にNN4から正式サポート)

但し、NNの仕様でテーブルの各セル内が背景以外何もない場合は背景が表示されません。

おそらく、背景が表示されていない部分は、文字も画像も入れていないのではありませんか?

そのときには、各空白のセルに相当するソース部位に「&nbsp;」(&は実際には半角です)を記述しておきます。
「&nbsp;」(&は実際には半角です)は、空白を表す特殊な記号で、ブラウザには表示されません。

Q8ビットマップから1ビットマップに減らす方法を教えてください

電子レジにロゴを転送するために
モノクロデータが必要なのですが
fireworksを使っている為BMP8までには変換できても
モノクロデータにしてくださいというエラーが出て転送できません。
シャープに電話すると1ビットでないとだめだと言われたのですが
BMPは初めて使うのでよくわかりません。
どうかこんな質問の仕方でわかりにくく申し訳ないですが
教えてくださいませ。よろしくお願いします。

Aベストアンサー

Windows標準のペイントでそのファイルを開いて、保存するときにモノクロビットマップで保存するだけだと思いますが。

QIE6/NN7.1のテーブルのheight="100%"

テーブルの高さの指定 height="100%" なんですが、
IE6とNN7.1で100%で表示されません。

下記の記述に間違いはありますでしょうか?
もしかしたら初歩的な問題なんでしょうか?


ちなみにIE5.5 MacのIE5.2では表示されました。
困っています。
宜しくお願いいたします。

ーーーーーーーーーーーーーー
<table border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td valign="top">上</td>
</tr>
<tr>
<td valign="bottom">下</td>
</tr>
</table>
ーーーーーーーーーーーーー

Aベストアンサー

HTML4.01の規格(仕様)では、tableに使えるアトリビュートは、summary、align、widthです。
heightが有効になるほうが特殊だと思ったほうがよいとおもいます

Q100ページ超の本をイラレで組む会社

面接の時に、「うちは、本とか冊子を作る仕事が多いから」と言われて
Quarkxpressとindesignの経験は結構あるので
「大丈夫です。」と言い採用。

働く事になり、仕事場の環境見たらQuarkxpressもindesignもない。
話によるとイラレで組むらしい。

自分としてはありえねーと思っちゃったんだけど
8Pとか16Pならなんとか我慢してイラレでできますが
100P超とかありえないでしょ…と
まず、校正時にも間違いが発生しやすいし
なにより非効率。写真追加挿入等で文章がズレた時など大変です(全ページズレるから)
相当無駄な労力を使う事になります。
前の会社はページ物はすべてQuarkxpressで作ってました。

こんな無駄な事してる会社ってあるんでしょうか?

Aベストアンサー

いろいろ厳しい意見もあるようですが、
あなたは「この環境はどれくらい常識的なのか」ということを聞きたいのでしょう。

こればかりは仕事の世界観の話であって、
仕事の世界にIndesignがある人にとってはあり得ない話、
仕事の世界にIndesignがない人にとってはイラレで作るのが当たり前の話、
なのです。

私の常識では、あなたと同じ考えです。
「そんなのあり得ねー」です。

100P超の案件をイラレで作るような会社は、
効率も安全性も考えないでただ現状の環境にしがみついているだけの
超保守的、後進的な会社と言ってもいいですね。

あなたがそういう環境に見切りを付けてもいいと思うし、
そういう環境にIndesignを導入するように働きかけてもいいでしょう。

でも、人間というのはなかなか愚かなもので、
環境を変えるくらいなら、この面倒なことを明日も続けるよ、
だってこれに慣れてるんだもん、
という考えをする人が少なくないです。

あなたがいかに合理的であっても、
それが伝わるかどうかはまた別問題です。

QNNでテーブルの枠線(BORDER)の設定は?

NN6です。
BORDERを使用したいのですが、NNではうまくいきません。
<TABLE>タグにあてはめるとだめだときいたので、TDにあてはめようとしているのですが…。

HEAD内で
TDにBORDER-STYLE="SOLID; BORDER-COLOR:GRAY;"
としました。これをTD CLASS=***
としているのですが、一向に線は出てきません。
どのように直せばいいのでしょうか?

Aベストアンサー

とりあえずダブルクォーテーションは不要なので削除しましょう。

BORDER-STYLE=SOLID; BORDER-COLOR:GRAY;

それでも出なかったらボーダーの太さも明記しておきましょう。

BORDER-STYLE=SOLID; BORDER-COLOR:GRAY;BORDER-WIDTH:1pt;

Qsql where 複数テーブル Aテーブルにあるが、BまたはCテーブルになければ抽出する

タイトルのように、Aテーブルにあるが、Bテーブルまたは、Cテーブルにあれば抽出しないWhere文を作成したいのですが、ご教授ください。尚、Dテーブルより名称を抽出したいです。

 select a.項目1,a.項目2,d.名称 from Aテーブル a,Bテーブル b,Cテーブル c,Dテーブル d where a.条件1 = 1 and d.項目1 = a.項目1 and d.項目2 = a.項目2 NOT((b.項目1 = a.項目1 and b.項目2 = a.項目2 and 条件2 = 0) or (c.項目1 = a.項目1 and c.項目2 = a.項目2 and 条件2 = 0))

 上のselect文ではダメでしょうか?

Aベストアンサー

結論から言うと、質問文のSQLでは抽出できません。
理由ですが、Aテーブルにあって、BテーブルまたはCテーブルに無いような条件の場合はテーブルの結合条件として、外部結合を使う必要がありますが、質問文のSQLでは内部結合を使っています。内部結合を使うと、結合したテーブルの何れかにデータが欠如していると、該当のAテーブルのレコード情報は抽出されません。しかし、外部結合を使えば、Aテーブルのみに存在する情報も抽出可能です。

一般に、FROM句にテーブル名を並べるか、キーワードINNER JOINを使った場合は内部結合(ただし、OracleではFROM句にテーブル名を並べても外部結合として扱う記述方法が存在します。)、LEFT JOINもしくはRIGHT JOINを使うと外部結合となります。

質問文のSQLからはそれぞれのテーブルの結合条件が不明なため、そのまま動作するSQLを回答することはできませんが、仮にテーブルA〜Dのキー項目が項目1で、全テーブルの結合条件が項目1の場合、以下のようなSQLで結合できます。

SELECT a.項目1, d.名称
FROM Aテーブル a
LEFT JOIN Bテーブル ON a.項目1 = b.項目1
LEFT JOIN Cテーブル ON a.項目1 = c.項目1
LEFT JOIN Dテーブル ON a.項目1 = d.項目1
WHERE b.項目1 IS NULL OR c.項目1 IS NULL

LEFT JOINをベースに外部結合(LEFT JOIN)しているので、Bテーブル、またはCテーブルに該当の情報がなくても情報が抽出されます。また、Aテーブルに情報が存在し、Bテーブルに情報が存在しない場合、Bテーブルに関連する情報は全てNULLになるため「b.項目1 IS NULL」とすることで、「Aテーブルに存在し、Bテーブルに存在しない」データを抽出できます。同様にして「c.項目1 IS NULL」とすると、Cテーブルには存在しない情報が抽出できます。

なお、SQLは使用するSQLサーバの種類やバージョンによって動いたり、動かなかったりします。質問するときは使用するSQLサーバの種類とバージョン(Oracle 11g、Postgresql 9.6など)も記載していただけると、より正確なSQLを回答できます。

結論から言うと、質問文のSQLでは抽出できません。
理由ですが、Aテーブルにあって、BテーブルまたはCテーブルに無いような条件の場合はテーブルの結合条件として、外部結合を使う必要がありますが、質問文のSQLでは内部結合を使っています。内部結合を使うと、結合したテーブルの何れかにデータが欠如していると、該当のAテーブルのレコード情報は抽出されません。しかし、外部結合を使えば、Aテーブルのみに存在する情報も抽出可能です。

一般に、FROM句にテーブル名を並べるか、キーワードINNER JOINを使った...続きを読む

QIE(5.5)とNN(4.7)のフォントサイズについて。

フォントサイズがデフォルトのままだと、IE(5.5)とNN(4.7)とではフォントサイズが違うのです。
IEの方でフォントサイズを「小」にするとNNと丁度良いサイズになるので、
IEでアクセスしたときには強制的にフォントサイズを「小」に変更することなど出来ませんでしょうか?
CSSで「12px」とかにしたんですけど、やはりIEでサイズが「中」になっていると
微妙にサイズが違ってしまうのです。
また、テーブル内のフォントのサイズも同じように変更したいのでNNに対しては融通が利かないのです。
なにとぞお知恵をお貸しくださいませm(_ _)m

Aベストアンサー

これはJavaScriptとの併用である程度解決つきます。
ブラウザによって使用するCSSファイル(この場合は外部ファイルにします。拡張子『.css』)を用意し、<head>~</head>タグ内にブラウザの判別のスクリプトを書く形です。

IE用とNN用で別々のCSSを用意する事によって、かなり近い状態で表示されるはずです(それでもWindows/Mac、他のバージョンを考えると完全に一致させる事は至難の技ですが・・・)。

JavaScriptでのブラウザ判別については、ここの『JavaScirpt』の方で見つかったので、そのリンクを。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=186603

Qイラレからベクターは可能?

イラストレーターのベジェはベクターに取り込むのは可能ですか?

フォトショップから線画を起こして、
最終的に図面にしたいのです。
ベクターではフリーハンドくらいしか使えそうにないので、
何とか要領よくしたいのですが。

上の方法がムリでも
ベクターの線分に持っていけるものがあればご紹介いただけると
ありがたいです。よろしくお願いします。

Machintosh OS9
イラレ8または9、ベクター8または9、フォトショ5

Aベストアンサー

私もMacでベクター9&10、イラレ9&10、フォトショCS使ってます。
最近、友人から教わって愕然としたのですが、
イラストレーターのベジェ線画、そのまま【コピー&ペースト】でベクターに持って行けます。
(ベクターのフリーハンドツールで書いたと同じ状態)
当然ノンスケールなので、その後、大きさの調整は必要です。

その際、イラストレーターの線画が小さいと、ベクターにペーストした時、線画が荒くなります。
イラストレーター上で線画を大きく拡大して(A3いっぱい位)、
ベクターにペーストしてから、縮小など大きさ調整するときれいに出来ます。

ただ問題点は、ベクターのデータ容量がすごく重くなります。
私がやった前例では30Mぐらいのもあります。
(この方法でイラストを目一杯、貼り込んだので><)


人気Q&Aランキング

おすすめ情報