汇编语言程序设计第四版第2章课后答案Word文件下载.docx

上传人:b****2 文档编号:13917355 上传时间:2022-10-15 格式:DOCX 页数:19 大小:39.62KB
下载 相关 举报
汇编语言程序设计第四版第2章课后答案Word文件下载.docx_第1页
第1页 / 共19页
汇编语言程序设计第四版第2章课后答案Word文件下载.docx_第2页
第2页 / 共19页
汇编语言程序设计第四版第2章课后答案Word文件下载.docx_第3页
第3页 / 共19页
汇编语言程序设计第四版第2章课后答案Word文件下载.docx_第4页
第4页 / 共19页
汇编语言程序设计第四版第2章课后答案Word文件下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

汇编语言程序设计第四版第2章课后答案Word文件下载.docx

《汇编语言程序设计第四版第2章课后答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计第四版第2章课后答案Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。

汇编语言程序设计第四版第2章课后答案Word文件下载.docx

偏移地址=bx+1100h=1200h

(6)AX=7856H 

偏移地址=bx+si=0100h+0002h=0102h

(7)AX=65B7H 

偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h

〔习题2.2〕指出下列指令的错误

(1)movcx,dl

(2)movip,ax

(3)moves,1234h

(4)moves,ds

(5)moval,300

(6)mov[sp],ax

(7)movax,bx+di

(8)mov20h,ah

(1)两操作数类型不匹配

(2)IP指令指针禁止用户访问

(3)立即数不允许传给段寄存器

(4)段寄存器之间不允许传送

(5)两操作数类型不匹配

(6)目的操作数应为[SI]

(7)源操作数应为[BX+DI] 

(8)立即数不能作目的操作数

〔习题2.3〕已知数字0~9对应的格雷码依次为:

18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。

请为如下程序段的每条指令加上注释,说明每条指令的功能和执行结果。

leabx,table

moval,8

xlat

leabx,table 

获取table的首地址,BX=200H

moval,8 

 

传送欲转换的数字,AL=8

xlat 

转换为格雷码,AL=12H 

P35

〔习题2.4〕什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令?

堆栈是一种按“先进后出”原则存取数据的存储区域,位于堆栈段中,使用SS段寄存器记录其段地址;

它的工作原则是先进后出;

堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。

〔习题2.5〕已知SS=2200H、SP=00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?

movax,8057h

pushax

movax,0f79h 

popbx

pop[bx]

movax,0f79h

popbx 

bx=0f79h

pop[bx] 

DS:

[0f79h]=8057h

〔习题2.6〕给出下列各条指令执行后AL值,以及CF、ZF、SF、OF和PF的状态:

moval,89h

addal,al

addal,9dh

cmpal,0bch

subal,al

decal

incal

moval,89h 

AL=89h 

CF 

ZF 

SF 

OF 

PF

addal,al 

AL=12h 

1

;

10001001

+10001001

100010010

addal,9dh 

AL=0afh 

00010010

+10011101

10101111

cmpal,0bch 

10101111

-10111100

*01000011

subal,al 

AL=00h 

decal 

AL=0ffh 

00000000

-00000001

*11111111

incal 

11111111

+00000001

〔习题2.7〕设X、Y、Z均为双字数据,分别存放在地址为X、X+2;

Y、Y+2;

Z、Z+2的存储单元中,它们的运算结果存入W单元。

阅读如下程序段,给出运算公式。

movax,X

movdx,X+2

addax,Y

adcdx,Y+2

addax,24

adcdx,0

subax,Z

sbbdx,Z+2

movW,ax

movW+2,dx

W=X+Y+24-Z

〔习题2.8〕请分别用一条汇编语言指令完成如下功能:

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。

(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。

(3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。

(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。

(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。

(1)ADDDX,BX

(2)ADDAL,[BX+SI]

(3)ADD[BX+0B2H],CX

(4)ADDWORDPTR[0520H],3412H

(5)ADDAL,0A0H

〔习题2.9〕设X、Y、Z、V均为16位带符号数,分别装在X、Y、Z、V存储单元中,阅读如下程序段,得出它的运算公式,并说明运算结果存于何处。

movax,X 

ax=X

imulY 

DX.AX=X*Y

movcx,ax 

cx=X*Y的低16位

moxbx,dx 

bx=X*Y的高16位

movax,Z 

ax=Z

cwd

addcx,ax 

cx=Z的低16位+X*Y的低16位

adcbx,dx 

bx=Z的高16位+X*Y的高16位+低位进位

subcx,540 

cx=Z的低16位+X*Y的低16位-540

sbbbx,0 

bx=Z的高16位+X*Y的高16位+低位进位-低位借位

movax,V 

ax=V

subax,cx 

ax=V的低16位-(Z的低16位+X*Y的低16位-540)

sbbdx,bx 

dx=V的高16位-(Z的高16位+X*Y的高16位+低位进位-低位借位)-低位借位

idivX;

/X

[V-(X*Y+Z-540)]/X

AX存商,DX存余数

〔习题2.10〕指出下列指令的错误:

(1)xchg[si],30h

(2)popcs

(3)sub[si],[di]

(4)pushah

(5)adcax,ds

(6)add[si],80h

(7)inal,3fch

(8)outdx,ah

(1)xchg的操作数不能是立即数

(2)不应对CS直接赋值

(3)两个操作数不能都是存储单元

(4)堆栈的操作数不能是字节量

(5)adc的操作数不能是段寄存器

(6)没有确定是字节还是字操作

(7)in不支持超过FFH的直接寻址

(8)out只能以AL/AX为源操作数

〔习题2.11〕给出下列各条指令执行后的结果,以及状态标志CF、OF、SF、ZF、PF的状态。

movax,1470h

andax,ax

orax,ax

xorax,ax

notax

testax,0f0f0h

〔解答〕 

movax,1470h 

AX=1470HCF 

andax,ax 

AX=1470H0 

0

0001010001110000

orax,ax 

xorax,ax 

AX=0000H0 

notax 

AX=FFFFH0 

testax,0f0f0h 

A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1