广东海洋大学汇编语言复习题目_答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

汇编语言复习提纲一、考试题型:1、选择题(20分,每题1分)2、填空题(10分,每空1分)3、判断说明题(20分,每题2分)4、程序分析题(20分,每题5分)5、程序填空题(20分,每空2分)6、编程题(10分)二、考试范围与考试形式教材第1~9章,笔试,闭卷三、考试要点:要求熟悉指令功能,能熟练阅读和编写汇编语言源程序。1、汇编语言源程序的结构框架2、汇编语言上机过程及产生的文件3、8086CPU内部寄存器组及地址总线与数据总线宽度4、debug的常用命令(R、D、A、E、U、T、G、P)5、物理地址的形成与存储器分段结构6、与数据有关的寻址方式7、常用指令的格式与功能常用汇编指令数据传送类MOVPUSHPOPINOUTLEA算术运算类:ADDADCINCSUBSBBDECCMPMULDIV逻辑指令:ANDORXORTESTSHLSHRROLROR控制转移指令:JMPJNEJBEJLCALLLOOPINTRET常用伪指令:成对出现的伪指令:SEGMENT…ENDSPROC…ENDPMACRO…ENDM假设:ASSUME数据定义:DBDWLABEL地址计数器:$重复:DUP结束:END属性操作符:PTR8、算术指令的执行影响标志寄存器中的条件标志位(CF、OF)9、循环与分支程序结构10、子程序结构11、宏指令定义12、中断源、中断向量表与中断向量的关系13、用IN和OUT指令直接控制硬件14、键盘、CMOS时钟、显示器的工作原理15、常用DOS中断(INT21H的1、2、9、10号功能调用)16、常用的BIOS中断(INT16H的0号功能,INT10H的2、3、6、7、9号功能)重点掌握的程序:二、十、十六进制相互转换的程序BCD码转换为十进制的程序发声程序大小写字母相互转换的程序进行累加求和的程序例题5.15.35.45.5习题5.215.26例题6.36.46.9习题6.46.56.7例题7.1习题7.1例题8.18.5习题8.18.38.98.11例题9.59.79.119.14习题9.39.49.59.69.10汇编语言复习题一、选择题1.下面关于汇编语言源程序的说法中正确的是(B)A.必须要有堆栈段B.一个程序可以有多个代码段C.必须要有数据段D.只能有一个数据段2.在汇编语言程序开发中,一般要按顺序经过(B)过程。a.用文字编辑程序编写源程序b.用连接程序LINK连接程序.ASM—.OBJ--.EXEc.用MASM宏汇编程序,编译成目标程序d.用DEBUG程序调试程序A.abcdB.acbdC.adcbD.adbc3.汇编语言编译程序MASM.EXE(编译器)编译的对象是(C)文件。A..EXEB..OBJC..ASMD..DOC4.汇编语言源程序经过MASM汇编后产生(C)文件。A..EXEB..ASMC..OBJD..DOC5.DEBUG调试程序时查看内存单元内容的命令是(A)A.DB.RC.AD.E6.DEBUG调试程序时查看寄存器内容的命令是(B)A.DB.RC.UD.A7.8086CPU地址总线宽度为(C)位。A、8B、16C、20D、328.8086CPU数据总线宽度为(B)位。A、8B、16C、20D、329.1个CPU的寻址能力为32KB,那么它的地址总线宽度为(B)。A、13B、15C、18D、32k10.汇编语言源程序中定义段的伪指令是(D)A.REPT…ENDMB.PROC…ENDPC.MACRO…ENDMD.SEGMENT…ENDS11.汇编语言源程序中定义宏的伪指令是(C)A.REPT…ENDMB.PROC…ENDPC.MACRO…ENDMD.SEGMENT…ENDS12..对于下列程序段:AGAIN:MOVAL,[SI]MOVES:[DI],ALINCSIINCDILOOPAGAIN把[sI]中的内容传送给ES:[DI]也可用(A)指令完成同样的功能。A.REPMOVSB串传送B.REPLODSB从串取C.REPSTOSB存入串D.REPESCASB串扫描13.设SP初值为2000H,执行指令“PUSHAX”后,SP的值是(C)A.1998HB.1FFFHC.1FFEHD.2002H14.设SP初值为2000H,执行指令“POPBX”后,SP的值是(D)A.1998HB.1FFFHC.1FFEHD.2002H15.执行下列指令序列后,正确的结果是(A)MOVAL,81Hal=81hADDAL,ALal=81h+81h=02h,cf=1ADCAL,AL02h+02h+cf=05hA.AL=05HB.AL=204HC.AL=04HD.AL=205H16.下列指令被编译时会出错的是(D)mul的操作数不能为立即数A.MULBXB.MULCLC.MULDAT1D.MUL5617.与MOVBX,OFFSETVAR指令完全等效的指令是(B)。A、MOVBX,VARB、LEABX,VARC、LDSBX,VARD、MOVBX,SEGVAR18.指令指针寄存器是(C)A.BPB.SPC.IPD.PSW19.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)A.AX,BX,CX,DXB.BX,BP,SI,DIC.SP,IP,BP,DXD.CS,DS,ES,SS20.下列数据段中:BUF1DB3DUP(0,2DUP(1,2),3)COUNTEQU$-BUF1符号COUNT等价的值是(B)A.6B.18C.16D.8占用了18个字节,其中2DUP(1,2)占用了2*2=4个字节,总共占用了3*6=18个字节21.设数据段中已有:DA1DB12H,34HDA2DW56H,78H下面有语法错误的语句是(C)A.MOVAL,DA1B.MOVWORDPTRDA1,AXC.MOVDA1+1,AXD.MOVBYTEPTRDA2+1,AL22.指令MOVBYTEPTR[BX+SI],00H中目的操作数的寻址方式是(d)A.立即寻址B.寄存器寻址C.寄存器间接寻址D.基址变址寻址23.指令MOVES:[BX],AL中目的操作数的寻址方式是(c)A.直接寻址B.寄存器寻址C.寄存器间接寻址D.基址变址寻址24.条件转移指令JB产生程序转移的条件是(A)A.CF=1B.CF=0C.CF=1和ZF=1D.CF=1和ZF=025、若执行SALSI,CL后能将SI的内容乘以8,则(CL)=(B)A、2B、3C、4D、826.编辑汇编语言源程序时,对于注释语句必须用英文输入法中的(B)来标示。A.:B.;C.,D..27.将AL高4位清0,应执行的指令是(B)A.ANDAL,0F0HB.ANDAL,0FHC.ORAL,0FHD.TESTAL,0FH28.若程序中定义了26B的数据段data,那么程序载入内存,该data段实际占用的内存空间是(C)。16的倍数A、16BB、26BC、32BD、64KB29.在8086CPU系统中一个段的容量最小为(A)。A、16BB、64KBC、512KBD、1KB有数据时最小为16B,没数据时最小为030.下列地址信息与0020H:03EFH确定的内存地址不同的是(B)。A、5EFHB、203H:00EFHC、005EH:000FHD、0002H:05CFHACD对应的物理地址都是5EFH二、填空题1、完成下列数制转换:11101010B=D=H2.在存储器分段管理中,物理地址需要____2_______个16位寄存器来存储。3.对于指令FEESDW100DUP(0)LENGTH=100,SIZE=200B。4.设DS=2000H,BX=1256H,变量TABLE的偏移地址为20A1H,(232F7H)=3280H.下列指令分别执行后,IP的值各是多少?(1)JMPBX;IP=______1256h_____________(2)JMPTABLE[BX];IP________3280H_____________5.设(DS)=2000H,有下列数据段,请用十六进制写出下列各字节单元的内容:ORG2100H想知道org是什么?百度一下TABLEDB10,3*5,10H占三个字节ADDRESSDDTABLEDD占四个字节,地址为2000h:2100hARRAYDW2DUP(3827H,?)占4个字,8个字节(1)(2100H)=____10_________(2)(2103H)=_____00_________(3)(2106H)=____20H__________(4)(210CH)=_____38H_________这里的DS=14F8H,(2106H)=14题目DS=2000H,所以(2106H)=206.已知X=-38D,Y=-64D,则[X-Y]补=____1AH_______(结果用十六进制表示)7、设(DS)=2000H,(ES)=3000H,(SS)=4000H,(BX)=1000H,(BP)=1000H,(SI)=0001H,(DI)=0002H,(21000H)=1234H,(21002H)=5678H,(31000H)=9ABCH,(31002H)=0DEF0H,(41000H)=3456H,(41002H)=789AH计算下列各指令中源操作数的物理地址,并指出指令执行后AX寄存器的内容。(1)MOVAX,ES:[1000H];物理地址PA=(2)MOVAX,[BP];物理地址PA=(3)MOVAX,[BX][SI]物理地址PA=(AX)=8.计算机中8位二进制有符号数(含一位符号位)的补码表示范围是—128~1279.若机器进行有符号数运算,执行指令:MOVAL,0F0HADDAL,78H则ADD指令执行后:(CF)=1,(OF)=0想知道结果也可以调试一下看看10.8086CPU允许有256个中断源,其中定时器中断的中断类型号为08H,在中断向量表中N类型对应中断向量的地址为N×4。三、判断下列指令的正误1、MULAL,BL(N)只有一个操作数2、MOVCS,BX(n)3、PUSHAL(N)PUSH和POP操作都是以字为单位4、SHLAX,CX(N)以为次数要放在cl中5、MOVAH,BYTEPTR[SI][DI](N)[SI][DI]两个都为变址寄存器6、OUT03FCH,AX(N)03FCH超过了255,必须用间接寻址,这里间接寻址的寄存器要用DX,Movdx,03fchOutdx,ax7、SUBAX,[BX](y)8、ANDAL,0FH(y)9、MOV[SI],[DI](n)两个操作数不能同时为存储器10、MOV[BX],0FFH(n)11、MUL0AH(n)12、CALLFARPTRS(y)13、ADDDS,AX(n)段寄存器不可以用在算术指令中14、ADDAL,100H(n)类型不一致15、MOV[BX],BX(y)16、INT1000H(n)17、JMPSHORTPTRS(n)18、0RAL,0FFFH(n)19、CALLBX(y)20、IN03H,AX(n)四、程序分析题1.阅读下面程序段,回答问题。ADB0F8HBDB3DUP(?)┇LEADI,BMOVCX,3MOVAL,ALOP:SARAL,1MOV[DI],ALINCDILOOPLOP┇上述程序段运行后,从B单元开始依次存放的数据是多少?FCFEFFF8H=11111000右移一位变为11111100=FC再右移一位变为11111110=FE再右移一位变为11111111=FF调试结果:2、分析下面程序段的功能……DATASEGMENTS9DB0,1,2,3,4,5,6,7,8,9DATAENDS┇LEASI,S9LEADI,S9+1MOVCX,5LOP:MOVAL,[SI]XCHGAL,[DI]MOV[SI],ALADDSI,2ADDDI,2LOOPLOP……上述程序段运行后,S9开始的10个字节存储单元内容是什么?010003020504070609083、已知BUF开始的数据区中存放有10个大、小写字母,分析下面程序段完成的功能是什么?……MOVCX,10LEABX,BUF

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功