pafuイーランスクール 学んでできる

メニューへ戻る

機械語の命令実行2 (ハードウェア分野)

平成19年春期 問1 問題確認

解説
単純な機械的作業で解ける問題.確実に得点したい.
最後の穴は命令の途中で空いているが,全パターン代入して見ればすぐ答えは得られる.
(正答がアであるのと,穴の位置が最後に近いから楽である.)

以下,解説での表記の凡例を示す.

((凡例))
op 命令コード
r レジスタ番号
v レジスタ番号又は定数


命令後レジスタ
(1)

3021

op 30
r 2
v 1

8361 1000 0011 0110 0001
1234 0001 0010 0011 0100
-----------------------------
OR) 1001 0011 0111 0101 -> 9375

a => ア


(2)

((初期状態))

1034
4038
5048
3043

--------------
1 1234
2 8361
3 5F2A
4 C38B
5 0010
--------------
=======================


=======================
op 10
r 3
v 4

--------------
1 1234
2 8361
3 C38B <-┐move
4 C38B --┘
5 0010
--------------
=======================
op 40
r 3
v 8

C38B 1100 0011 1000 1011
<= [Left 8bit]
1000 1011 0000 0000 -> 8B00

--------------
1 1234
2 8361
3 8B00
4 C38B
5 0010
--------------
=======================
op 50
r 4
v 8

C38B 1100 0011 1000 1000
[Right 8bit] =>
0000 0000 1100 0011 -> 00C3

--------------
1 1234
2 8361
3 8B00
4 00C3
5 0010
--------------
=======================
op 30
r 4
v 3

00C3 0000 0000 1100 0011
8B00 1000 1011 0000 0000
-----------------------------
OR) 1000 1011 1100 0011 -> 8BC3

--------------
1 1234
2 8361
3 8B00
4 8BC3
5 0010
--------------
=======================

b => カ
c => キ


(3)

=======================
op 10
r 6
v 5

--------------
5 0010 --┐
6 0010 <-┘move
--------------
=======================
op 40
r 6
v 3

0010 0000 0000 0001 0000
<= [Left 3bit]
0000 0000 1000 0000 -> 0080

--------------
5 0010
6 0080
--------------
=======================
op 40
r ?
v ?

--------------
5 0010
6 0080
--------------
=======================

((場合分け))

(i) r=5, v=1のとき
=======================
op 40
r 5
v 1

0010 0000 0000 0001 0000
<= [Left 1bit]
0000 0000 0010 0000 -> 0020

--------------
5 0020
6 0080
--------------
=======================
op 20
r 5
v 6

0020
+) 0080
--------
00A0

--------------
5 00A0
6 0080
--------------
=======================

d => ア

以上から答えはわかったが一応他のも確認のため.

(ii) r=5, v=2のとき
=======================
op 40
r 5
v 2

0010 0000 0000 0001 0000
<= [Left 2bit]
0000 0000 0100 0000 -> 0040

--------------
5 0040
6 0080
--------------
=======================
op 20
r 5
v 6

0040
+) 0080
--------
00C0

--------------
5 00C0
6 0080
--------------
=======================

(iii) r=6, v=1のとき
=======================
op 40
r 6
v 1

0080 0000 0000 1000 0000
<= [Left 1bit]
0000 0001 0000 0000 -> 0100

--------------
5 0010
6 0100
--------------
=======================
op 20
r 5
v 6

0010
+) 0100
--------
0110

--------------
5 0110
6 0100
--------------
=======================

(vi) r=6, v=2のとき
=======================
op 40
r 6
v 1

0080 0000 0000 1000 0000
<= [Left 2bit]
0000 0010 0000 0000 -> 0200

--------------
5 0010
6 0200
--------------
=======================
op 20
r 5
v 6

0010
+) 0200
--------
0210

--------------
5 0210
6 0100
--------------
メニューへ戻る

pafuイーランスクール

pafuイーランスクール 学んでできる