汇编语言考试复习资料.docx

上传人:b****3 文档编号:4262026 上传时间:2023-05-06 格式:DOCX 页数:34 大小:36.13KB
下载 相关 举报
汇编语言考试复习资料.docx_第1页
第1页 / 共34页
汇编语言考试复习资料.docx_第2页
第2页 / 共34页
汇编语言考试复习资料.docx_第3页
第3页 / 共34页
汇编语言考试复习资料.docx_第4页
第4页 / 共34页
汇编语言考试复习资料.docx_第5页
第5页 / 共34页
汇编语言考试复习资料.docx_第6页
第6页 / 共34页
汇编语言考试复习资料.docx_第7页
第7页 / 共34页
汇编语言考试复习资料.docx_第8页
第8页 / 共34页
汇编语言考试复习资料.docx_第9页
第9页 / 共34页
汇编语言考试复习资料.docx_第10页
第10页 / 共34页
汇编语言考试复习资料.docx_第11页
第11页 / 共34页
汇编语言考试复习资料.docx_第12页
第12页 / 共34页
汇编语言考试复习资料.docx_第13页
第13页 / 共34页
汇编语言考试复习资料.docx_第14页
第14页 / 共34页
汇编语言考试复习资料.docx_第15页
第15页 / 共34页
汇编语言考试复习资料.docx_第16页
第16页 / 共34页
汇编语言考试复习资料.docx_第17页
第17页 / 共34页
汇编语言考试复习资料.docx_第18页
第18页 / 共34页
汇编语言考试复习资料.docx_第19页
第19页 / 共34页
汇编语言考试复习资料.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

汇编语言考试复习资料.docx

《汇编语言考试复习资料.docx》由会员分享,可在线阅读,更多相关《汇编语言考试复习资料.docx(34页珍藏版)》请在冰点文库上搜索。

汇编语言考试复习资料.docx

汇编语言考试复习资料

第一章【课后习题】

1用降幂法或除法将下列十进制数转换为二进制数和十六进制数:

(1)369

(2)10000

(3)4096

(4)32767

2将下列二进制数转换为十六进制数和十进制数:

(1)101101

(2)10000000

(3)1111111111111111

(4)11111111

3将下列十六进制数转换为二进制数和十进制数:

(1)FA

(2)5B

(3)FFFE

(4)1234

4完成下列十六进制数的运算:

(1)3A+B7

(2)1234+AF

(3)ABCD-FE

(4)7AB×6F

5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用是十六进制数表示其运算结果。

(1)(―85)+76

(2)85+(―76)

(3)85―76

(4)85―(―76)

(5)(―85)―76

(6)―85―(―76)

6下列各数为十六进制表示的8位二进制数,请说明当它们被看作是用补码表示的带符号数时,它们所表示的十进制数是什么?

(1)D8

(2)FF

7当1.6题的两数被看作是用补码表示的无符号数时,它们所表示的十进制数是什么?

(1)D8

(2)FF    

8下列各数为十六进制表示的8位二进制数,请说明当它们被看作是用补码表示的数时,它们所表示的十进制数是什么?

(1)4F

(2)2B

(3)73

(4)59

9当1.8题的4个数被看作是字符的ASCII码时,它们所表示的字符是什么?

(1)4F

(2)2B

(3)73

(4)59

10请写出下列字符串的ASCII码。

Forexample,

Thisisanumber3692.

答案

第1个空101110001B;171H

第2个空0011100010000B;710H

第3个空111111111111B;0FFFH

第4个空0111111111111111B;7FFFH

第5个空2DH;45

第6个空80H;128

第7个空0FFFFH;65535

第8个空0FFH;255

第9个空11111010B;25D

第10个空01011011B;91D

第11个空1111111111111110B;65534D

第12个空1001000110100B;4660D

第13个空F1H

第14个空12E3H

第15个空0AACFH

第16个空35325H

第17个空0F7H

第18个空9H

第19个空9H

第20个空0A1H

第21个空5FH

第22个空0F7H

