文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言复习题(带答案)

汇编语言复习题(带答案)

汇编语言复习题(带答案)
汇编语言复习题(带答案)

汇编语言复习题(带答案)

汇编语言期末复习题

第1章:基础知识

1、在汇编语言程序的开发过程中使用宏功能的顺序是(C)。DX

A、宏定义,宏调用

B、宏定义,宏展开

C、宏定义,宏调用,宏展开

D、宏定义,宏展开,宏调用

2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句

中不可省略的项是(B)。DX

A、名字项

B、操作项

C、操作数项

D、注释项

3、可屏蔽中断就是它的请求是否被CPU响应要受(IF)的控制。DX

4、使用LINK连接命令,执行后可生成文件的扩展名为(EXE)。DX

5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在段中,段地址

在SS寄存器中。TK

6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号)表示注释

的开始。TK

7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送AH寄存器后执行INT21H。TK

8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。TK

9、CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中断源。TK

10、在字符串操作指令中,DS∶SI指向源串,ES∶DI指向目的串。TK

11、计算机系统通过接口与外围设备通信。TK

12、键盘I/O、显示I/O和打印I/O分别对应、和号中断。TK

13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节

为显示字符的ASCII码,第二个字节为显示字符的属性。TK

14、简述上机运行汇编语言程序的过程。JD

答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。

15、简述程序中指令和伪指令的区别。JD

答:能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。

伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可加在汇编程序的任何地方,但它们并不产生机器指令。

16、十六进制数88H,可表示成下面几种形式,请找出错误的表示(④)。DX

①无符号十进制数136

②带符号十进制数-120

③压缩型BCD码十进制数88

④8位二进制数-8的补码表示

17、指令指针寄存器是(IP)。DX

18、汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B)DX

A.名字的第一个字符可以是大写英文字母及小写英文字母

B.名字的第一个字符可以是字母、数字及、@、_

C.名字的有效长度≤31个字符

D.在名字中不允许出现$

19、CS寄存器属于(段寄存器)。DX

20、已知物理地址(371F0H)=12H,(371F1H)=34H,(371F2H)=56H,如从地址371F0H中取出一个字的内容是(3412H)。DX

21、一个有16个字的数据区,它的起始地址是70A0H∶DDF6H,则这个数据区最末一个字单元的物理地址是(7E814H)。DX

22、简述上机运行汇编语言程序的过程。JD答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。

第2章:8086/8088的寻址方式和指令系统

1、下列指令属于基址加变址寻址方式的是(MOVDX,DS:[BP][SI])。DX

2、当程序顺序执行时,每取一条指令语句,IP指针增加的值是(D)。DX

A.1B.2C.3D.由指令长度决定的

3、下列属于合法的指令是(D)DX

A.MOVDS,ESB.MOV[SI],[DI]C.MOVAX,BLD.MOV[DI],BL

4、若AX=349DH,CX=000FH。则执行指令ANDAX,CX后,AX的值是(000DH)。DX

5、设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是(85B92H)DX

6、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)DX

A、AX,BX,CX,DX

B、BX,BP,SI,DI

C、SP,IP,BP,DX

D、CS,DS,ES,SS

7、对寄存器AX的内容乘以4的正确指令序列是(SHLAX,1SHL,AX,

1)。DX

8、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(OF,AF,PF)。DX

9、设DH=10H,执行NEGDH指令后,正确的结果是(DH=0F0HCF=1)。DX

10、下列传送指令中有语法错误的是(A)。DX

A、MOVCS,AX

B、MOVDS,AX

C、MOVSS,AX

D、MOVES,AX

11、下面指令执行后,改变AL寄存器内容的指令是(D)。DX

A、TESTAL,02H

B、ORAL,AL

C、CMPAL,BL

D、ANDAL,BL

12、执行除法指令后,影响的标志位是(AF,CF,OF,PF,SF,ZF都不确定)。DX

13、执行下面指令序列后,结果是(AX=0FF82H)。DX

MOVAL,82H

CBW

14、与MOVBX,OFFSETVAR指令完全等效的指令是(D)。DX

A、MOVBX,VAR

B、LDSBX,VAR

C、LESBX,VAR

D、LEABX,VAR

15、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是(PARA)。DX

16、MOVSP,3210H

PUSHAX执行上述指令序列后,SP寄存器的值是(320EH)。DX

17、BUFDW10HDUP(3DUP(2,10H),3,5)

上述语句汇编后,为变量BUF分配的存储单元字节数是(100H)。DX

18、MOVAH,7896H

ADDAL,AH

上述指令执行后,标志位CF和OF的值是(CF=1,OF=0)。DX

19、完成将带符号数AX的内容除以2的正确指令是(SHRAX,1)。DX

20、在汇编语言程序中,对END语句的叙述正确的是(C)。DX

A.END语句是一可执行语句B.END语句表示程序执行到此结束

C.END语句表示源程序到此结束D.END语句在汇编后要产生机器码

21、已知BX=2000H,SI=1234H,则指令MOVAX,[BX+SI+2]的源操作在(数据段中偏移量为3236H的字节)中。DX

22、下面指令序列执行后完成的运算,正确的算术表达式应是(y=x2-1)。DX

MOVAL,BYTEPTRX

SHLAL,1

DECAL

MOVBYTEPTRY,AL

23、已知(AX)=1234H,执行下述三条指令后,(AX)=(0000H)。DX

MOVBX,AX

NEGBX

ADDAX,BX

