期中复习提纲Word格式.docx

上传人:b****6 文档编号:21975632 上传时间:2023-02-02 格式:DOCX 页数:20 大小:23.44KB
下载 相关 举报
期中复习提纲Word格式.docx_第1页
第1页 / 共20页
期中复习提纲Word格式.docx_第2页
第2页 / 共20页
期中复习提纲Word格式.docx_第3页
第3页 / 共20页
期中复习提纲Word格式.docx_第4页
第4页 / 共20页
期中复习提纲Word格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

期中复习提纲Word格式.docx

《期中复习提纲Word格式.docx》由会员分享,可在线阅读,更多相关《期中复习提纲Word格式.docx(20页珍藏版)》请在冰豆网上搜索。

期中复习提纲Word格式.docx

(5)AX=4C2AH 

偏移地址=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.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.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.22〕判断下列程序段跳转的条件

(1)xorax,1e1eh

jeequal

(2)testal,10000001b

jnzthere

(3)cmpcx,64h

jbthere

(1)AX=1e1eh(异或后为0)

(2)AL的D0或D7至少有一位为1

(3)CX(无符号数)<64h

〔习题2.23〕设置CX=0,则LOOP指令将循环多少次?

例如:

movcx,0

delay:

loopdelay

216次。

〔习题2.25〕有一个首地址为array的20个字的数组,说明下列程序段的功能。

movcx,20

movax,0

movsi,ax

sum_loop:

addax,array[si]

addsi,2

loopsum_loop

movtotal,ax

将首地址为array得20个字的数组求和,并将结果存入total单元中。

〔习题2.26〕按照下列要求,编写相应的程序段:

(1)起始地址为string的主存单元中存放有一个字符串(长度大于6),把该字符串中的第1个和第6个字符(字节量)传送给DX寄存器。

(2)从主存buffer开始的4个字节中保存了4个非压缩BCD码,现按低(高)地址对低(高)位的原则,将它们合并到DX中。

(3)编写一个程序段,在DX高4位全为0时,使AX=0;

否则使AX=-1。

(4)有两个64位数值,按“小端方式”存放在两个缓冲区buffer1和buffer2中,编写程序段完成buffer1

-buffer2功能。

(5)假设从B800h:

0开始存放有100个16位无符号数,编程求它们的和,并把32位的和保存在DX.AX中。

(6)已知字符串string包含有32KB内容,将其中的’$’符号替换成空格。

(7)有一个100个字节元素的数组,其首地址为array,将每个元素减1(不考虑溢出)存于原处。

(8)统计以’$’结尾的字符串srting的字符个数。

(1)解答:

movsi,0

movdl,string[si] 

第1个字符送dl寄存器:

movdl,stirng[0]

movsi,5

movdh,string[si] 

第6个字符送dh寄存器:

movdl,stirng[5]

(2)解答:

xorsi,si 

si清零

moval,buffer[si] 

第一字节

incsi

movah,buffer[si] 

第二字节

movcl,4

shlah,cl 

BCD码移到高半字节

oral,ah 

组合成压缩BCD码

movdl,al 

存入dl寄..

第三字节

第四字节

movdh,al 

存入dh寄..

(3)解答:

testdx,0f000h 

testdh,0f0h

jznext 

jnznext

movax,-1 

jmpagain

next:

movax,0 

movax,0ffffh

again:

...

(4)解答:

movax,wordptrbuffer1

subax,wordptrbuffer2 

先减低16位

movdx,wordptrbuffer1+2

sbbdx,wordptrbuffer2+2 

后减高16位,需减低16位的借位

(5)解答:

movax,0b800h

movds,ax 

段地址

地址偏移量si=0

xordx,dx 

和的高字dx=0

movcx,99 

加的次数

movax,[si] 

第一个数

incsi 

指向下一个字单元

addax,[si] 

加下一个数

jnc 

noc 

无进位转

incdx 

有进位dx=dx+1

noc:

deccx 

次数-1

jnzcx,again 

非0继续加

(6)解答1:

不使用串操作指令(更好)

movsi,offsetstring

movcx,8000h 

32k=2^15=8000h

cmpbyteptr[si],‘$’ 

‘$’=24h

jnznext 

不要采用jz进行分支

movbyteptr[si],‘ 

’ 

‘’=20h

loopagain 

deccx

jnzagain

(6)解答2:

使用串操作指令

movdi,offsetstring

moval,’$’

movcx,8000h

