更新日: 2023 年 7 月 6 日
PACK
PACK
梱包 (ぱっく)
PACK Dr,Dq,#<data>
68020/68030/68040/68060 の命令
命令コード
アドレス | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+0 | 1 | 0 | 0 | 0 | レジスタq | 1 | 0 | 1 | 0 | 0 | 0 | レジスタr | ||||
+2 | ワードデータ |
実行時間
68020 | 68030 | 68040 | 68060 |
---|---|---|---|
🚧 | 🚧 | 🚧 | 🚧 |
コンディションコード
フラグ | 入力 | 出力 |
---|---|---|
X | 使用しない | 変化しない |
N | ||
Z | ||
V | ||
C |
解説
- ワードの <data> を Yw とします。
- Dr の下位ワードを読み出して Xw とします。
- Xw に Yw を足した結果を Zw とします。
- Zw のビット 11〜8 を右に 4 ビットシフトしてビット 3〜0 を足したものを Zb とします。
- Zb を Dq の最下位バイトへ書き込みます。
フラグは変化しません。
Dq の最下位バイト以外の部分は変化しません。
PACK -(Ar),-(Aq),#<data>
68020/68030/68040/68060 の命令
命令コード
アドレス | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+0 | 1 | 0 | 0 | 0 | レジスタq | 1 | 0 | 1 | 0 | 0 | 1 | レジスタr | ||||
+2 | ワードデータ |
実行時間
68020 | 68030 | 68040 | 68060 |
---|---|---|---|
🚧 | 🚧 | 🚧 | 🚧 |
コンディションコード
フラグ | 入力 | 出力 |
---|---|---|
X | 使用しない | 変化しない |
N | ||
Z | ||
V | ||
C |
解説
- ワードの <data> を Yw とします。
- Ar から 2 を引きます。
- Ar が指すワードを読み出して Xw とします。
- Xw に Yw を足した結果を Zw とします。
- Zw のビット 11〜8 を右に 4 ビットシフトしてビット 3〜0 を足したものを Zb とします。
- Aq から 1 を引きます。
- Zb を Aq が指すバイトへ書き込みます。
フラグは変化しません。