A.1234HB.0EDCCHC.6DCCHD.

24、将DX的内容除以2,正确的指令是(C)。DX

A.DIV2B.DIVDX,2C.SARDX,1D.SHLDX,1

25、有如下指令序列:DX

ORG40H

DA1DW0AB12H,8574H

……

MOVAX,DA1

MOVBX,OFFSETDA1

上述指令执行后,寄存器AX和BX的值分别为(AB12H,40H)。

26、下列数值表达式和地址表达式中,错误的是(D)。DX

A.MOVAL,8*14+4B.MOVSI,OFFSETBUF+13

C.MOVCX,NUM2-NUM1D.MOVCX,NUM2+NUM1

27、数据段定义如下:DX

X1DB10H,50,1

X2DW10H,20,3

X3DD?

COUNTEQUX3-X1

变量COUNT的值是(9)。

28、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是(C)。DX

A、INCCXJZMINUS

B、SUBCX,OFFFFHJZMINUS

C、ANDCX,OFFFFHJZMINUS

D、XORCX,OFFFFHJZMINUS

29、AL和VAR字节单元中分别存放一个带符号数,执行CMPAL,VAR时,如AL>VAR,那么溢出位和符号位的关系是(OF=SF)。DX

30、下面是关于汇编语言程序中使用RET的描述,不正确的是(C)。DX

A.每一个子程序中允许有多条RET指令。B.每一个子程序结束之前一定要有一条RET指令。

C.每一个子程序中只允许有一条RET指令。D.以过程形式表示的代码段,一定有RET指令存在。

31、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX=0或

ZF=0)。DX

32、用MOV指令将十进制64以组合型BCD码格式送入AX,正确使用的指令是(MOVAX,0604H)。DX

33、重复前缀指令REP的重复次数由TK

34、DR1DB10H,30H

DR2DW10HDUP(0,2DUP(2))

……

MOVBL,LENGTHDR1

MOVCL,LENGTHDR2请问指令执行后,BL和CL的值分别为。TK

35、设(SP)=100H,(AX)=0FFFFH

STC

PUSHAX

ADCAX,0

PUSHAX

POPBX上述程序段运行后,(BX)=0,(SP)=1和0FEH。CXFX

36、假设数据段定义如下:

DA1DW’C’,’D’

DA2DB18DUP(?)

DA3DW$-DA2

……

MOVBX,DA3

MOVAX,DA1

上述指令执行后,BX寄存器中的内容是寄存器中的内容是寄存器中的内容是43H。CXFX

37、现有如下数据段

DATASEGMENT

ARRAY1DB1,26,‘3456’

ARRAY2DW7,89H,10

VALEQUARRAY2-ARRAY1

DATAENDS

请问:该数据段已占有字节的存储空间。CXFX

38、当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的

叙述正确的是(④)。DX

①表示结果中含1的个数为偶数②表示结果中含1的个数为奇数

③表示该数为偶数④表示结果中低八位含1的个数为偶数

39、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是(C)DX

A.指令XORAX,AX执行后,AX内容不变,但设置了标志位

B.指令ORDX,1000H执行后,将DX最高位置1,其余各位置0

C.指令ANDAX,OFH执行后,分离出AL低四位

D.NOTAX,执行后,将AX清0

40、完成对CL寄存器的内容乘以4的正确操作是(C)DX

A.ROLCL,1B.MUL4

ROLCL,1

C.SHLCL,1D.MOVCL,2

SHLCL,1SHLCL,CL

41、下面各传送指令中,正确的是(C)DX

A.MOV[DI],[SI]B.MOV[DX+DI],ALC.MOVWORDPTR[BX],0100HD.MOVAL,BX

42、要实现使BETA的值为56,应采用语句为(BETAEQU56)DX

43、REPZCMPSW指令,重复执行的终止条件是(CX=0或ZF=0)DX

44、下面程序段执行后,AL中的内容是(21H)DX

MOVAX,8833H

ADDAL,AH

DAA

45、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(①)。DX

①MOVAL,00H②ANDAL,00H③XORAL,AL④SUBAL,AL

46、下列指令执行后总是使CF=0,OF=0的是(AND)。DX

47、完成同指令XCHGAX,BX相同功能的指令或指令序列是(④)。DX

①MOVAX,BX②MOVBX,AX

③PUSHAX

POPBX

④MOVCX,AX

MOVAX,BX

MOVBX,CX

48、设AH=0,AL=06H,BL=09H,执行指令

ADDAL,BLAAA

之后,其结果应是(AH=01,AL=05)。DX

49、设AL=0B4H,BL=11H,指令“MULBL”和指令“IMULBL”分别执行后OF,CF的值为(OF=1,CF=1)。DX

50、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX=0或ZF =0)。DX

51、下面指令中,合理而有意义的指令是(④)。DX

①REPLODSB②REPSCASB③REPCMPSB④REPMOVSB

52、在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D)DX

A.STOSWB.LODSWC.SCASWD.CMPSW

53、AL=0AH,下列指令执行后能使AL=05H的是(C)DX

A.NOTALB.ANDAL,0FHC.XORAL,0FHD.ORAL,0FH

54、DA1DW‘AB’,‘CD’,‘EF’,‘GH’

MOVAX,DA1+3

指令执行后AX中的内容是(‘FC’)。DX

55、在汇编语言程序中,对END语句的叙述正确的是(③)。DX

①END语句是一可执行语句②END语句表示程序执行到此结束