第23个空-40

第24个空-1

第25个空216

第26个空255

第27个空8、79

第28个空43

第29个空115

第30个空89

第31个空O

第32个空+

第33个空s

第34个空Y

第10题466F72206578616D706C652C0A0D

Forexample,546869732069732061206E756D62657220333639322E

This is a number 3692

第二章【课后习题】

1在8086微机的输入/输出指令中,I/O端口号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00~FFH的端口号。

试问可直接由指令指定的I/O端口数。

2有两个16位字1EE5H和2A3CH分别存放在8086微机的存储器的000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。

38086微机的存储器中存放信息如下图所示。

试读出30022H和30024H字节单元的内容,以及30021H和30022H字单元的内容。

4在实模式下,段地址和偏移地址为3017:

000A的存储单元的物理地址是什么?

如果段地址和偏移地址是3015:

002A和3010:

007A呢?

5如果在一个程序开始执行以前(CS)=0A7F0H(如十六进制数的最高位为字母,则应在其前加一个0),(IP)=2B40H,试问该程序的第一个字的物理地址是多少?

6在实模式下,存储器中每一段最多可有10000H个字节。

如果用调试程序Debug的r命令在终端上显示出当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志OF、SF、ZF、CF的值。

C>debug

-r

AX=0000BX=0000CX=0079DX=0000SP=FFEEBP=0000SI=0000DI=0000

DS=10E4ES=10F4SS=21F0CS=31FFIP=0100NVUPDIPLNZNAPONC

7下列操作可使用哪些寄存器?

(1)加法和减法

(2)循环计数

(3)乘法和除法

(4)保存及使用段地址

(5)表示运算结果为0

(6)将要执行的指令地址

8那些寄存器可以用来指示存储器地址?

9下面几种说法中唯一正确的是哪一种?

  A、单独用16位地址线提供的地址可以访问1M字节存储器空间。

  B、数据段段首址可以是00000~FFFFF中任意一个地址。

  C、用WS、EDIT等编辑软件可以编写汇编程序。

  D、堆栈段段首地址可以是FFFE0H。

答案:

1、答:

直接由指令指定的I/O端口数为256个。

2、答:

3、答:

字节单元:

(30022H)=ABH,(30024H)=EFH

字单元:

(30021H)=AB34H,(30022H)=CDABH。

4、答:

3017:

000A的存储单元的物理地址是3017AH,

3015:

002A的存储单元的物理地址是3017AH,

3010:

007A的存储单元的物理地址是3017AH。

5、答:

该程序的第一个字的物理地址是0AAA40H。

6、答:

条件标志OF、SF、ZF、CF的值依次分别为0、0、0、0。

7、答:

(1)AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL、SP、BP、DI、SI(注意:

学生尽量不要用SP参与加减运算)

(2)CX

(3)DX、AX、AH、AL

(4)CS、DS、ES、SS

(5)FLAGS

(6)IP

(7)SS、SP、BP

8、答:

可以用来指示存储器地址的寄存器有BX、SP、BP、DI、SI、IP、CS、DS、ES、SS。

9、答:

唯一正确的是D。

第三章【课后习题】

1试根据以下要求写出相应的汇编语言指令。

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

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

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

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

(5)把数0B5H与(AL)相加,并把结果送回AL中。

2写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。

要求使用以下几种寻址方式:

(1)寄存器间接寻址

(2)寄存器相对寻址

(3)基址变址寻址

3现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后AX寄存器的内容。

(1)MOVAX,1200H

(2)MOVAX,BX

(3)MOVAX,[1200H]

(4)MOVAX,[BX]

(5)MOVAX,1100[BX]

(6)MOVAX,[BX][SI]

(7)MOVAX,1100[BX][SI]

4设当前数据段寄存器的内容为1B00H,在数据段的偏移地址2000H单元内,含有一个内容为0FF10H和8000H的指针,它们是一个16位变量的偏移地址和段地址,试写出把该变量装入AX的指令序列,并画图表示出来。

