第三章习题答案(32位汇编)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章通用数据处理指令答案3.3
1)ESP减2
2)mov edx, [esp] add esp, 4
3)78894111
4)26h,0,be26h,0
5)68h,0
6)0098h,零位
7)ff98h,符号
8)0,0,0
9)0123456788765432h
10)4
3.4
1)mov eax,050ah
2)mov dvar,050ah
3)mov esi,edx
4)mov dvar,al
5)mov ds,ax
6)mov eax,dvar
7)mov ds,dvar
8)mov ax,ds
9)Mov dvar,ds
3.5
1)类型不一致
2)指令指针寄存器(eip)不能像通用寄存器那样直接赋值修改。其
是在执行控制转移指令、出现中断或异常时被处理器赋值而相应改变。
3)立即数不能向段寄存器赋值。
正确的写法是:mov ax ,1234h
Mov es,ax
4)段寄存器不能向段寄存器赋值。段寄存器属于专用寄存器。
5)超范围。Al(低八位)寄存器的范围是:0~255
6)无明确类型。
正确的写法是:mov byte ptr[esi], 45h
7)正确的写法是:mov eax,[ebx+edi]
8)不可以向立即数传数据。
3.6
1)Mov ecx ,[edi]
Mov [edi],ebx
Mov ebx,ecx
3.7
堆栈:即按照先进后出存取原则组织的存取区域。
基本操作:进栈指令PUSH,出栈指令POP
3.8
1)0012ffach
2)0012ffaah
3)0012ffa6h
4)0012ffaah
5)0012ffach
6)0012ffb0h
3.10
Cf:进位标志,体现二进制数据最高位的进位或借位。针对无符号整数运算设计,用于反映无符号数据加减运算结果是否超出范围、是否需要利用进(借)位反映正确结果。
Of:溢出标志,表达有符号整数进行加减运算的结果是否超出范围。针对有符号整数运算。
也就是说,如果将参加运算的操作数认为是无符号数,就应该关心进位;而如果将参加运算的操作数认为是有符号数,则要注意是否溢出。
3.11分别执行如下程序片段,说明每条指令的执行成果
(1)mov eax,80h ;eax= 80h
add eax,3 ;eax=83h, CF=0 ,SF=0
add eax,80h ;eax=103h, CF=0 ,SF=0
adc eax,3 ;eax=106h, CF=0 ,SF=0
(2)mov eax,100 ;eax=64h
add ax,200 ;eax=12ch, CF=0
(3)mov eax,100 ;eax=64h
add al,200 ;eax=2ch, CF=1
(4)mov al,7fh ;al=7fh
sub al,8 ;al=77h ,CF=0,SF=0
sub al,80h ;al=f7h,CF=1,SF=1
sbb al,3 ;al=f3h,CF=0,SF=0
3.12给出下列各条指令执行后AL的值,以及CF、ZF、SF、OF和PF 的状态。
mov al,89h al=89h,不改变上一条指令的标志
add al,al al=12h, CF=1,ZF=0,SF=0,OF=1,PF=1
add al,9dh al=0afh, CF=0,ZF=0,SF=1,OF=0,PF=1
cmp al,obch al=0afh, CF=1,ZF=0,SF=1,OF=0,PF=1
sub al,al al=00h, CF=0,ZF=1,SF=0,OF=0,PF=1
dec al al=0ffh, CF=0,ZF=0,SF=1,OF=0,PF=1
inc al al=00h, CF=0,ZF=1,SF=0,OF=0,PF=1
3.13 如下两段程序执行后,EDX,EAX寄存器对的值各是多少?(1)eax=f0000000h
edx=11h
(2)eax=e0000000h
edx=ffh
3.14请分别用一条汇编语言指令完成如下功能:
(1)add edx,ebx
(2)add al, [ebx+esi]
(3)add [ebx+0b2h],ecx
(4)add vard,3412h
(5)add eax, 0a0h
3.15
3.16分别执行如下程序片段,说明每条指令的执行结果:(1);ESI=9CH
;ESI=80H
;ESI=FFH
;ESI=01H
(2);EAX=1010B
;EAX=0010B,CF=1
;EAX=0100B,CF=0
;EAX=0000B,CF=0
(3);EAX=1011B
;EAX=101100B,CF=0
;EAX=10110B,CF=0
;EAX=10111B,CF=0
(4);EAX=0,CF=0,OF=0
;ZF=1,SF=0,PF=1
3.17给出下列各条指令执行后AX的结果,以及状态标志CF、OF、SF、ZF、PF的状态。
mov ax,1470h
and ax, ax
or ax,ax
xor ax,ax
not ax
test ax, 0f0foh