汇编语言程序设计习题.docx

上传人:b****3 文档编号:5448019 上传时间:2022-12-16 格式:DOCX 页数:15 大小:25.88KB
下载 相关 举报
汇编语言程序设计习题.docx_第1页
第1页 / 共15页
汇编语言程序设计习题.docx_第2页
第2页 / 共15页
汇编语言程序设计习题.docx_第3页
第3页 / 共15页
汇编语言程序设计习题.docx_第4页
第4页 / 共15页
汇编语言程序设计习题.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

汇编语言程序设计习题.docx

《汇编语言程序设计习题.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计习题.docx(15页珍藏版)》请在冰豆网上搜索。

汇编语言程序设计习题.docx

汇编语言程序设计习题

2013年汇编语言程序设计习题

第一章

1.执行下列指令后,正确的结果是(        )。

  MOVAL,100

  MOVBL,-2

  A.AL=100H BL=02H B.AL=64H BL=0FEH

  C.AL=64H BL=82H D.AL=100H BL=0FEH

1.在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。

总线在逻辑上划分为、和。

2.一个CPU的地址线宽度为10,那么可以寻址个内存单元。

3.十六进制数0FFF8H表示的十进制正数为_______,表示的十进制负数为______。

 

第二章

1.CPU要访问的某一存储单元的实际地址称()

A.段地址B.偏移地址C.物理地址D.逻辑地址

2.8086存贮器组织是将存储器划分为段,可作为段的起始地址是()。

A.185A2HB.00020HC.01004HD.0AB568H

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

000A的存储单元的物理地址为()

A.3017BHB.30170HC.3017AHD.30210H

4.8088/8086存储器分段,每个段不超过()。

A.64K个字节B.32K个字节C.1M个字节D.64K个字节

5.在DEBUG工具中,单步执行指令的命令是()。

A.GB.DC.TD.R

6.指令寄存器IP用来存放代码段中的偏移地址,在程序运行过程中,它始终指向()

A.当前指令的首地址B.当前指令的地址

C.下一条指令的首地址D.下一指令的地址

7.如某存储器分段时,一个段最多允许16K个字节单元,那么表示一个段内偏移地址的二进制位数至少是()

A.14位B.15位C.16位D.17位

8.已知(DS)=2000H,(BX)=1256H,(SI)=528FH,则执行指令JMPBX后,IP寄存器的内容是()。

A.1256HB.2000HC.3256HD.528FH

9.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。

如从地址21001H中取出一个字的内容是()

A.2030HB.3040HC.3020HD.4030H

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

DX

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

 

1.8088/8086CPU的逻辑地址由和两部分组成,设某单元的物理地址是12345H,试写出下列二种不同的逻辑地址表示:

1)1000H:

H;2)H:

0345H。

2.8086CPU内部共有个位的寄存器。

 

第三章

1.若栈顶的物理地址为20100H,当执行完指令PUSHAX后,栈顶的物理地址为()。

A.20098HB.20102HC.200FEHD.20100H

2.设AX=9ABCH,DX=8765H

PUSHAX

PUSHDX

POPAX

POPDX

上述4条指令执行后,AX,DX中内容分别是()。

A.AX=9ABCHDX=8765HB.AX=9ABCHDX=9ABCH

C.AX=8765HDX=8765HD.AX=8765HDX=9ABCH

3.下面程序段执行后,AL中的内容是(   )。

     MOVAX,8833H

      ADDAL,AH

      DAA

 A.21     B.21H           C.0C1H    D.0DDH

 

第四章

1.把汇编源程序变成代码程序的过程是()

A.编译  B.汇编  C.编辑  D.链接

2.汇编语言语句格式中,对名字项的规定,请指出错误的解释()

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

、@、__等

B.名字的第一个字符可以是大小写英文字母、数字、?

、@、__等

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

D.名字从第二个字符起可以出现数字,但不允许出现$、#等字符

3.下面指令中属于伪指令的是()。

A.movax,0B.int21hC.codesegmentD.pushax

4.在汇编语言程序中,对END语句的叙述正确的是()。

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

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

5.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(        )。

A.名字项B.操作项C.操作数项D.注释项

6.要实现使BETA的值为56,应采用语句为(   )。

 A.BETADB56   B.BETADB56H   C.BETAEQU56   D.BETAEQU56H

 