③END语句表示源程序到此结束④END语句在汇编后要产生机器码

56、下面的数据传送指令中,错误的操作是(④)。DX

①MOVSS:[BX+DI],1000H②MOVDX,1000H③MOVWORDPTR[BX],1000H④MOV DS,2000H

57、下面指令执行后,变量DAB中的内容是(0F5H)。DX

DAWDW2A05H

DABDB0FAH

:

MOVAL,BYTEPRTDAW

SUBDAB,AL

58、执行下列指令后,正确的结果是(②)。DX

MOVAL,100

MOVBL,-2

①AL=100H

BL=02H

②AL=64H

BL=0FEH

③AL=64H

BL=82H

④AL=100H

BL=0FEH

59、设数据段中已有:

DA1DB12H,34H

DA2DW56H,78H

下面有语法错误的语句是(②)。DX

①ADR1DWDA1②MOVDA1+1,AX③MOVBYTEPTRDA2+1,AL④MOVWORDPTRDA1+1,AX

60、DATASEGMENT

TA1DW0102H,0304H,0506H

TA2DB02H,03H,04H

:

MOVBX,DS:[0006H]

ANDBX,0FFH

ANDBH,[BX]

上述指令序列运行后,BX的内容是(0402H)。DX

61、若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOVAX,(SI+COUNT)中,源操作数的有效地址EA为___20A8H_____,其物理地址为___11488H_____。TK

62、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____TK

63、在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是___STOS____或___CMP__才有实际意义。TK

64、已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。JD

(1)MOVAL,[BX]

21357H

(2)MOVCS:[BX+DI],AH

43357H

65、

0P1DB1,2

0P2DW3412H,5678H

MOVAX,OP1+1;字单元(OP1+1)AX

MOVBL,OP2+1;字节单元(OP2+1)BL

上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。

MOVAX,WORDPTR(OP1+1)

MOVBL,BYTEPTR(OP2+1)

66、下列语句在存储器中分别为变量分配多少字节?JD

(1)AD2DW10DUP(?),1022

(2)AD3DD100DUP(?)400

67、简述下面两条指令分别是什么语法错误?JD

MOV[BX],[SI]

MOVAX,DL

MOV指令不能在两个存储器操作数之间进行;

操作数类型不匹配。

68、在指令系统中,段内、段间返回均为RET指令。试回答:JD

(1)执行段内返回RET指令时,执行的操作是:栈顶内容→IP,SP+2→SP

(2)执行段间返回RET指令时,执行的操作是:①栈顶内容→IP,SP+2→SP

SP+2→SP

69、

ARYDW10DUP(?)

MOVAL,TYPEARY

MOVBL,LENGTHARY

MOVCL,SIZEARY

上述MOV指令序列执行后的结果是什么?JD

AL=2

BL=10

CL=20

70、设某数据段:JD

DATASEGMENT

ORG20H

JD②栈顶内容→CS,

NUM1=8

NUM2=NUM1+10H

DA1DB'COMPUTER'

DB0AH,0DH

COUNTEQU$-DA1

DA2DW'CO','MP','UT','ER'

DATAENDS

试回答:(1)DA1的偏移地址是:的值是(3)DA2+5字节单元的内容是‘U’的ASCII码_

71、已知

AX=0FF60H,CF=1

MOVDX,96

XORDH,0FFH

SBBAX,DXCXFX

72、设寄存器AL,BL,CL中内容均为76H,

XORAL,0FH

ANDBL,0FH

ORCL,0FHCXFX

73、已知

AX=0A33AH,DX=0F0F0H

ANDAH,DL

XORAL,DH

NEGAH

NOTALCXFX

74、假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。JD

(1)SHRDX,1(2)RCRDL,1(3)RCLDX,CL答:(1)005CH(2)00DCH(3)05CCH

75、写出完成下述功能的程序段:JD

(1)传送25H到AL寄存器(2)将AL的内容乘以2(3)传送15H到BL寄存器(4)AL的内容乘以BL的内容

并请写出最后(AX)=?

答:(1)MOVAL,25H(2)SHLAL,1(3)MOVBL,15H(4)MULBL最后,(AX)

=612H=1554

76、写一程序段,求双字长数DX∶bX的相反数。JD

答:NEGDX

NEGAX

SBBDX,0

77、在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时

要恢复这四个寄存器信息。例如:JD

PUSHBX\保护现场

PUSHCX/

PUSHDX/

:

}恢复现场

试写出恢复现场时的指令序列。

答:

POPDX

POPCX

POPBX

POPAX

78、完成下列操作,选用什么指令:JD

(1)将AX的内容,减去0520H,和上次运算的借位;(2)将变量名TABL的段地址

送AX;答:(1)SBBAX,0520H(2分)(2)MOVAX,SEGTABL(2分)

79、D1DB20HDUP(?)

D2DWD1请写出用一条指令实现取D1的偏移地址=>SI中的三种方法。JD答:①LEASI,D1②MOVSI,OFFSETD1③MOVSI,D2

80、ADW1234H

BDW5678H

:

PUSHA

PUSHB

POPA

POPB

试回答:CXFX

①上述程序段执行后(A)=__________,(B)=_____

②设执行前SP=200H,执行后SP=____________

答:

①(A)=5678H(2分)(B)=1234H(2分)

②SP=2000H(2分)

81、现有下列程序段:CXFX

MOVAX,6540H

MOVDX,3210H

MOVCL,04

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRBL,CL

ORDL,BL

