汇编语言王爽检测点答案.docx

上传人:b****6 文档编号:3075331 上传时间:2022-11-17 格式:DOCX 页数:42 大小:25.64KB
下载 相关 举报
汇编语言王爽检测点答案.docx_第1页
第1页 / 共42页
汇编语言王爽检测点答案.docx_第2页
第2页 / 共42页
汇编语言王爽检测点答案.docx_第3页
第3页 / 共42页
汇编语言王爽检测点答案.docx_第4页
第4页 / 共42页
汇编语言王爽检测点答案.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

汇编语言王爽检测点答案.docx

《汇编语言王爽检测点答案.docx》由会员分享,可在线阅读,更多相关《汇编语言王爽检测点答案.docx(42页珍藏版)》请在冰豆网上搜索。

汇编语言王爽检测点答案.docx

汇编语言王爽检测点答案

汇编语言王爽.检测点答案

第一章.检测点1.1

(1)13

(2)1024,0,1023

(3)8192,1024

(4)2^30,2^20,2^10

(5)64,1,16,4

(6)1,1,2,2,4

(7)512,256

(8)二进制

注:

符号'^'指求幂运算(如:

2^30指2的30次方)

第二章

检测点2.1

(1)大家做这题的时候一定要注意,要看清楚数制,比如是二进制还是十进制,还是十六进,我当时没注意,做错了!

!

呵呵!

!

第一空:

F4A3H

第二空:

31A3H

第三空:

3123H

第四空:

6246H

第五空:

826CH

第六空:

6246H

第七空:

826CH

第八空:

04D8H

第九空:

0482H

第十空:

6C82H

第十一空:

D882H

第十二空:

D888H

第十三空:

D810H

第十四空:

6246H

(2)

movax,2

addax,ax

addax,ax

addax,ax

检测点2.2

(1)00010H1000fH

(2)0001H2000H

检测点2.3

共修改了4次ip第一次movax,bx第二次是subax,ax第三次是jmpax第四次是执行jmpax最后ip的值是0因为ax的值是零!

检测点3.1

(1)

第一空:

2662H

第二空:

E626H

第三空:

E626H

第四空:

2662H

第五空:

D6E6H

第六空:

FD48H

第七空:

2C14H

第八空:

0000H

第九空:

00E6H

第十空:

0000H

第十一空:

0026H

第十二空:

000CH

注意:

ax中存取的是字型数据,高地址存放高字节,低地址存放低字节!

(一定要小心)

(2)

①写出cpu的执行序列

Movax,6622

Jmp0ff0:

0100

Movax,2000H

Movds,ax

Movax,[0008]

Movax,[0002]

指令执行顺序

寄存器

CS

IP

DS

AX

BX

初值

2000H

0000

1000H

0

0

movax,6622h

2000H

0003

1000H

6622H

0000

jmp0ff0:

0100

1000h

0000

1000H

6622H

0000

movax,2000h

1000H

0003

1000H

2000H

0000

movds,ax

1000H

0005

2000H

2000H

0000

movax,[0008]

1000H

0008

2000H

C389H

0000

movax,[0002]

1000H

000B

2000H

EA66H

0000

③数据和程序在计算机中都是以二进制的形式存放的,在区别程序和数据时,关键是看段地址,如果段地址是ds段,说明该内存中存放的是数据,如果段地址是cs段,说明该内存中存放的是程序指令

检测点3.2

(1)

Movax,2000H

Movss,ax

Movsp,0010H

(2)

Movax,1000H

Movss,ax

Movsp,0000H

注意:

出栈时和入栈时的顺序,空栈时栈顶指向的是最高端地址!

栈满是栈顶指针指向的是最底端地址!

2。

实验任务

(1)

5BEA

5CCA

30F0

6023

00FE2200:

01005CCA

00FC2200:

00FE6023

00FE6023

01005CCA

00FE2200:

010030F0

00FC22000:

00FC2E39

(2)

因为在DEBUG中T命令在执行修改寄存器ss的指令时,会产生中断,将现场保护起来,下一条指令也紧接着被执行!

实验三:

该实验自己做吧我做出来的东西只是我pc上的数据,可能在别的pc做出来的结果会不一样,在加之数据太多,我做了两次数据都没有完整的记下来,只好作罢!