1.利用编译器得到一个可执行文件,需要对编写好的源程序文件(*.asm)进行以得到目标文件(*.obj)和以生成可执行文件(*.exe)。

2.汇编语言程序设计中每个语句的注释项的开始必须用符号,程序结束的伪指令为。

 

第五六章

1.对CS段寄存器赋段地址的方法是(   )

A.MOVAX,COSEB.ASSUMECS:

COSEC.END起始地址

MOVCS,AXD.MOVCS,2050H

2.简述下面两条指令分别是什么语法错误?

 MOV[BX],[SI]

 MOVAX,DL

3.已知:

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

(1)MOVAL,[BX]

(2)MOVCS:

[BX+DI],AH

 

1.数据定义如下,完整编写code段中的代码,使用堆栈将data1中的数据逆序存储到data2中。

assumecs:

code

datasegment

data1dw11h,22h,33h,44h,55h,66h,77h,88h

data2dw8dup(0)

dataends

2.编写程序实现依次用内存0:

0~0:

15单元中的内容改写程序中的数据程序。

assumecs:

codesg

codesgsegment

dw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

start:

3.程序如下,编写code段中的代码,实现将ARY1和ARY2中的5个数依次相加并存入SUM的5个字单元中。

assumecs:

code,ds:

data

datasegment

ARY1db85H,3AH,0C6H,5FH,70H

ARY2db99H,0B7H,28H,63H,96H

SUMdw5DUP(0)

dataends

4.编写完整汇编程序,要求实现计算1~100各数的累加和(存入dx中),并求这100个数的平均值(存入al中)。

 

第七章

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

A.AX,BX,CX,DXB.BX,BP,SI,DI

C.SP,IP,BP,DXD.CS,DS,ES,SS

2.关于指令movax,[bx+si+idata]的数学化描述正确的是()。

A.(ax)=((ds)*16+(bx)+(si)+idata)B.(ax)=((ds)+(bx)+(si)+idata)

C.(ax)=((bx)+(si)+idata)D.ax=(bx)+(si)+idata

3.下列属于合法的指令是()。

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

4.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是(   )。

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

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

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

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

1.8088/8086CPU在指令中可以作为寄存器间接寻址访问存储单元的4个寄存器是、、、。

2.设AL中高低4位分别有大于7的数,

MOVAH,AL

ANDAH,88H

MOVAL,AH

ORAL,11H

程序段运行后,AH=_________,AL=_________。

3.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOVAX,[SI+COUNT]中,源操作数的有效地址EA为________,其物理地址为________。

4.DATASEGMENT

  TA1DW0102H,0304H,0506H

  TA2DB02H,03H,04H

  :

  MOVBX,DS:

[0006H]

  ANDBX,0FFH

  ORBH,[BX]

  上述指令序列运行后,BX的内容是。

5.下面指令执行后,变量DAB中的内容是。

  DAWDW2A05H

  DABDB0FAH

  :

  MOVAL,BYTEPTRDAW

  SUBDAB,AL

 

第八十六章

1.设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是()

A.85B92HB.86192HC.BB690HD.12169H

2.下面各传送指令中,正确的是()

A.MOV[DI],[SI]B.MOV[DX+DI],AL

C.MOVWORDPTR[BX],0100HD.MOVAL,BX

3.已知(AX)=1234H,执行下述三条指令后,(AX)=()。

MOVBX,AX

NEGBX

ADDAX,BX

A.1234H  B.0EDCCH  C.6DCCH  D.0000H

4.BUF DW 10HDUP(3DUP(2,10H),3,5)

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

A.100  B.100H  C.50  D.50H

5.BUFDB12H,34H

MOVAX,WORDPTRBUF

上述指令语句执行后AX中的内容是()

A.3412HB.1234HC.0200HD.0012H

6.设数据段中已有:

  DA1DB12H,34H

  DA2DW56H,78H

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

A.ADR1DWDA1B.MOVDA1+1,AX

C.MOVBYTEPTRDA2+1,ALD.MOVWORDPTRDA1+1,AX

7.DA1DW‘AB’,‘CD’,‘EF’,‘GH’()

MOVAX,DA1+3

指令执行后AX中的内容是

A.‘EF’B.‘CD’C.‘BC’D.‘FC’