试问上述程序段运行后,(AX)=_5400H_(BL)=_06H_(DX)=_2106H_ 82、分析下面程序段,CXFX

MOVAL,200

SARAL,1

MOVCL,2

SARAL,CL

ADDAL,BL试问程序段执行后(BL)=__0E4H_(AL)=__0DDH___

83、DA3EQUWORDPTRDA4

DA4DB0ABH,89H

SHRDA3,1

MOVDX,DA3

SHLDA4,1

MOVCX,DA3上述程序段运行后,CX=___44AAH___,DX=__44D5H___。CXFX 84、设(SP)=100H,(AX)=0FFFFH

STC

PUSHAX

ADCAX,0

PUSHAX

POPBX上述程序段运行后,(BX)=。CXFX

85、STRINGDB‘ABCDEFGHIJ'

:

MOVAH,01;从键盘输入字符1~9

INT21H

ANDAL,0FH

DECAL

XORAH,AH

MOVBX,OFFSETSTRING

ADDBX,AX

MOVBL,[BX]

MOVAH,02H;显示输出

INT21H

:

试回答:

(1)上述程序段的功能是什么?CXFX

根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符。(2)如从键盘输入字符‘4',程序段有什么结果?

显示器显示字符‘D’

86、已知:

BX=4567H

NEGBX

INCBX

NEGBX

DECBXCXFX

87、已知数据段中定义

DAT1DB12H,34H,56H,78H

MOVCX,0

MOVAX,WORDPTRDAT1

MOVCL,DAT1+3当程序段执行完后CXFX

88、DA1DB

MOV

AND

MOV

SHL

CXFX

89、现有如下程序段:CXFX

DATASEGMENTDA3EQU1234H

ORG0020HDA4EQU$-DA2

DA1DW12H,23HDA5DB31H,32H

DA2DB11H,21HDATAENDS

请回答:(1)该程序段已占有的存储字节数是多少?(2)符号名DA4的值是多少?符号名DA5的值是多少?

答:(1)该程序段已占有的存储字节数是8个字节。(2)符号名DA4的值为2,符号名DA5的值是0026H。

90、执行下列程序段后,回答问题。CXFX

ORG1221HMOVBX,OFFSETNUM

NUMDW12HMOVCL,BYTEPTRNUM+1

…MOVCH,TYPENUM

MOVAX,NUMHLT

请问:(AX)=______,(BX)=______,(CX)=______。

答:(AX)=0012H(BX)=1221H(CX)=0200H

91、执行下列指令后AX、BX寄存器的内容?CXFX

MOVSI,10H

MOVAX,1234H

MOV[SI+12H],AX

LEABX,[SI]

MOV[SI+14H],BX

答:AX为1234H,BX为22H

LESBX,DWORDPTR[SI+12H]

92、试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。BC

LEADI,DA_BY

MOVCX,32

MOVAL,‘Y’

CLD

REPSTOSB

93、在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。BC

83H,72H,61H,94H,5AHCX,WORDPTRDA1CX,0FHAL,DA1+3AL,CL

DATASEGMENT

BUF1DW-56,24,54,-1,89,-8……

BUF2DW45,-23,124,345,-265,……

SUMDW10DUP(0)

DATAENDS

94、编制程序段实现:将AX寄存器中的16位二进制数分成四组,每组4位,然后把这4组数分别放在AL、BL、CL、和DL中。BC

MOVBH,AL

MOVCH,AH

MOVAL,AH

ANDAL,0F0H

MOVBL,AH

ANDBL,0FH

MOVCL,BH

ANDCL,0F0H

MOVDL,BH

ANDDL,0FH

95、在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。CXTK

MOVAX,NUMW

XORDX,DX

DIVBX

MOVQUI,AX

_____________

96、已知数据段中定义

DAT1DB12H,34H,56H,78H

MOVCX,0

MOVAX,WORDPTRDAT1

MOVCL,DAT1+3

当程序段执行完后AX=___3412H_____,CX=___0078H_____。

97、DA1DB83H,72H,61H,94H,5AH

MOVCX,WORDPTRDA1

ANDCX,0FH

MOVAL,DA1+3

SHLAL,CL____。

98、DA3EQUWORDPTRDA4

DA4DB0ABH,89H

CXFXCXFX

SHRDA3,1

MOVDX,DA3

SHLDA4,1

MOVCX,DA3上述程序段运行后,CX=____44AAH_____,DX=_____44D5H_______。CXFX

汇编语言程序设计期末考试试卷及参考答案

【汇编语言程序设计】期末考试-试卷及参考答案

