情報:IT
高校生

3問とも計算方法も答えも分からず、質問させて頂きました。
教えていただけると幸いですm(_ _)m

[3]表 2.1の命令を持つSEP-E の CPU が、あるプログラムを7000番地から実行開始して 数命令動いたところで、現在は命令フェッチ前の状態にあるとする。 この時、汎用レジスタの値 は表 2-2 主記憶装置(メインメモリ)の内容は表 2-3 のようになっている。 なお、レジスタの内 容および番地はすべて16進数である。 以下の設問に答えなさい。000円 2005 LOOT 80001 表2.1 命令一覧表(一部抜粋) P-E ニモニック TVCM 動作概要 0005 NZ V C* |ADD, F:T 加算 (T+F→T)VOY * * * * |AND, F:T ビット毎の論理積 (TAF→T) 0000 ** 0- BIT,F:T ビット毎の論理積 (TAF, フラグ変化のみ) * * 0- CMP,F:T 比較 (T-F, フラグ変化のみの減算) * * * * DEC,D-:T 値を1減らす (T-1→T) * * * * |HLT, D-:D- 実行を停止する |INC, D-:T |JCY,F:D7 値を1増やす (T+1→T) |C=1のときジャンプ (F→(R7) if C=1) |JMI,F:D7 |N=1のときジャンプ (F→(R7) if N=1) |JOV,F:D7 |V=1のときジャンプ (F→(R7) ifV=1) 無条件ジャンプ(F→(R7)) |JP,F:D7 |JR,F:D7 無条件相対ジャンプ ((R7)+F→(R7)) **** --- |JRM,F:D7 |N=1のとき相対ジャンプ ((R7)+F (R7) ifN=1) JZE,F:D7 |Z=1のときジャンプ (F→(R7) if Z=1) MOV,F:T 移動 (FT) OR,F:T ビット毎の論理和(TVF→T) SLA,D-:T 左シフト (T×2→T) |SLR, D-:T 左ローテイト SRA,D-:T |右シフト(T÷2→T) |SRR, D-:T 右ローテイト |SUB, F:T 減算 (T-F→T) |XOR,F:T ビット毎の排他的論理和 (TF→T) * * 0- **0- * * * * * * 0 * * * 0 * * * 0 * * * * * **0- ※N (Negative; 負), Z (Zero; ゼロ), C (Carry; キャリー), V (Overflow; オーバーフ ロー), * 演算結果に応じて変化する, -: 変化しない, 0: 必ず0になる 5
表 2.2 汎用レジスタの内容 レジスタ 内容(値) 表 2.3 主記憶装置の内容(一部) 番地 命令ニモニック RO 0003 7000 |MOV, IP7:D3 R1 [0008 7001 .data 700C R2 [0008 7002 |MOV,13:D1 R3 [700C 7003 MOV, IP7:D2 R4 [0004 7004 .data 0001 R5(PSW) [0000 7005 CMP,D2:D1 R6(SP) [9000 7006 |JMI,IP7:D7 R7(PC) [7003 7007 .data 700B 7008 SLA,D-:D2 7009 |JP,IP7:D7 PSW:Program Status Words 700A .data 7005 700B HLT,D-:D- SP: Stack Pointer 700C .data 0008 PC:Program Counter これから実行する命令が格納 されている主記憶のアドレス 700D .data 0009 700E .data 000A (1) この直後に実行される命令をニモニックで答えよ(オペランドも記述すること)。 (5点) (2) その後、 実行する命令番地が 7008 に達した。 この時点 (7008番地の命令を実 行する直前)でのR2 R3 の値を答えよ。 (5点×2、 計10点) (3)その後、機械語5命令を実行する過程で、実行する命令番地と、値が変化する レジスタ(PC SP PSW を除く) と、 変化後の値を書きなさい。なお、 どのレジス タも値が変化しない場合は、 「なし」と記述しなさい。 (2点×5、計10点) 実行する命令番地 実行によって変化したレジスタと、 その値 7008

回答

こんにちは。大学で情報を専攻していた者です。
SEP-Eというcpuには詳しくないのですが、今のところ回答が付いていなかったので、こうかな?と思うものを書いてみました。
前半がプログラムの内容とレジスタ内容の遷移で、後半が答えです。((3)は「なし」が続いてしまったので、ちょっと自信ないです……。)
詳しめに書いてみたので、読んでいただいて怪しいところがあればご指摘ください🙇‍♀️

この回答にコメントする
疑問は解決しましたか?