1.0P1DB1,2

 0P2DW3412H,5678H

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

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

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

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

 

(1)AD2DW10DUP(?

),10

 

(2)AD3DD100DUP(?

 

1.程序段执行后,写出DA2各字节中的数据:

、、、。

DA1DB′01234′

DA2DB5DUP(0)

MOVSI,0

MOVCX,5

LOP:

MOVAL,DA1[SI]

ADDAL,11H

ORAL,01H

MOVDA2[SI],AL

INCSI

LOOPLOP

2.以下指令执行后,DA2中的内容是,AL的内容为。

DAlDW1234H

DA2DB0FFH

……

MOVAL,BYTEPTRDAl

SUBDA2,AL

3.已知数据段中定义

 DAT1DB 12H,34H,56H,78H

    MOVCX,0

    MOVAX,WORDPTRDAT1

    MOVCL,DAT1+3

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

4.以下指令执行后,(AX)=;(BX)=。

MOVBX,1

SUBAX,AX

MOVCX,5

NEXT:

ADDAX,BX

INCBX

LOOPNEXT

5.以下程序段运行后,AL=_______,BL=________。

DEC2DB′56′

SUBDI,DI

MOVBL,DEC2[DI+1]

ANDBL,0FH

MOVAL,DEC2[DI]

ANDAL,0FH

MOVDL,10

MULDL

ADDAL,BL

6.执行下列指令后,(AX)=,SI=。

VAR1DW1234H,89H,255H,FEH,F5H

VAR2DB34H,78H,44H,22H,19H,F4H

MOVAH,23H

MOVBX,OFFSETVAR1

MOVAL,BYTEPTR[BX+1]

MOVSI,WORDPTRVAR2+3

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

 MOVAX,NUMW

 ______

 XORDX,DX

 DIVBX

 MOVQUI,AX

 ______

 

第九章

1.无条件转移指令JMP实现段间间接转移,转移的目标地址在()

A.某个字存储单元中B.某个双字存储单元中

C.某个16位通用寄存器中D.两个16位通用寄存器中

1.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。

1.编写程序,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。

 

第十一章

1.8086/8088系统执行传送指令MOV时()。

A.不影响标志位B.影响DF方向标志

C.影响SF符号标志D.影响CF进位标志

2.已知AL=79H,BL=0B1H,则指令ADDBL,AL执行后,OF和CF的值分别为()。

A.0,0B.0,1C.1,0D.1,1

3.设(SS)=33A8H,(SP)=1230H,执行PUSHBX和PUSHF两条指令后,堆栈顶部的物理地址是()。

A.34CB0HB.34CAEHC.34CACHD.34CAAH

4.设DF=1,每次执行MOVSB指令时,SI和DI均要分别()。

A.减1B.减2C.加1D.加2

5.当CX=0时REPMOVSB执行的次数为()。

A.1次B.0次C.65535次D.65536次

6.执行后使BX=0的同时也使CF=0,OF=0的指令是(   )。

A.XORBX,BX   B.ORBX,BX  C.ANDBX,BX  D.CMPBX,BX

7.循环指令LOOPNZ终止循环的条件是()。

A.CX=0,且ZF=0B.CX=0,或ZF=1

C.CX≠0,且ZF=0D.CX≠0,或ZF=1

8.比较两个无符号的数A、B,当A≥B时程序转移的指令为()。

A.JAB.JNAC.JBD.JNB

8.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMPAL,BL”指令后应跟的分支指令是(   )。

A.JNCLOP1  B.JA LOP1     C.JCLOP1         D.JGE LOP1

9.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(   )。

A.ZF=1       B.ZF=0          C.SF=1          D.SF=0

1.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。

2.当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。

3.设有数据定义如下:

ARRAYDW1000H,2000H,3000H,4000H,5000H

BUFDW?

要求完成:

(1)用一条指令完成将ARRAY的偏移地址送BX;

(2)用一条指令完成将ARRAY的第一字节单元内容送AL;

(3)用一条指令完成将ARRAY数组的长度(字节数)送CX。

4.已知AX=0FF70H,BX=30H,CF=1,以下指令执行后,AX=,BX=。

ORBX,0FF40H

SBBAX,BX

5.以下程序段完成的功能是:

,程序运行后AX=。

MOVBL,64H

MOVCL,03H

SUBAX,AX

AGAIN:

ADDAL,BL

ADCAH,0

DECCL

JNEAGAIN

6.DA1DB83H,72H,61H,94H,5AH

MOVCX,WORDPTRDA1

ANDCX,0FH

MOVAL,DA1+3

SHLAL,CL

上述指令序列执行后,AL=_______,CL=_______。

7.下面程序段执行后(A2)=__________,(A3)_________。

A1DB65H

A2DB?

A3DB?

MOVAL,A1

MOVCL,4

SHRAL,CL

ADDAL,30H

MOVA2,AL

MOVAL,A1

ANDAL,0FH

ORAL,30H

MOVA3,AL

8.下列程序段实现将数据区ABUFl首址开始的100个字节数据传送到ABUF2为首址的数据区去。

CLD

MOVSI,OFFSETABUFl

______________

MOVCX,100

9.以下指令执行后,(SP)=;(DX)=;(CX)=;(ZF)=。

11A3H:

2000HMOVAL,0

11A3H:

2002HMOVAX,CS

11A3H:

2004HMOVSS,AX

11A3H:

2006HMOVSP,2FF0H

11A3H:

2009HMOVDX,2012H

11A3H:

200CHPUSHDX

11A3H:

200DHCALL2700H

11A3H:

2010HADDCX,DX

11A3H:

2012HRET

11A3H:

2700HPOPCX

RET

 

3.编程,将datasg中以'.'结尾的字符串中的小写字母改为大写。

assumecs:

codesg

datasgsegment

db"Beginner'sAll-purposeSymbolicInstructionCode."

datasgends

 

第十二/十三/十五章/十七章中断

1.使用DOS功能调用时,子程序编号应放在()。

A.ALB.AHC.AXD.任意指定

2.INT4AH在中断向量表中的物理地址是()。

A.0:

127HB.0:

128HC.0:

12CHD.0:

12DH

3.在8086中,若I/O端口号超过255,则通常是由()寄存器提供。

A.AXB.BXC.CXD.DX

4.使用DOS系统功能调用时,使用的软中断指令是()。

A.INT21B.INT10HC.INT16HD.INT21H

5.下列说法正确的是()。

A.用户可以编程修改FFFF:

0处的指令,使得CPU不去执行BIOS中的硬件系统检测和初始化程序。

B.int19h中断例程,可以由DOS提供。

C.在BIOS键盘缓冲区中,一个键盘输入用一个字单元存放,高位字节存放扫描码,低位字节存放字符码。

D.若IF=0,则外部中断均不能响应。

6.下列关于中断的说法不正确的是()。

A.8086CPU用中断类型码通过中断向量表找到相应的中断处理程序的入口地址。

B.在in和out指令中,只能使用ax或al来存放从端口中读入的数据或要发送到端口中的数据。

C.在PC系统中,外中断源分可屏蔽中断和不可屏蔽中断两类。

D.int19H中断例程可以由DOS提供。

 

5.设(SP)=001EH,执行返回指令RET后(SP)=;执行中断返回指令IRET后(SP)=。

7.8086不可屏蔽中断的中断类型码为,其不受标志寄存器的位控制。

8.用Debug查看内存,结果如下:

0000:

00000011223344556677-8899AABBCCDDEEFF

则1号中断源对应的中断处理程序入口地址的段地址为;偏移地址为。

9.一旦执行指令,8088CPU将处于关中断状态,这时IF=,CPU将不响应中断。

1.编写程序,调用第21号中断例程的9号子程序在屏幕上显示字符串“WelcometoMasm!

”。

2.编写并安装int63h中断例程,功能为完成loop指令的功能。

 

第十四章

1.要写8位数据到端口1234H中的指令应是()。

A.MOVDX,1234HB.MOVDX,1234H

OUTDX,ALINAL,DX

C.INAX,1234HD.OUTDX,1234H

2.没有语法错误的输入指令是()。

A.INAL,30HB.IN30H,ALC.INDX,ALD.INAL,[BX]

3.指令MOVAX,11011011B执行后AX中的值是()。

MOVCL,3

SHLCL

A.11011011000BB.1l011000BC.00011011BD.00011011011B

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

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

当前位置:首页 > 工程科技 > 电子电路

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

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