cld

scasb

movbyteptres:

[di-1],‘ 

loopagain

(7)解答1:

movsi,offsetarray 

movcx,100

decbyteptr[si]

(7)解答2:

si<

--0

movcx,100 

循环次数

decarray[si]

(7)解答3:

movsi,offsetarray

movdi,si

movax,ds 

moves,ax

lodsb 

stosb

(8)解答:

si<

coun:

cmpstring[si],'

$'

je 

done

jmpcoun

done:

... 

〔习题4.9〕编制一个程序,把变量bufX和bufY中较大者存入bufZ;

若两者相等,则把其中之一存入bufZ中。

假设变量存放的是8位无符号数。

.modelsmall

.stack256

.data

bufx 

db?

bufY 

bufz 

.code

.startup

moval,bufX

movbl,bufY

cmpal,bl

janext

movbufZ,bl

jmpdone

next:

movbufZ,al

.exit0

end

〔习题4.10〕设变量bufX为有符号16位数,请将它的符号状态保存在signX,即:

如果X大于等于0,保存0

如果X小于0,保存-1(ffh)。

编写该程序。

.stack

bufX 

dw-7

signX 

cmpbufX,0 

testbufX,80h

jlnext 

jnznext

movsignX,0

movsignX,-1

〔习题4.11〕bufX、bufY和bufZ是3个有符号16进制数,编写一个比较相等关系的程序:

(1)如果这3个数都不相等,则显示0;

(2)如果这3个数中有两个数相等,则显示1;

(3)如果这3个数都相等,则显示2。

dw?

movax, 

bufX 

movbx, 

bufY

movcx, 

bufZ

movdl,'

0'

cmpax,bx

jnznext1

incdl

next1:

cmpax,cx

jnznext2

next2:

cmpbx,cx

jnznext3

next3:

cmpdl,’3’

jbnext4

movdl,’2’

next4:

movah,02h 

显示

int21h

1.什么是8088中的逻辑地址和物理地址?

1MB最多能分成多少个逻辑段?

请将如下逻辑地址用物理地址表达:

⑴FFFFH:

0⑵40H:

17H⑶2000H:

4500H⑷B821H:

4567H

⏹物理地址:

物理存储单元具有的一个唯一的20位编号

⏹逻辑地址:

在8088内部和用户编程时,所采用的“段地址:

偏移地址”形式

⏹将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址

⏹1MB最多能分成1MB÷

16B=220÷

24=216个逻辑段,因为每隔16个字节单元就可以开始一个逻辑段

⑴FFFFH:

⑵40H:

17H=00417H

⑶2000H:

4500H=24500H

⑷B821H:

4567H=BC777H

〔习题2.6〕

8088有哪4种逻辑段,各种逻辑段分别是什么用途?

•代码段(CodeSegment)用来存放程序的指令序列。

处理器利用CS:

IP取得下一条要执行的指令

•堆栈段(StackSegment)确定堆栈所在的主存区域。

处理器利用SS:

SP操作堆栈中的数据

•数据段(DataSegment)存放当前运行程序所用的数据。

处理器利用DS:

EA存取数据段中的数据

•附加段(ExtraSegment)是附加的数据段,也用于数据的保存。

处理器利用ES:

〔习题2.8〕

已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12H、34H、56H、78H,[21200H]~[21203H]依次存放2AH、4CH、B7H、65H,说明下列每条指令执行完后AX寄存器的内容,以及源操作数的寻址方式?

⑴movax,1200h

⑵movax,bx

⑶movax,[1200h]

⑷movax,[bx]

⑸movax,[bx+1100h]

⑹movax,[bx+si]

⑺movax,[bx][si+1100h]

⑴movax,1200h;

AX=1200H,立即数寻址

⑵movax,bx;

AX=0100H,寄存器寻址

⑶movax,[1200h];

AX=4C2AH,直接寻址

⑷movax,[bx];

AX=3412H,寄存器间接寻址

⑸movax,[bx+1100h];

AX=4C2AH,寄存器相对寻址

⑹movax,[bx+si];

AX=7856H,基址变址寻址

⑺movax,[bx][si+1100h];

AX=65B7H,相对基址变址寻址

〔习题2.9〕

说明下面各条指令的具体错误原因

⑴movcx,dl⑵movip,ax

⑶moves,1234h⑷moves,ds

⑸moval,300

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

当前位置:首页 > 高等教育 > 农学

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

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