微机原理与接口技术.docx
《微机原理与接口技术.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术.docx(13页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术
《微机原理与接口技术》复习题2
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干的括号内。
每小题1分,共20分>
1、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是(>。
A、WORDB、PAGEC、BYTED、PARA
2、BUFDW10HDUP(3DUP(2,10H>,3,5>
上述语句汇编后,为变量BUF分配的存储单元字节数是(>。
A、80HB、100HC、124D、192
3、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(>。
A、名字项B、操作项C、操作数项D、注释项
4、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(>。
A、CMPB、SUBC、ANDD、MOV
5.汇编程序属于_________。
A.硬件系统B.软件系统C.系统软件D.用户软件
6.简单的汇编语言程序可以通过_________来建立
A.连接程序B.调试程序C.汇编程序D.编辑程序
7.进行汇编语言编程时,设计者应该考虑一些基本的要求,下列叙述不正确的是____。
A.程序应该结构化B.程序应该执行速度快C.程序应该占用空间大D.程序应该简明、易读、易懂
8、表示一条处理器指令所在的符号地址是____。
A、变量B、常量C、标号D、偏移量
9、执行指令movbx,segvar,bx得到变量var的____。
A、物理地址B、段地址C、偏移地址D、内容
10、数据定义语句“num1dw(12or6and2>ge0eh”,定义的num1单元的内容是____。
b5E2RGbCAP
A、0B、0FFFFHC、1D、0FFH
11、要求将A、B两个字符的ASCII码41H、42H顺序存放在连续两个字存储单元中,可选的语句是____。
p1EanqFDPw
A、DB‘AB’B、DW‘AB’C、DB0ABHD、DW0ABH
12、假设V1和V2是用DW定义的变量,下列指令正确的是____。
A、MOVV1,20HB、MOVV1,V2C、MOVAL,V1D、MOV2000H,V2DXDiTa9E3d
13、如定义xyzdw‘A’,则xyz字存储单元中存放的数据是____。
A、0041HB、4100HC、0061HD、6100H
14、已知names是一个如下定义的变量:
namesdb‘Tombush’
其正确的语句是____。
A、movdi,namesB、movdi,names[bx][si]
C、movdi,offsetnames[bx][si]D、leadi,names[bx][si]RTCrpUDGiT
15、机器语言是指<)
A.用英语缩写词表示的面向机器的程序设计语言B.用二进制代码表示的程序设计语言
C.用“0”或“1”表示的面向机器的程序设计语言
16、汇编语言是指<)
A用英语缩写词表示的面向机器的程序设计语言
B用二进制代码表示的面向机器的程序设计语言
C用自然语汇表示的面向对象的程序设计语言
D用助记符表示的程序设计语言
二.判断题<只需判断对错,在题干前括号里对√,错×)
<√)1.一个符号经EQU赋值后,在整个程序中,这个符号不能再重新赋值。
(×>2.汇编好的目标程序要经过连接和定义之后才能交给机器运行。
<√)3.机器语言指令由操作码和地址码两部分组成.
(√>4.子程序结构相当于高级语言中的过程。
(×>5.地址表达式中允许出现不带方括号的寄存器符号。
(√>6.在数据定义语句中,如果表达式中出现变量和标号,则是取其偏移地址值参加运算。
(×>7.操作项可以是指令、伪操作,但不可以是宏指令的助记符。
三.填空题
1.把汇编源程序翻译成目标程序的语言程序称为__汇编程序____。
汇编程序进行翻译的过程叫做__汇编____。
5PCzVD7HxA
2.__SEG___运算符分离出其后变量或标号所在段的段首址。
3.__OFFSET___运算符分离出其后变量或标号的偏移地址。
4.__TYPE___运算符取其后变量或标号的类型。
5.操作数项由一个或多个___表达式___组成,多个操作数项之间一般用逗号分开。
6.__注释项____用来说明一段程序或一条减几条指令的功能,它是可有可无的。
7.指令包括操作码、操作数两部分。
8.标号有3个属性,段地址属性、偏移地址属性和类型属性。
四、简答题(每小题4分,共12分>
1.若定义:
bdatadb2dup(1,2,2dup(3>,4>,则dbata变量前5个单元从低地址到高地址的数据依次是1,2,3,3,4。
jLBHrnAILg
2、ARYDW10DUP(?
>
┇
MOVAL,TYPEARY;AL=2
MOVBL,LENGTHARY;BL=10
MOVCL,SIZEARY;CL=20
上述MOV指令序列执行后的结果是什么?
3、设某数据段:
DATASEGMENT
ORG20H
NUM1=8
NUM2=NUM1+10H
DA1DB'COMPUTER'
DB0AH,0DH
COUNTEQU$-DA1
DA2DW'CO','MP','UT','ER'
DATAENDS
试回答:
(1>DA1的偏移地址是:
20H
(2>COUNT的值是0AH
(3>DA2+5字节单元的内容是‘U’的ASCII码或55H
4. A.下面两个语句有何区别?
X1 EQU 1000H
X2=1000H
B.下面的程序段有错吗?
若有,请指出错误。
CRAY PROC
PUSH AX
ADD AX,BX
RET
ENDP CRAY5.假设程序中的数据定义如下:
ARRAY1 DW ?
ARRAY2 DB 16 DUP(?
>
ARRAY3 DD ?
PLENTH EQU $-ARRAY1
问PLENTH的值为多少?
它表示什么意义?
xHAQX74J0X
6、执行下列指令后,AX寄存器的内容是什么?
定义:
TABLEDW0,100H,200H,300H,400H
DISTADW6
<1)执行MOVBX,OFFSETTABLE
ADDBX,DISTA
MOVAX,[BX]AX的内容:
<2)执行MOVSI,4
LEABX,TABLE
MOVAX,[BX][SI]AX的内容:
五、程序分析题(每小题6分,共18分>
1、DATASEGMENT
S9DB0,1,2,3,4,5,6,7,8,9
DATAENDS
┇
LEASI,S9
LEA,DI,S9+1
MOVCX,5
LOP:
MOVAL,[SI]
XCHGAL,[DI]
MOV[SI],AL
ADDSI,2
ADDDI,2
LOOPLOP
上述程序段运行后,S9开始的10个字节存储单元内容是什么?
2、DA3EQUWORDPTRDA4
DA4DB0ABH,89H
┇
SHRDA3,1
MOVDX,DA3
SHLDA4,1
MOVCX,DA3
上述程序段运行后,CX=_____________________,DX=_____________________LDAYtRyKfE
3、指出下列程序中的错误:
STAKSGSEGMENT
DB100DUP(?
>
STA_SGENDS
DTSEGSEGMENT
DATA1DB?
DTSEGEND
CDSEGSEGMENT
MAINPROCFAR
START:
MOVDS,DATSEG
MOVAL,34H
ADDAL,4FH
MOVDATA,AL
STARTENDP
CDSEGENDS
END
六、程序填空题(注意:
下列各小题中,每空只能填一条指令!
每小题6分>
1、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。
Zzz6ZB2Ltk
BUFDB5,6,7,58H,62,45H,127,……
COUNTEQU$-BUF
MAXDB?
┇
MONBX,OFFSETBUF
MOVCX,COUNT-1
MOVAL,[BX]
LOP1:
INCBX
_____________________
JAENEXT
MOVAL,[BX]
NEXT:
DECCX
_____________________
MOVMAX,AL
2、下列程序段为RAM实验中的存储器测试程序,将语句补充完整。
DATA
MESSAGEDB’PLEASEENTERAKEYTOSHOWTHECONTENTS’,ODH,OAH,’$’dvzfvkwMI1
DATAENDS
CODESEGMENT
ASSUMECS:
,DS:
DATA,ES:
DATA
START:
MOVAX,DATA
MOVDS,
MOVAX,2000H
MOVES,AX
MOVBX,1000H
MOVDL,40H
REP1:
INCDL;输入A到Z26个字符
MOVES:
[BX],DL
INC;修改指针
CMPDL,’Z’
JNZ
LEADX,;以下显示提示信息
MOVAH,09H
INT21H
MOVAH,01H;等待按键
INT21H
MOVAX,2000H;
MOVES,AX
MOVBX,1000H
MOVCX,26;以下显示已写入的字符
REP2:
MOVDL,ES:
[BX]
MOV,02H
INT21H
INCBX
LOOP
MOVAX,;返回DOS
INT21H
CODE
ENDSTART
3、设在内存NUM单元开始存放着100个字节,要求将其中为零的元素全部删除,并将保留的数据连续存放,以$为结束标志;结束标志的下一个单元保存零元素个数。
下列程序是满足以上要求的部分程序,请补充完整。
rqyn14ZNXI
DATASEGMENT
NUM100DUP(?
>
NUM1DB00,00
DATAENDS
CODE
ASSUMECS:
CODE,
START:
MOVAX,DATA
MOVDS,AX
LEASI,;取NUM数据区首址
MOVDI,SI
MOVCX,100
XORDL,DL;DL作为统计零元素个数的计数器
GO1:
MOVAL,[SI]
CMP
JNZGO2
INC
JMPGO3
GO2:
MOV[DI],AL
INCDI
GO3:
INC
LOOP
MOV[DI],‘$’
INCDI
MOV[DI],
MOVAH,
INT21H
CODEENDS
ENDSTART
4、设在内存NUM单元开始存放着100个字节类型的整数,要求将其中为一的元素全部删除,并将剩余的数据元素连续存放,以0为结束标志,另外结束标志的下一个单元保存零元素个数。
下列程序是满足以上要求的部分程序,完成该程序:
EmxvxOtOco
DATASEGMENT
NUMa1,a2,……,a100
NUM1DB0,0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
START:
MOVAX,DATA
MOVDS,AX
LEASI,;取数据首址
MOVDI,SI
MOVCX,100
XORDL,DL;DL作为统计零元素个数的计数器
GO1:
MOVAL,|SI|
CMP,0;与0比较
JNZGO2
INC;零元素计数器加一
JMPGO3
GO2:
MOV[DL],;保存非零元素
INCDI
GO3:
INCSI
LOOPGO1
MOVBYTEPTR|DI|,0
MOV,DL;保存零元素个数
MOVAH,
INT21H
CODEENDS
END
《微机原理与接口技术》思考题2答案
一、单项选择题
1.D2.B3.B4.D5.C6.B7.C8.C9.B10.A11.A12.A13.A14.DSixE2yXPq5
15.B16.D
四、简答题
1.若定义:
bdatadb2dup(1,2,2dup(3>,4>,则dbata变量前5个单元从低地址到高地址的数据依次是1,2,3,3,4。
6ewMyirQFL
2.AL=2
BL=10
CL=20
3.DA1的偏移地址是20H
COUNT的值是0AH
DA2+5字节单元的内容是‘U'的ASCⅡ码
4.A.第一个语句中,X1不能多次赋值,而X2可以多次赋值。
B.程序最后一行有错,应写成:
CRAY ENDP
5. 22,它表示ARRAY1到ARRAY3所占存储单元的字节数。
6.(1>AX=0300H
(2>AX=0200H
五、程序分析题
1.S9 DB 1,0,3,2,5,4,7,6,9,8
上述10个数据,错1个扣1分,扣完为止
2.CX=44AAH<3分)AL=44D5H<3分)
3.略
六、程序填空题
1.<1)CMP AL,[BX]
<2)JNZ LOP1
2.(1>SEGMENT(2>CODE(3>AX(4>REP1(5>MESSAGE(6>AH(7>REP2(8>4C00H(9>ENDSkavU42VRUs
3.DB、SEGMENT、NUM、AL,0、DL、SI、GO1、DL、4CHy6v3ALoS89
4.DB、DATA、NUM、AL、DL、AL、[DI、]4CH、STARTM2ub6vSTnP
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。