执行上述两条指令后,正确的结果是( B )。 A.(AX)=1001H; B.(AX)=0FFFH; C.(AX)=1000H; D.(AX)=0111H。 6.串指令中的目的操作数地址一定是由____A_ _提供。()A.ES:[DI] ; B.SS:[BP]; C.DS:[SI] ; D.CS:[IP]。 7.将DX的内容除以2,正确的指令是( C )。 A.DIV 2 ; B.DIV DX,2 ; C.SAR DX,1; D.SHL DX,1。 8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。 A.目标程序; B.汇编语言源程序; C.可执行程序; D.汇编程序。 9.用一条指令仅实现将AX←BX+SI的方法是( D )。 A.XCHG AX,[BX][SI] ; B.MOV AX,[BX+SI]; C.LEA AX,BX[SI] ; D.LEA AX,[BX][SI]。 10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。 A.1FFFH; B.1998H; C.1FFEH; D.2002H。 2. C 二、指出下列指令的出错原因,并改正。(每小题2分,共12分) 1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX 2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX 3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为 MOV BX,DS ADD AX,BX 4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为 MOV SI,CX TEST BX,[SI] 5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX] SUB AX,[BP+SI] 或:MOV AL,[BX] SUB AL,[BP+SI] 6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL 三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分) 1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 ) 2.标号可以有两种类型属性.它们是( )和( ) 3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( ) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ). 5.循环程序通常由( )( )( )和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT 7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( ) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( ) 9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW( ) (2)双字变量AYD存放的地址指针送ES和SI( ) (3)变量AY2类型属性送AH( ) (4)不允许中断即关中断( ) (5)将字符串'HOW ARE YOU!'存入变量AYB( ) (6)子程序返回调用程序( ) (7)地址表达式AYY[4]的偏移地址送字变量ADDR( ) (8)AX的内容加1,要求不影响CF( ) (9)BX的内容加1,要求影响所有标志位( ) (10)若操作结果为零转向短号GOON( ) 二,单选题 1.IBM PC微机中,有符号数是用( )表示的 1.原码 2.补码 3.反码 4.BCD码 2.把汇编源程序变成代码程序的过程是( ) 1.编译 2.汇编 3.编辑 4.链接

汇编语言课后习题答案

2.1已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4C B765H,说明下列每条指令执行完后AX寄存器的内容。 (1)mov ax,1200h (2)mov ax,bx (3)mov ax,[1200h] (4)mov ax,[bx] (5)mov ax,[bx+1100h] (6)mov ax,[bx+si] (7)mov ax,[bx][si+1100h] 〔解答〕 (1)AX=1200H (2)AX=0100H (3)AX=4C2AH;偏移地址=bx=0100h (4)AX=3412H;偏移地址=bx=0100h (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)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5)mov al,300 (6)mov[sp],ax (7)mov ax,bx+di

(8)mov20h,ah 〔解答〕 (1)两操作数类型不匹配 (2)IP指令指针禁止用户访问 (3)立即数不允许传给段寄存器 (4)段寄存器之间不允许传送 (5)两操作数类型不匹配 (6)目的操作数应为[SI] (7)源操作数应为[BX+DI] (8)立即数不能作目的操作数 〔习题2.5〕已知SS=2200H、SP=00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?mov ax,8057h push ax mov ax,0f79h push ax pop bx pop[bx] 〔解答〕 mov ax,8057h push ax mov ax,0f79h push ax pop bx;bx=0f79h pop[bx];DS:[0f79h]=8057h

汇编语言课后习题解答