5在0624单元内有一条二字节JMPSHORTOBJ指令,如其中位移量为

(1)27H,

(2)6BH,(3)0C6H,试问转向地址OBJ的值是多少?

6在ARRAY数组中依次存储了七个字数据,紧接着是名为ZERO的字单元,表示如下:

ARRAYDW23,36,2,100,32000,54,0

ZERODW?

(1)如果BX包含数组ARRAY的初始地址,请编写指令将数据0传送给ZERO单元。

(2)如果BX包含数据0在数组中的位移量,请编写指令将数据0传送给ZERO单元。

7如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,试问以下两条指令执行完后,AX寄存器的内容是什么?

(1)MOVAX,TABLE

(2)LEAAX,TABLE

8执行下列指令后,AX寄存器中的内容是什么?

TABLEDW10,20,30,40,50

ENTRYDW3

MOVBX,OFFSETTABLE

ADDBX,ENTRY

MOVAX,[BX]

9下列ASCII码串(包括空格符)依次存储在起始地址为CSTRING的字节单元中:

CSTRINGDB'BASEDADDRESSING'

请编写指令将字符串中的第1个和第7个字符传送给DX寄存器。

10已知堆栈段寄存器SS的内容是0FFA0H,堆栈指针寄存器SP的内容是00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令。

试画出堆栈区和SP的内容变化过程示意图。

11设(DS)=1B00H,(ES)=2B00H,有关存储单元的内容如图所示。

请写出两条指令把字变量X装入AX寄存器。

12求出以下各十六进制数与十六进制数62A0之和,并根据结果设置标志位SF、ZF、CF和OF的值。

  

(1)1234

  

(2)4321

  (3)CFA0

  (4)9D60

13求出以下各十六进制数与十六进制数4AE0的差值,并根据结果设置标志位SF、ZF、CF和OF的值。

(1)1234

(2)5D90

(3)9090

(4)EA04

14写出执行以下计算的指令序列,其中X、Y、Z、R、W均为存放16位带符号数单元的地址。

(1)ZW+(Z-X)

(2)ZW-(X+6)-(R+9)

(3)Z(W*X)/(Y+6),R余数

15写出对存放在DX和AX中的双字长数求补的指令序列。

16试编写一个程序求出双字长数的绝对值。

双字长数在A和A+2单元中,结果存放在B和B+2单元中。

17写出完成以下操作的程序段。

假设各变量的值均为用压缩BCD码表示的二位十进制数。

(1)UV+(S-6)

(2)U(X+W)-(Z-U)

18假设(BX)=0E3H,变量VALUE中存放的内容为79H,确定下列各条指令单独执行后BX的值。

(1)XORBX,VALUE

(2)ANDBX,VALUE

(3)ORBX,VALUE

(4)XORBX,0FFH

(5)ANDBX,0

(6)TESTBX,01H

19试分析下面的程序段完成什么功能?

MOVCL,04

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRBL,CL

OR DL,BL

20试写出程序段把DX,AX中的双字右移四位。

21假设程序中数据定义如下:

NAMEDB30DUP(?

ADDRDB9DUP(?

ARRAYDB132DUP(?

分别编写下列程序段:

(1)用空格符清除ARRAY域。

(2)在ADDR中查找第一个'*'。

(3)如果NAME域中全是空格符时,填入'$'。

(4)把NAME移到ARRAY的前30个字节中,把ADDR移到ARRAY的后9个字节中。

22试分析下列程序段:

  ADD AX,  BX

     JNO  L1

     JNC  L2

  SUBAX,  BX

     JNC  L3

     JNO  L4

     JMP  SHORTL5

如果AX和BX的内容给定如下:

    AX BX

 

(1)147B80DC

 

(2)B56854B7

 (3)42C8608D

 (4)D0239FD0

 (5)94B7B568

问该程序执行完后,程序转向哪里?

23假设X和X+2单元的内容为双精度数p,Y和Y+2单元的内容为双精度数q,X和Y为低位字,试说明下列程序段做什么工作?

MOVDX,X+2

MOVAX,X

ADDAX,X

ADCDX,X+2

CMPDX,Y+2

JLL2

JGL1

CMPAX,Y

JBEL2

L1:

MOVAX,1

JMPSHORTEXIT

L2:

MOVAX,2

EXIT:

INT20H

24在下列程序的括号中分别填入如下指令:

(1)LOOPL20

(2)LOOPEL20

(3)LOOPNEL20

试说明在三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么?

TITLEEXLOOP.COM

CODESGSEGMENT

ASSUMECS:

CODESG,DS:

CODESG,SS:

CODESG

ORG100H

BEGIN:

 MOVAX,01

    MOVBX,02

    MOVDX,03

    MOVCX,04

L20:

INC  AX

ADD  BX,AX

    SHRDX,1

()

RET

 CODESGENDS

ENDBEGIN

25考虑以下的调用序列:

(1)MAIN调用NEAR的SUBA过程(返回的偏移地址为0400);

(2)SUBA调用NEAR的SUBB过程(返回的偏移地址为0A00);

(3)SUBB调用FAR的SUBC过程(返回的段地址为B200,偏移地址为0100);

(4)从SUBC返回SUBB;

(5)SUBB调用NEAR的SUBD过程(返回的偏移地址为0C00);

(6)从SUBD返回SUBB;

(7)从SUBB返回SUBA;

(8)从SUBA返回MAIN;

(9)从MAIN调用SUBC(返回的段地址是1000,偏移地址是0600);

请画出每次调用及返回时的堆栈状态。

答案:

1、答:

(1)ADDDX,BX

(2)ADDAL,[BX][SI]

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

(4)ADD[0524H],2A59H

(5)ADDAL,0B5H

2、答:

(1)MOVBX,OFFSETBLOCK+0AH

  MOVDX,[BX]

(2)MOVBX,0AH

  MOVDX,BLOCK[BX]

(3)MOVBX,OFFSETBLOCK

  MOVSI,0AH

  MOVDX,[BX][SI]

3、答:

(1)1200H

(2)0100H

(3)4C2AH

(4)3412H

(5)4C2AH

(6)7856H

(7)65B7H

4、答:

MOVBX,2000H

LESDI,[BX]

MOVAX,ES:

[DI]

5、答:

(1)064DH

(2)0691H

(3)05ECH

6、答:

(1)MOVAX,[BX+0CH]

   MOVZERO,AX

(2)MOVAX,ARRAY[BX]

   MOVZERO,AX

7、答:

(1)(AX)=1234H

(2)(AX)=0032H

8、答:

(AX)=1E00H

9、答:

LEABX,CSTRING

MOVDL,[BX]

MOVDH,[BX+6]

10、答:

11、答:

LESBX,[2000]

MOVAX,ES:

[BX]

12、答:

(1)74D4HSF=0ZF=0CF=0OF=0

(2)A5C1HSF=1ZF=0CF=0OF=1

(3)3240HSF=0ZF=0CF=1OF=0

(4)0000HSF=0ZF=1CF=1OF=0

13、答:

(1)0C754HSF=1ZF=0CF=1OF=0

(2)12B0HSF=0ZF=0CF=0OF=0

(3)45B0HSF=0ZF=0CF=0OF=1

(4)9F24HSF=1ZF=0CF=0OF=0

14、答:

(1)MOVAX,Z

   SUBAX,X

   ADDAX,W

   MOVZ,AX

(2)MOVBX,X

   ADDBX,6

   MOVCX,R

   ADDCX,9

   MOVAX,W

   SUBAX,BX

   SUBAX,CX

   MOVZ,AX

(3)MOVAX,W

   IMULX

   MOVBX,Y

   ADDBX,6

   IDIVBX

   MOVZ,AX

   MOVR,DX

15、答:

NEGDX

NEGAX

SBBDX,0

16、答:

MOVAX,A

MOVDX,A+2

TESTDX,8000H

JZSTORE;为正

NEGDX

NEGAX

SBBDX,0

STORE:

MOVB,AX

MOVB+2,DX

17、答:

(1)MOVAL,S

   SUBAL,6

   DAS

   ADDAL,V

   DAA

   MOVU,AL

(2)

MOVAL,Z

SUBAL,U

DAS

MOVU,AL

MOVAL,X

ADDAL,W

DAA

SUBAL,U

DAS

MOVU,AL

18、答:

(1)(BX)=9AH

(2)(BX)=61H

(3)(BX)=0FBH

(4)(BX)=1CH

(5)(BX)=0

(6)(BX)=0E3H

19、答:

把(DX)(AX)中的双字左移四位(乘以16)。

20、答:

MOVCL,4

SHRAX,CL

MOVBL,DL

SHRDX,CL

SHLBL,CL

ORAH,BL

21、答:

(1)CLD

  MOVCX,132

  MOVAL,20H

  LEADI,ARRAY

  REPSTOSB

(2)CLD

  MOVCX,9

  MOVAL,‘*’

  LEADI,ADDR

  REPNESCASB

  JNEL1

 L2:

……;找到

  L1:

……;未找到

(3)CLD

  MOVCX,30

  MOVAL,20H

  LEADI,NAME

  REPESCASB

  JNEDO_NOT

  MOVCX,30

  MOVAL,‘$’

  LEADI,NAME

  REPSTOSB

   …

  DO_NOT:

(4)CLD

  MOVCX,30

  LEASI,NAME

  LEADI,ARRAY

  REPMOVSB

  STD

  MOVCX,9

  LEASI,ADDR+8

  LEADI,ARRAY+131

  REPMOVSB

22、答:

(1)转L1

(2)转L1

(3)转L2

(4)转L5

(5)转L5

23、答:

2p£q时,(AX)2

2p>q时,(AX)1

24、答:

(1)(AX)=5(BX)=16(CX)=0(DX)=0

(2)(AX)=2(BX)=4(CX)=3(DX)=1

(3)(AX)=3(BX)=7(CX)=2(DX)=0

25、答:

第四章【课后习题】

1假设VAR为字变量,LAB为标号,试指出下列指令的错误之处:

(1)SUBAL,VAR

(2)MOV[BX],[SI]

(3)MOVAX,[SI][DI]

(4)MOVCS,AX

(5)JMPNEARLAB

(6)POPDH

2说明下列语句所分配的存储空间及初始化的数据值。

(1)BYTE_VARDB'BYTE',12,-12H,3DUP(0,?

2DUP(1,2),?

(2)WORD_VARDW5DUP(0,1,2),?

-5,'BY','TE',256H

3假设程序中的数据定义如下:

  PARTNODW?

  PNAME DB16DUP(?

  COUNT DD?

  PLENTHEQU$-PARTNO

 问PLENTH的值为多少?

4给出赋值语句如下:

ALPHAEQU100

BETAEQU25

GAMMAEQU2

下列表达式的值是多少?

(1)ALPHA*100+BETA

(2)ALPHAMODGAMMA+BETA

(3)(ALPHA+2)*BETA-2

(4)(BETA/3)MOD5

(5)(ALPHA+3)*(BETAMODGAMMA)

(6)ALPHAGEGAMMA

(7)BETAAND7

(8)GAMMAOR3

5假设数据段中数据定义如下:

VARDW'34'

VAR1DB100,'ABCD'

VAR2DD1

COUNTEQU$-VAR1

XDW5DUP(COUNTDUP(0))

YLABELWORD

ZDB'123456'

VDW2,$-VAR

执行下面程序段并回答问题。

MOVAX,COUNT;(AX)=?

MOVBX,Z-X;(BX)=?

MOVCX,V+2;(CX)=?

MOVDX,VAR;(DX)=?

MOVY+3,2

MOVSI,Y+4;(SI)=?

ADDZ+5,1

MOVDI,WORDPTRZ+4;(DI)=?

6对于下面的数据定义,各条MOV指令单独执行后,有关寄存器的内容是什么?

FLDB

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2