实验四:

[bx]和loop的使用

(1)

assumecs:

code

codesegment

movax,0

movds,ax

movcx,64

movbx,200h

s:

movds:

[bx],ax

incbx

incax

loops

movax,4c00H

int21h

codeends

End

(2)如上题我一不小心写出来就是九条指令了!

呵呵!

(3)具体做法是将那段指令写道内存中,察看其在内存中的起始地址和终止地址,然后将该内存的内容复制到0:

200处就可以了!

检测点6.1

(1)

Movcs:

[dx],ax

(2)

第一空:

cs

第二空:

26或者1ah

第三空:

popcs:

[dx]

发表于@2008年08月19日 01:

11:

00|评论

(2)|编辑|举报|收藏

旧一篇:

常用命令(转)|新一篇:

实验五:

编写、调试具有多个段的程序

Copyright©maokaijiang

PoweredbyCSDNBlog

十一川藏疯狂之旅

本文来自CSDN博客,转载请标明出处:

王爽汇编语言答案(本答案是自己做的所有题目已在deubg中调试;但难免有差错,发现的提醒我email:

maokaijiang1211@谢谢)

(1)

①1931(一直保持不变,由于pc不同答案有可能不一样)

②cs=1943ss=1941ds=1931(由于pc不同,所以答案也可能不同,这只是机子上的数据)

③第一空:

X—2

第二空:

X—1

(2)

1.一直不变

2.答案不一样,就不写了

3.X-2,X-1

4.(N/16+1)*16

(3)

1.一直不变

2.答案不一样

3.X+3,X+4

(4)

答:

可能执行,如果不指明标号,cpu顺序执行指令,所有可能正确执行!

(5)

;******************************************

;将a段和b段指的数据依次相加,将结果保存到c段中

;*******************************************

assumecs:

code

asegment

db1,2,3,4,5,6,7,8

aends

bsegment

db1,2,3,4,5,6,7,8

bends

dsegment

db8dup(0)

dends

;*********************************

;代码段

;*********************************

codesegment

start:

movax,d

moves,ax

movax,a

movds,ax

movcx,8

movax,0

movbx,0

again1:

movdx,ds:

[bx]

moves:

[ax],dx

incbx

incax

loopagain1

movax,b

movds,ax

movax,0

movbx,0

movcx,8

movdx,0

again2:

adddx,ds:

[bx]

moves:

[ax],dx

incax

incbx

loopagain2

movax,4c00h

int21h

codeends

endstart

(6)

;*****************************************************

;编写程序,用push指令将a段中的word数据,逆序存储到b段中

;******************************************************

assumecs:

code

asegment

dw1,2,3,4,5,6,7,8

aends

bsegment

dw0,0,0,0,0,0,0,0

bends

codesegment

start:

movax,b

movss,ax

movsp,10h

movax,a

movds,ax

movbx,0

movcx,8

s:

push[bx]

addbx,2

loops

movax,4c00h

int21h

codeends

endstart

本文来自CSDN博客,转载请标明出处:

ht

(1)

本题略!

(2)

;*****************************************************

;编程,将datasg段中的每个单词的前四个字母改写为大写字母

;******************************************************

assumecs:

codesg,ss:

stacksg,ds:

datasg

stacksgsegment

dw0,0,0,0,0,0,0,0

stacksgends

datasgsegment

db'1.displsy'

db'2.brows'

db'3.replace'

db'4.modify'

datasgsegment

codesgsegment

start:

movax,stacksg

movss,ax

movsp,16

movax,datasg

movds,ax

movdx,0

movcx,4

s0:

pushcx

movsi,0

movcx,4

s1:

moval,[bx+si+4]

addal,11011111B

mov[bx+si+4],al

incsi

loops1

adddx,16

popcx

loops0

movax,4c00h

int21h

codesgends

endstart

本文来自CSDN博客,转载请标明出处:

assumecs:

codesg,ds:

data,es:

table

datasegment

db'1975','1976','1977','1978','1979','1980','1981','1982','1983'

db'1984','1985','1986','1987','1988','1989','1990','1991','1992'

db'1993','1994','1995'

;以上是表示21年的21个字符串

dd16,22,382

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

当前位置:首页 > 农林牧渔 > 水产渔业

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

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