第1章基础知识 检测点1.1(第9页) (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。 (2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。 (3)1KB的存储器可以存储8192(2^13)个bit,1024个Byte。 (4)1GB是1073741824(2^30)个Byte、1MB是1048576(2^20)个Byte、1KB是1024(2^10)个Byte。 (5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64(KB)、1(MB)、16(MB)、4(GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为: 1(B)、1(B)、2(B)、2(B)、4(B)。 (7)从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次。 (8)在存储器中,数据和程序以二进制形式存放。

(1)1KB=1024B,8KB=1024B*8=2^N,N=13。 (2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。 (3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。 (4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU 最多可以寻找2的N次方个内存单元。(一个内存单元=1Byte)。 (6)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。 (8)在存储器中指令和数据没有任何区别,都是二进制信息。

汇编语言 第二版 王爽 完整答案

第1章基础知识 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13。 (2)1KB的存储器有1024个存储单元。存储单元的编号从0到1023。 (3)1KB的存储器可以存储1024*8个bit,1024个Byte。 (4)1GB、1MB、1KB分别是2^30、2^20、2^10 Byte。(n^m的意思是n的m次幂) (5)8080、8088、80286、80386的地址总线宽度分别是16根、20根、24根、32根,则它们的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为:1(B)、1(B)、2(B)、2(B)、4(B)。 (7)从内存中读取1024字节的数据,8086至少要读512次、80386至少要读256次。 (8)在存储器中,数据和程序以二进制形式存放。 第2章寄存器答案 检测点2.1 (1) 写出每条汇编指令执行后相关寄存器中的值。 mov ax,62627 AX=F4A3H mov ah,31H AX=31A3H mov al,23H AX=3123H add ax,ax AX=6246H mov bx,826CH BX=826CH mov cx,ax CX=6246H mov ax,bx AX=826CH add ax,bx AX=04D8H mov al,bh AX=0482H mov ah,bl AX=6C82H add ah,ah AX=D882H add al,6 AX=D888H add al,al AX=D810H mov ax,cx AX=6246H (2) 只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。 解: mov ax,2 add ax,ax add ax,ax add ax,ax 检测点2.2 (1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。 (2) 有一数据存放在内存 20000H 单元中,先给定段地址为SA,若想用偏移地址寻到此单元。

汇编语言期末考试试题

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.CPU要访问的某一存储单元的实际地址称() A.段地址B.偏移地址 C.物理地址D.逻辑地址 2.某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 3.执行后使BX=0的同时也使CF=0,OF=0的指令是() A.XOR BX,BX B.OR BX,BX C.AND BX,BX D.CMP BX,BX 4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是() A.CX≠0且ZF=1B.CX≠0且ZF=0 C.CX≠0或ZF=1D.CX≠0或ZF=0 5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是() A.DAA校正指令的功能已自动加在AH中 B.进位值在AF中,校正后根据AF内容再加在AH中 C.进位值在CF中,校正后根据CF内容再加在AH中 D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中 6.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是() A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C.指令AND AX,OFH执行后,分离出AL低四位 D.NOT AX,执行后,将AX清0 7.在执行下列指令时,需要使用段寄存器DS的指令是() A.STOSW B.ADD AL,CL C.NEG BX D.INC DA[BX] 8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操作是() A.ROL CL,1B.MUL4 ROL CL,1 C.SHL CL,1D.MOV CL,2 SHL CL,1SHL CL,CL 10.下面各传送指令中,正确的是() A.MOV[DI],[SI]B.MOV[DX+DI],AL C.MOV WORD PTR[BX],0100H D.MOV AL,BX 11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法() A.名字的第一个字符可以是大写英文字母及小写英文字母 B.名字的第一个字符可以是字母、数字及、@、_ C.名字的有效长度≤31个字符 D.在名字中不允许出现$

汇编语言复习题(附答案)

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课 后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1. 把要执行的程序与库文件连接起来形成可执行文件的系统程序是(B )。 A. 汇编程序 B. 连接程序 C. 机器语言程序 D.源代码程序 2. 在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是 (C )。 A..SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 3. 为了使主机访问外设方便起见,外设中的每个寄存器给予一个(C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D. 段地址 4. MOV AX, 3064H,该指令中源操作数采用的寻址方式是(A )。 A.立即 B. 直接 C. 寄存器相对 D. 寄存器间接 5. 换码指令的助记符是(C )。 A. XCHG B. LEAS C.XLAT D. MOV 6. 如果A> B (A、B有符号数)发生转移,应选择的条件转移指令是(JGE )。 7. 下列符号中,可用作标识符的是(C )。 A.MOV B.AX C.MSG1 D.1ABC 8. X DB 10H DUP (1 , 2)内存变量定义语句拥有了( A )个字节的存储空间。 A.20D B.10D C.20H D.10H 9. 当DF=0时,执行串操作指令MOVSB变址寄存器SI、DI的值将(C )。 A.不变 B. 减1 C. 加1 D. 无法确定 10. 如下指令可将AX寄存器内容改变的是(A )。 A. AND AX , BX B . TEST AX , BX C. CMP AX , BX D . XCHG AX , AX 11.16位CPU支持的I/O 地址范围是(D )。 A. 0~0FFFFFH B. 0~0FFFFH C. 0~0FFFH D. 0~0FFH 12. MUL CL指令实现的功能是(A )。 A.无符号乘法:AX AL X CL B.有符号乘法:AX AL X CL C.无符号乘法:DX AL X CL D .有符号乘法:DX AL X CL 13. DOS系统功能调用(INT 21H )中,显示字符串的功能号是(D )。 A.01H B.02H C.08H D. 09H 14. 在16位CPU读取指令时,需要用到的寄存器对是(C )。 A.SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 15. 下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B )。 A.MOV AX,23H B. MOV AX,[BX+SI] C.SUB AX,[BX] D. ADD AX,BX 16. 有内存变量定义语句:VAR DW 10 DUP(1 , 2), 1234H, VAR的属性TYPE LENGTH和

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

《汇编语言与接口技术》答案习题解答(第三章)

解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 解:

.model small .stack .data bufX dw -7 signX db .code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h

编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ; .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 解: lucase proc push bx mov bx,offset string cmp al,0 je case0 cmp al,1

完整版汇编语言试题及答案..doc

一,单项选择题 (每小题 1 分,共 20 分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令 JMP FAR PTR DONE 属于 ( C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是 ( A.对两个无符号数进行比较采用CMP 指令 ,对两个有符号数比较用CMP S 指令 B.对两个无符号数进行比较采用CMPS 指令 ,对两个有符号数比较用CM P 指令 C.对无符号数条件转移采用JAE/JNB 指令 ,对有符号数条件转移用JGE/J NL 指令 D.对无符号数条件转移采用JGE/JNL 指令 ,对有符号数条件转移用JAE/J NB 指令 3.一个有 128 个字的数据区 ,它的起始地址为 12ABH:00ABH, 请给出这个数据区最末一个字单元的物理地址是 ( A.12CSBH B.12B6BH

C.12C59H D.12BFEH 4.在下列指令的表示中 ,不正确的是 ( A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是 ( A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令 JNE 的测试条件为 ( A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为 ( A.BX 或 CX

汇编语言课后习题答案___郑晓薇(整理后的)

习题一 1 无符号数: 11010011=211=D3H,01110111=119=77H, 10000011=131=83H, 00101111=47=2FH, 10101010=170=AAH 带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H, 00101111=+47=2FH,10101010= -86=AAH 2 5E8AH,0BE6H,3DEH,4940H 3 00011101+00110101=01010010=5 2H=82 01001001+11101000=00110001=3 1H=49 10111110+01010010=00010000=1 0H=16 10011010+11110001=10001011=8 BH= -117 4 00101001+01010011=01111100+0 0000110=10000010=82H=82 01110011-00100100=01001111-00000110=01001001=49H=49 01100110+00011000=01111110+0 0000110=10000100=84H=84 0000000100110010+01110101=00 00000110100111+00000110 =0000001000000111=0207H=207 5 000020A3H,FF94H,00003456H,007FH,FFFFEC00H 6 无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 7 (1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII码,十进制数38的压缩BCD码 (2) FFH等于十进制数-1,是带符号数-1的补码,无符号数为255 (3) 5AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码 (4) 0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码 8 (1) 108=01101100B=6CH,补码01101100B,压缩BCD码0000000100001000,ASCII码313038H (2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H (3) –15=11110001B=F1H,补码11110001B,ASCII码2D3135H (4) 254=0000000011111110B=00FEH,补码0000000011111110B,压缩BCD 码0000001001010100,ASCII码323534H 9 (1) 56+63=01110111B,CF=0,SF=0,ZF=0,OF=0 (2) 83-45=00100110B,CF=0,SF=0,ZF=0,OF=0 (3) -74+29=11010011B,CF=0, SF=1,ZF=0,OF=0 (4) -92-37=01111111B,CF=1, SF=0,ZF=0,OF=1 10 回车、换行、响铃、ESC键、空格键、@、P、p 习题二 9 最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节) 10 CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP 11 字节单元保存8位数,字单元保存16位数。根据源操作数的属性确定要访问的是字节单元还是字单元。 12 对于字节单元来说,偶地址和奇地址一样;对于字单元而言,最好用偶地址保存,可减少CPU的访存次数。 13 首单元的物理地址=38AE8H,末单元的物理地址 =38AE8H+7FFFH=40AE7H

汇编语言程序设计课后习题解答宋人杰2版

第1章汇编语言基础知识 1.简述汇编语言源程序、汇编程序、和目标程序的关系。 答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。 2. 简述汇编语言的优缺点。 答:(1) 汇编语言的优点: ①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。. ②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 ③可与高级语言配合使用,应用十分广泛。 (2) 汇编语言的缺点: ①通用性和可移植性较差 ②相对于高级语言来说较繁锁、易出错、不够直观。 3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少? 答:13 4. 1KB的存储器有多少个存储单元? 答:1024个字节。 5. 指令中的逻辑地址由哪两部分组成? 答:指令中的逻辑地址由段基址和偏移量组成。 6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。 (1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF 答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH 7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据 的值。 答:字节型数据:11H 字型数据:0A311H 双字型数据:0113A311H 8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为 多少?若段内偏移地址为2228H,则段基地址为多少? 答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH 9. 在实模式环境中,一个段最长不能超过多少字节? 答:64KB 10. 实模式可寻址的内存范围是多少? 答:1MB

《汇编语言程序设计》期末复习题答案_57431457509182192

《汇编语言程序设计》复习题(答案指导/带页号)一、选择(30题) 1.下列是8位带符号二进制数的补码,其中最大的是( B )。参见P22 A、10001000 B、00000001 C、00000000 D、11111111 2.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现 ( C )参见P157、158 A、占内存空间小,但速度慢 B、占内存空间相同,速度快 C、占内存空间大,但速度快 D、占内存空间相同,速度慢 3.数据定义为:EE DB 3,4 CC DW 3456H,6789H 执行指令“MOV CX,WORD PTR EE+1”后,(CX)= ( B )参见P27、63、64 A、0304H B、5604H C、3404H D、3456H 4.有如下指令序列: MOV AL,95H MOV CL,2 SAR AL,CL 上述指令序列执行后,AL的内容是( D )参见P95 A、05H B、25H C、24H D、0E5H 5.设A=18610,B=2738,C=0BB16,把这三个数看成无符号数,则它们之间的关系是( D )参见P23、15 A、A>B>C B、 A

汇编语言试题及答案.

一,单项选择题(每小题1分,共20分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令JMP FAR PTR DONE属于( C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是( A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是( A.12CSBH B.12B6BH

C.12C59H D.12BFEH 4.在下列指令的表示中,不正确的是( A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是( A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为( A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为( A.BX或CX

B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节 D.附加段中偏移量为3236H的字节 9.执行如下程序:( MOV AX,0 MOV AX,0 MOV BX,1 MOV CX,100 A:ADD AX,BX INC BX LOOP A HLT 执行后(BX=( A.99

汇编语言课后习题答案郑晓薇后的

汇编语言课后习题答案郑 晓薇后的 Modified by JEEP on December 26th, 2020.

习题一1 2 5E8AH,0BE6H,3DEH,4940H 3 00011101+00110101=0101001 0=52H=82 4 5000020A3H,FF94H,00003456H,007FH, FFFFEC00H 6无符号数:0~65535,0000H~FFFFH;带符号数:-32768~ +32767,8000H~7FFFH 7 (1) 38H等于十进制数56,是十进制数56的补码,数字8的ASCII 码,十进制数38的压缩BCD码(2) FFH等于十进制数-1,是带符号数-1的补码,无符号数为255(3) 5AH等于十进制数90,是十进制数90的补码,大写字母Z的ASCII码(4) 0DH等于十进制数13,是十进制数13的补码,回车符的ASCII码8 (2) 46=00101110B=2EH,补码00101110B,压缩BCD码01000110,ASCII码3436H 9 (1) 56+63=01110111B, CF=0,SF=0,ZF=0,OF=0(2) 83-45=00100110B,CF=0, SF=0,ZF=0,OF=0(4) -92-37=01111111B,CF=1,SF=0,ZF=0,OF=1 10 回车、换行、响铃、ESC键、空格键、@、P、p 习题二 9 最少划分为16个逻辑段,最多划分为65536个逻辑段(每段16个字节) 10CS:IP,DS:BX、SI、DI,ES:BX、SI、DI,SS:SP、BP 11 字节单元保存8位数,字单元保存16位数。根据源操作数的属性确定要访问的是字节单元还是字单元。

四川大学汇编语言程序设计20152016期末试题(附答案)

四川大学期末考试试题(闭卷) (2015——2016学年第 1 学期)A卷 课程号:课序号:课程名称:任课教师:成绩: 一、单项选择题(本大题共20小题,每小题1分,共20分)提示: 评阅教师得分 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在 下面的表格中。错选、多选或未选均无分。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1.以下寄存器中,哪一个不属于地址指针寄存器?( A ) (A)AX (B)BX (C)SI (D)DI 2.以下标志位中,哪一个不属于状态标志位?( C ) (A)CF (B)OF (C)IF (D)AF 3.以下寄存器中,哪一个用于指示堆栈的栈顶位置?( C ) (A)IP (B)SI (C)SP (D)BX 4.以下寄存器中,哪一个用于提供代码段的段基值?( C ) (A)SS (B)DS (C)CS (D)AX 5.以下指令中,不影响标志位的是哪一条?( D ) (A)INC (B)AND (C)SUB (D)XCHG 试卷编号:

二、多项选择题(本大题共5小题,每小题2分,共10分)提示:在 每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写 在下表中。错选、多选、少选或未选均无分。 1 2 3 4 5 1.以下哪些指令会影响CF 标志位?( CD ) (A )INC (B )DEC (C )AND (D )SUB (E )JC 2.以下指令中,哪些会访问堆栈段?( ABDE ) (A )CALL (B )RET (C )JMP (D )PUSH (E )POPF 3.假设(AL )=92H ,CF=1,执行指令ADC AL,88H 后,以下结果哪些是正确的? ( ACE ) (A )(AL)=1BH (B )(AL)=1AH (C )CF=1 (D )OF=0 (E )ZF=0 4.假设(AL )=86H ,执行指令SAR AL,1后,以下结果哪些是正确的?( ACDE ) (A )(AL)=0C3H (B )(AL)=0CH (C )CF=0 (D )OF=0 (E )PF=0 5.以下指令中,哪些使用了存储器寻址方式?( BCD ) (A )ADD AL,02H (B )SUB BL,[0104H] (C )INC BYTE PTR [BX] (D )AND AL,[SI] (E )XOR BL,CL 三、判断改错题(本大题共5小题,每小题4分,共20分)提示:下 列各语句可能有语法错误,判断各语句正确与否,对于错误的语句,需解释其错误的原因,对于正确的语句,若做出正确判断则给4分,对于错误的语句,做出正确判断给2分,做出正确的解释再给2分。 1. NEG 145 X NEG 指令不能跟立即数 2. JZ BX X 条件转移指令JZ 不能寄存器寻址,只能跟标号 评阅教师 得分 评阅教师 得分

汇编语言试题及答案

一,单项选择题(每小题1分,共20分) 1.指令JMP FAR PTR DONE属于() A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 2.下列叙述正确的是() A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JN L指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JN B指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是() A.12C5BH B.12B6BH C.12C5AH D.12BFEH 4.在下列指令的表示中,不正确的是() A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是() A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为() A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()A.BX或CX B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节 D.附加段中偏移量为3236H的字节 9.执行如下程序:()

汇编语言程序设计习题答案

第一章. 习题 1.1用降幂法和除法将下列十进制数转换为二进制数和十六进制数: (1) 369 (2) 10000 (3) 4095 (4) 32767 答:(1) 369=1 0111 0001B=171H (2) 10000=10 0111 0001 0000B=2710H (3) 4095=1111 1111 1111B=FFFH (4) 32767=111 1111 1111 1111B=7FFFH 1.2将下列二进制数转换为十六进制数和十进制数: (1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111 答:(1) 10 1101B=2DH=45 (2) 1000 0000B=80H=128 (3) 1111 1111 1111 1111B=FFFFH=65535 (4) 1111 1111B=FFH=255 1.3将下列十六进制数转换为二进制数和十进制数: (1) FA (2) 5B (3) FFFE (4) 1234 答:(1) FAH=1111 1010B=250 (2) 5BH=101 1011B=91 (3) FFFEH=1111 1111 1111 1110B=65534 (4) 1234H=1 0010 0011 0100B=4660 1.4完成下列十六进制数的运算,并转换为十进制数进行校核: (1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F 答:(1) 3A+B7H=F1H=241 (2) 1234+AFH=12E3H=4835 (3) ABCD-FEH=AACFH=43727 (4) 7AB×6FH=35325H=217893 1.5下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其 运算结果。 (1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76) 答:(1) (-85)+76=1010 1011B+0100 1100B=1111 0111B=0F7H;CF=0;OF=0 (2) 85+(-76)=0101 0101B+1011 0100B=0000 1001B=09H;CF=1;OF=0 (3) 85-76=0101 0101B-0100 1100B=0101 0101B+1011 0100B=0000 1001B=09H;CF=0; OF=0 (4) 85-(-76)=0101 0101B-1011 0100B=0101 0101B+0100 1100B=10100001B=0A1H; CF=0;OF=1 (5) (-85)-76=1010 1011B-0100 1100B=1010 1011B+1011 0100B=0101 1111B=5FH; CF=0;OF=1 (6) -85-(-76)=1010 1011B-1011 0100B=1010 1011B+0100 1100B=11110111B=0F7H; CF=0;OF=0 1.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的 带符号数或无符号数时,它们所表示的十进制数是什么?

相关文档
相关文档 最新文档