• ベストアンサー

Z80プログラムなんですが・・・。

terra5の回答

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

EX AF,AF' EXX が対象でしょうか。 一度しか使えないことが最大の問題でしょう. プログラムを組んだことがあれば、一度しか使えないことが大きな制約になることがわかると思いますが。 EX (SP),HLみたいのは別口で問題無しと考えてます。 使えるレジスタに制限がありますが、スタックとのやりとりですから。

関連するQ&A

  • Z80に関しての宿題なのですが、

    Z80に関しての宿題なのですが、 「コール命令を使った電子オルガン」 キーを入力したら対応する音が鳴るようにプログラミングする。(入力を 常に監視し、FFHでなかったらサウンド出力をする。)プログラムは4400H番地から書く。  キー入力:CALL 2018Hと呼ぶとAレジスタに押されたキーの内容が入ってくる。 押されないとFFHが入っている。(いずれかのキーが押されるとAレジスタには00Hから17Hまでの対応する値が格納される。)  サウンド出力:Aレジスタに00Hから17Hを入力してCALL 201BHと呼ぶと対応する音が鳴る。    (1)キー入力を行った.Aレジスタにキーの内容が入る。    (2)AレジスタがFFHの場合は(1)に戻る。そうでないときは(3)へ行く。    (3)Aレジスタの内容により、サウンド出力を行った。    (4)(1)に戻る。      ニーモニック                        CALL , 2018H SUB FFH JP Z , (4400H) ・・・・(ゼロフラグZが1の時、4400番地にジャンプする。) ADD FFH CALL , 201BH JP 4400H ↑のようにすればよいのですが、なぜなのかいまいちわかりません。異なるコードで実装せよ。とのことなので理解したいです。おしえてください。

  • PIC16F193X割り込み時の退避・復帰処理方法

    ICマイコンでの割り込み処理について、16F193Xの型番では割り込み発生時における退避・復帰が自動的に行われると認識しているのですが、下記型番では以前の様に wレジスタ、status,PCLATh等のレジスタを退避・復帰をプログラムで保存しておく必要がなくなったということでしょうか? 使う割り込みはタイマー割り込み(timer0)とし、割り込処理中の割り込みは禁止とした場合 因みに割り込みは以下の様に発生させ ////////////////////////// org   0 goto start org 4 goto INTLAP ////////////////////////// INTLAP BCF INTCON,2 INCF TES_CNT,1 RETFIE 割り込み処理中にTES_CONのレジスタ内容をPORTAの出力pinをオシロスコープで観察できる簡単なプログラムで走らせると動作していることが確認できましたが、退避・復帰が行われているかは不明です。 他に自動退避・復帰を確実に実行するためのプログラム等の操作を怠っていないでしょうか? 初心者で認識が誤っていないのか判断が出来ません。 対象型番 PIC16F1933 ? PIC16F1934? PIC16F1936 ? PIC16F1937? PIC16F1938 ? IC16F1939 PIC16F193X/LF193Xデータシート記述より(P71,72) 〇「このデータシートに記載されているデバイスRETFIE 命令では、割り込み前に実行していたアドレスをスタックから取得し、シャドウ レジスタから保存した内容を回復し、GIE ビットをセットすることによって、ISR から通常動作に復帰します。」 内容保存機能 〇「割り込み動作に遷移する際、復帰時の PC アドレス値がスタックに保存されます。また、次に示すレジスタ値も自動的にシャドウ レジスタに保存されます。 ・W レジスタ ・ ステータス レジスタ (TO および PD を除く) ・BSR レジスタ ・FSR レジスタ ・ PCLATH レジスタ 割り込みサービス ルーチンから通常動作に戻るとき、自動的にこれらのレジスタ値が回復されます。 とあります。

  • カワサキ Z-1

    Z-1のオイルはどのような、オイルを入れれば良いのでしょうか? 今時のいいオイルを入れたら、エンジンヘッドから、しみでできました、古いバイクには、こうぶつ油、ときいたこともありますが。 ●●カワサキで交換したのですが、今時のオイルでも関係ないとか。 1回目の交換でしみてきました、Z-1オーナーの方お知恵をお借りしたい のですが、宜しくお願いいたします。

  • Z33のロアボールジョイントブーツを探してます。

    Z33のロアボールジョイントブーツを探してます。 車検時に破損で交換とのことでしたが純正品だとゴムのみの部品が無く大野ゴムで扱ってると聞きました。 調べましたがどの品番か分りません Z33 H15年式 UA-Z33 VQ35 です。 どなたかご存知の方いましたら至急お知恵お貸しください><

  • PIC/SWAP命令でWregをrestore?

    先日こちらで「SWAPF命令」についてご教示いただきました。ありがとうございました。 その後、いつも学習させてもらっている下記のページにある「割り込み例」の記述で、わからないところがあって、再度お世話になります。超初学者の質問です、どうぞよろしくお願いいたします。 -----ここから引用(ただし各行先頭の番号と:は行数指示のため追加)---------------- 01:【例】WレジスタとSTATUSレジスタの待避と復旧 02: 03:(0004)番地 04:    GOTO   PUSH    ;割込みジャンプ 05:    | 06:    | 07:PUSH  MOVWF  W_TEMP    ;Wレジスタ待避 08:    SWAPF  STATUS,W  ;STATUS取り出し 09:    MOVWF  ST_TEMP   ;STATUS待避 10:    | 11:    |(割込み処理) 12:     | 13:    SWAPF  ST_TEMP,W  ;STATUSを戻す 14:    MOVWF  STATUS   ; 15:    SWAPF  W_TEMP,F  ;Wレジスタを戻す 16:    SWAPF  W_TEMP,W 17:    RETFIE       ;割込み許可リターン -----ここまで引用---------------- (http://www.picfun.com/pic08.html) 基礎知識の確認事項: PIC特有の問題として、 1:PICにはステータスレジスタを直接退避する命令が無く、一旦WREGにステータスレジスタの値を転送してからメモリに退避する必要が有る。 2:MOV命令でステータスレジスタをWREGに転送すると、ステータスレジスタの値が変化してしまう。 3:これらの理由でステータスをWREGに転送する際は、ステータスが変化しないSWAPF命令を使用する。 4:ところがSWAPF命令を使うと、移動しようとするデータの上位4ビットと下位4ビットが入れ替わってしまういわば「副作用」が現れる。 4:それで復帰する時にもSWAPF命令を使用して上下4ビットを元へ戻す。 (前回ご教示いただいたことをまとめると上記のようになりますね。) 質問1: 引用した記述で7行目の「PUSH」は単にラベルとして使用しているだけで、命令としてはPICには無いものですね?PUSH~POPは単語の意味として、AVRに限らず使用できる一般的な意味のある単語なのでしょうか? (補足) AVR命令セットのPDFがアップされています。 http://www.atmel.com/images/doc0856.pdf こちらの13ページををみますと、表の下から2~1段目にPUSH~POPがあります。 しかしPICではPUSH~POPが命令セットに見あたりません。 それでPUSH~POPがAVR専用の命令語だとわかりました。 でも引用したページでは「POP」を使っています。 質問2: 引用した記述の7行目でMOVWF命令を使ってWレジスタをsaveしています。 ところが15行目、16行目では1回ずつSWAPFを使い、合計2回のSWAPFを使っています。7行目でWレジスタをW_TEMPにsaveするときはSWAPFを使わないのに、どうしてrestoreするときはSWAPFを2回も使用するのでしょうか? (補足) 「合計2回のSWAPFを使う部分の機能」が上位~下位反転してしまったピットを戻す機能であることはわかります。 しかし、それであれば7行目でWレジスタをW_TEMPにsaveするときはSWAPFを使えば良いように考えたのですが、、、 それでrestoreするときにSWAPFを再び使用したら良いのでは?と、、、 基礎知識の確認事項2で「MOV命令でステータスレジスタをWREGに転送すると、ステータスレジスタの値が変化してしまう。」としました。 7行目で移動するのは割り込み直前の「Wreg」で「status register」ではないのに、それでも移動すると値が変化してしまうということでしょうか? 初学者の質問で馬鹿らしいかもしれません。 ご解答が面倒で無い方がいらしたら、どうぞご教示よろしくお願いいたします。

  • CASIO Z600 室内の写りが荒い

    前まではCASIOのEX-Z350かなんかを使っていて、使いやすく写りも綺麗で非常に満足して使っていましたが無くしてしまい、新しくCASIOのEX-Z600を買いました。1年前くらい。 ところが最近室内での撮影がするようになってきて、室内でフラッシュをたかないと画質が非常に荒くなってしまいます。故障かと思いリペアセンターに出しましたがCCDの感度が上がっているので荒くなってしまうとの事で故障ではないという返答でした。 350のときはそんな事(室内、フラッシュなし)は全然気にせずに撮って普通に満足できる画質でしたが、600の場合はかなり荒い画質(室内フラッシュなしでの撮影のみ)でとても写真と呼べるものではありません。 こんな写りだったら使い捨てカメラの方が全然使えます。 新しい機種に変えて画質が悪くなるというのはありえるんでしょうか? またおなじ機種を使っている方いましたら同じような症状はありますでしょうか?

  • HTMLにプログラムを埋めこむ方法

    WEBでいろいろなプログラムを動かす場合にHTMLに埋めこみます ーー例えばJAVAを埋めこむ場合にはアプレットを使ったりーー アプレット以外に他にどんな方法がありますか?特にJAVA関係に ついてわかるとうれしいのですが。HTMLとJAVAの関係について 調べています。ご存知の方、お知恵拝借。

  • Z1FCR35キャブレターのセッティング

    Z1のFCR35キャブレターのノーマルエンジンでのジェット関係、番数などを教えてください。 マーク2につけていたキャブを使用したのですが、アイドリングが安定しませんでした。 どなたか分かる方お知恵を貸して下さい。 宜しくお願いします。

  • IXY600かEX-Z750か

    小型で高画質で安価、できれば動画撮影機能もあれば。。。という条件のもと、色んなデジカメを調べた結果、CanonのIXY600とCasioのEX-Z750の2つまで絞れました。 http://cweb.canon.jp/camera/ixyd/600/feature02.html http://dc.casio.jp/product/exilim/ex_z750/ が、この先です。 一体どちらを買うべきかで悩んでいます。 http://www.kakaku.com/prdsearch/prdcompare.asp?PrdKey=00500210803.00500410796 上記サイトにあるように、あまりスペックに差がないのです。 なので何を決め手にすれば良いのかサッパリで・・・ もし所有者の方、またはデジカメの選び方に強い方が居ましたら、アドバイスお願いします。 1つ気になったのは、動画の形式なんですが、MotionJPEGとMPEG4ではそれぞれ画質・容量・動画編集時の融通の良さなどどう違うのでしょうか?

  • フェアレディZ Z31 に、ついて、教えて下さい。

    フェアレディZ Z31 に ついて、ですが、、、 前期、後期、、って、、あるのでしょうか??? また、フロントショックを、交換するときに、シェルケースの、中の、ショックだけ、交換するとき、ショックアブソーバー自体、前期、後期は、長さが、ちがうのでしょうか?? 取付の時、ショック自体、前期後期、関係なく、取付可能か、不可能か?? だれか、知っているかた、いましたら、教えて下さい。