x86プロセッサのアセンブリ言語--- 4.1授業後の演習の回答

4.1データ転送手順

1 MOV命令のデスティネーションオペランドをセグメントレジスタにすることはできません(MOV命令のデスティネーションオペランドをセグメントレジスタにすることはできません)。

回答:×

2 MOV命令では、第2オペランドはデスティネーションオペランドと呼ばれます(MOV命令では、第2オペランドはデスティネーションオペランドと呼ばれます)。

回答:×

3 EIPレジスタをMOV命令のデスティネーションオペランドにすることはできません(EIPレジスタをMOV命令のデスティネーションオペランドにすることはできません)。

回答:√

4次の変数定義を使用します。

.data
var1 SBYTE -4、-2,3,1
var2 WORD 1000h、2000h、3000h、4000h
var3 SWORD -16、-42
var4 DWORD 1,2,3,4,5

①以下の各
命令を順番に実行した後のデスティネーションオペランドの16進値はどうなりますか?

mov al、var1
mov ah、[var1 + 3]

回答:
al = FCh
ah = 01h

②以下の各文について、命令が有効かどうかを記載してください。

a。mov ax、var1b
mov ax、var2c
mov eax、var3d
mov var2、var3e
movzx ax、var2f
movzx var2、alg
mov ds、axh
mov ds、1000h

回答:
有効:bg
無効:acdefh

③次の各命令
を順番に実行した後のデスティネーションオペランドの値はどうなりますか?

mov ax、var2
mov ax、[var2 + 4]
mov ax、var3
mov ax、[var3-2]

::
Ax = 1000h
ax = 3000h
ax = FFF0h
ax = 4000h

④次の各命令
を順番に実行した後のデスティネーションオペランドの値はどうなりますか?

mov edx、var4
movzx edx、var2
mov edx、[var4 + 4]
movsx edx、var1

回答:
edx = 00000001h
edx = 00001000h
edx = 00000002h
edx = FFFFFFFCh

5 Intelが使用するオペランド表記で、imm16は何を示していますか?

回答:16ビットのイミディエート(定数)オペランド

6 Intelが使用するオペランド表記で、reg / mem32は何を示していますか?

回答:32ビットレジスタまたはメモリオペランド

7オペランドの3つの基本的なタイプは何ですか?

回答:登録、即時、記憶

おすすめ

転載: blog.csdn.net/weixin_43574277/article/details/105429786