汇编语言复习题.doc_第1页
汇编语言复习题.doc_第2页
汇编语言复习题.doc_第3页
汇编语言复习题.doc_第4页
汇编语言复习题.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一单项选择题:(每题2分,共20分)1在下列的选项中,能够组成计算机系统的是(A )。A硬件系统和软件系统 BCPU、存储器、输入/输出设备C操作系统、各种语言 D系统软件和应用软件3汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B )。AEXE BOBJ CASM DLST4汇编语言的什么文件经链接(D)后产生可执行文件?AASM BEXE CLST DOBJ7汇编语言源程序是(A )程序。不可直接执行 可直接执行的经汇编程序汇编后就可执行 经连接后就可直接执行的11在程序执行过程中,IP寄存器始终保存的是(C )。上一条指令的首地址 本条指令的首地址。下一条指令的首地址 需计算有效地址后才能确定地址。30下列叙述正确的是(A )。机器指令是可执行指令汇编语言源程序可直接执行汇编语言目标程序可直接执行高级语言程序可直接执行1设BX=2000H,SI=3000H,指令MOV AX,BX+SI+8的源操作有效地址为(B )。A5000H B5008H C23008H D32008H2设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,BX的源操作数的物理址为(A )。13000H B23000H C33000H D 3000H5用来作为寄存器间接寻址的寄存器有(D )个。A8 B6 C5 D46指令MOV BX+SI,AL中的目的操作数使用(B )段寄存器。ACS BDS CSS DES7指令MOV BX,BP+5中的源操作数使用(C )段寄存器。 ACS BDS CSS DES8段内间接寻址只改变(B )中的内容。ACS BIP CCS和IP DPSW4若定义“BUF DB 1,2,3,4”,执行MOV AL,TYPE BUF 后AL=(B)。A0 B1 C2 D35若定义“A EQU 100”,执行“MOV AX,A”后,AX=(C )。AA的偏移地址 BA单元中的内容C100 DA的段地址6若定义“B DW 1,2,10 DUP(0)”,则该伪指令分配(D)字节单元。A10 B20 C22 D248、伪指令是(C )规定的汇编说明符,它在源程序汇编时进行说明。A、DEBUG B、LINK C、MASM D、EDIT9在上机操作过程中,MASM命令执行后,除了生成一个目标文件外,根据选择还可以生成一个(A )文件。A LST B EXE C MAP D ASM10LINK命令执行后可以生成一个以(B )为扩展名的文件。 AASM BEXE COBJ DCOM2 下列描述中正确的是(B )。A在汇编语言编程中,必须有数据段和代码段B在汇编语言编程中,数据可以安排在代码段C在汇编语言编程中,必须分别完整的定义数据段、代码段、堆栈段和附加段D在汇编语言编程中,必须采用过程的形式编写程序7 汇编语言程序设计的流程图是非常有用的,它的每一执行框表明了整个程序中的某一段程序或某一功能块,而整个程序有(A )。A一个入口一个出口 B一个入口多个出口C多个入口一个出口 D多个入口多个出口9 在顺序程序设计的流程图中,不包含(C )。A开始框 B执行框 C判断框 D结束框3 条件转移指令的转移范围是(D )。A065535B3276832767C0255D1281274 用一条条件转移指令一次可实现(A )个分支。 A2 B3 C4 D多6 当两个无符号数进行相加时,执行“JCL”指令表示(A )转移。 A结果溢出 B结果为0 C结果为奇 D结果为负1循环指令中作为循环次数的寄存器是(C )。 AAX BBX CCX DDX3循环指令“LOOP”的操作是(B )。ACX先减1,然后再判断CX,若CX=0则转,否则继续执行BCX先减1,然后再判断CX,若CX0则转,否则继续执行 C先判断CX,若CX0则CX-1后转,否则继续执行D先判断CX,若CX0则转,否则CX-1后继续执行6在循环程序设计中,如果循环的次数事先无法确定,则应采用的循环控制方法是(A )。 A条件控制法 B计数控制法 C逻辑尺控制法 D开关控制法1在子程序中,如果利用堆栈保护现场,在恢复现场时,先压入堆栈的内容(B )。 A先弹出堆栈 B后弹出堆栈 C不分先后弹出堆栈 D任意弹出堆栈2下列叙述不正确的是(A )。 A在子程序中的现场保护只能用堆栈来实现。 B在子程序中的现场保护用堆栈来实现是其中的一种方法。 C在子程序中的现场保护可以有多种实现方法。 D在子程序中的现场保护可以将要保护的内容送内存变量来实现。5下列叙述不正确的是(B )。 A在子程序中可以再次调用子程序。B在主程序中一般用跳转指令转移到子程序。C在子程序中一般用返回指令返回到主程序。D在主程序中一般用调用指令转移到子程序。二多项选择题:(每题3分,共30分)1中央处理器CPU是由(ABC )组成的。A运算器 B控制器 C寄存器组 D存储器2下列寄存器中属于段寄存器的有(CD )。 ASI BDI CSS DES4下列的16位寄存器中能够用2个8位寄存器来表示的有(BD )。 ASI BAX CBP DBX5逻辑地址是由(AC )组成的。 A段地址 B物理地址 C偏移地址 D实际地址9在下列文件中,能够在计算机上直接运行的有(ABD )。 AEXE文件 BCOM文件 COBJ文件 DBAT10在外部设备接口电路中,一般有(ABD)。 A数据寄存器 B状态寄存器 C标志寄存器 D控制寄存器1在下列寻址方式中,用来访问内存的寻址方式有(BCD )。 A寄存器寻址 B寄存器间接寻址 C寄存器相对寻址 D直接寻址6在下列指令中,错误的指令有(ABCD )。 ASUB 5,AL BADD AL,BX CINC BX DSHR AX,67执行“CMP AX,8003H”指令后,当AX中的无符号数高于8003H时,下列指令中有效的转移指令有(AB )。 AJNB L BJA L CJG L DJNL L8可与串操作指令“CMPSW”指令配合使用的重复前缀有(BCD )。 AREP BREPZ CREPNZ DREPE9在下列的输入/输出指令中,正确的指令有(ABD )。 AIN AX,80H BOUT DX,AX CIN AL,340 DOUT DX,AL10在下列的指令中,错误的指令有(ABCD )。 APUSH AL BMOV AL,BX CPUSH 1000H DCALL AX1在8086汇编语言中,语句的种类有(AB )。 A指令性语句 B指示性语句 C汇编语句 D说明语句3在下列的选项中,作为变量的类型有(ABC )。 A字节 B字 C双字 D近程7不能分配内存单元的伪指令语句有(AC )。 AEQU BDW C= DDD8定义一个段的伪指令语句有(AD )。 ANAME SEGMENT BNAME PROC CNAME ENDP DNAME ENDS9定义一个过程的伪指令语句有(BC )。 ANAME SEGMENT BNAME PROC CNAME ENDP DNAME ENDS10宏指令与子程序的主要区别在于(BCD )。 A完成的功能完全不同 B目标程序的长度不同 C执行程序的速度不同 D汇编时处理的方式不同 2在下列的选项中,属于指令性语句的有(AD )。 AMOV AX,BX BSTR DB 3 CWORD PTR A DIN AX,80H 4数值表达式的运算符有(ABC )。 A算术运算符 B逻辑运算符 C关系运算符 D属性运算符10在汇编语言程序设计中,上机调试程序时除了在计算机中有DOS和编辑器外,在计算机中还应该有(ABC )。 AMASM BLINK CDEBUG DWINDOWS2 在分支结构的程序中,分支程序的流程一般有(ACD )。 A判断转移框 B循环框 C产生条件框 D分支程序段框3在下列的选项中,可以用来产生条件的选项有(BC )。 A数据传送指令 B算术运算指令 C逻辑运算指令 D转移指令4在多分支程序设计中,常用的方法有(ACD )。 A地址表法 B计数法 C转移表法 D逻辑分解法1循环程序结构的三个主要组成部分是(ABC )。 A置初值部分 B工作部分 C循环控制部分 D结束部分3在循环程序设计中,如果循环的次数事先已确定,则采用的计数循环控制方法有(AB )。 A正计数法 B倒计数法 C条件控制法 D开关控制法9在多重循环程序中,内层循环(BCD )。 A只能是一个循环程序段 B可以是一个循环程序段 C可以是两个循环程序段 D可以是多个循环程序段1一般的子程序说明文件有(ABCD )。 A子程序名 B功能描述 C入口参数 D出口参数2在子程序的设计中,通常采用现场保护和现场恢复的方法有(BC )。 A寄存器法 B堆栈法 C约定单元法 D变元法3子程序的参数传递方法有(ABC )。 A寄存器法 B约定单元法 C堆栈法 D变元法三填空题:(每题2分,共20分)1中央处理器CPU包括_运算器_,_控制器_和内部可编程的寄存器组。2计算机的硬件系统包括CPU,_存储器_和输入/输出子系统三个主要组成部分。118086/8088 CPU的地址有_20_位。可寻址的内存地址空间是_1MB _。128086/8088 CPU有_6_个段寄存器。14当两个无符号数的字节相加时,其结果超过_255_时就将CF置。16若运算的结果为负数,则SF为_1_。1 用汇编语言编写程序,除了要求程序能正常运行和实现预定的功能外,还必须满足程序要结构化,执行的速度要_快_,占用的内存空间要_少_。4 无分支,无转移,无循环的程序结构称为_顺序_程序。10基本的程序设计方法有顺序程序设计、_分支程序设计_、_循环程序设计_和子程序设计。11堆栈是从高 地址向低方向生长的。其操作遵循后进先出 的操作原则。12在进行弹栈操作时应该先将弹出的数据送目标地址 ,然后SP+2。13在进行多精度加法运算时,一般使用ADC 指令。20DAA指令只对AL 寄存器中的内容进行调整。22十进制数1234的压缩型BCD码为1234H 。26在串操作指令中,SI指向源串,DI指向目的 串。2标号的三个属性是段地址、 偏移地址和类型。3变量的三个属性是段地址、偏移地址 和类型。4标号的类型有近程 和远程 。8语句“MOV BX,OFFSET A”可用L./EA BX,A 一条指令代替。15伪指令END 表达式 表示整个程序结束。20在源程序中只要对某一独立功能的程序段进行一次宏定义,就可以多 次调用它。3转移表法分支程序设计中,其程序转移表中存放的是无条件转移指令。4地址表法分支程序设计中,其地址表中存放的是转移指令的地址。5逻辑分解法程序设计一般是利用多条条件转移 指令实现多分支程序设计的。1送循环的次数是在循环程序结构的循环参数置初值部分(置初值部分) 完成的。2送循环操作的首地址是在循环程序结构的循环参数置初值部分(置初值部分) 完成的。3修改循环的次数是在循环程序结构的循环控制部分 完成的。1调用子程序通常用CALL(调用) 指令,返回调用程序通常用RET(返回) 指令。7一个子程序调用另一个子程序称为 子程序嵌套;一个子程序直接或间接调用该子程序本身称为递归调用 。8以过程定义的子程序有两种类型的属性,他们分别是NEAR(近程) 和FAR(远程) 。四程序分析题:(每题5分,共10分)1现有程序段如下:MOV AX,1234HMOV BX,60HADD AX,BX请回答 :(1)该程序段完成的功能是什么?(2)程序段执行完后AX= 。答:1(1)两数1234H和60H相加,结果存放在AX中。 (2)1294H6现有程序段如下:MOV BL,ALMOV CL,4SHR BL,CLMOV A,BLAND AL,0FHMOV B,AL请回答 :(1)该程序段完成的功能是什么? (2)如果AL的初值为56H,则A= ,B= 。答:6(1)将AL中的八位数分高低4位分别存放在A和B中。 (2)A=05H,B=06H10现有程序段如下: MOV AX,1 MOV BX,2 MOV CX,4 MOV DX,3L: INC AX ADD BX,AX SHR DX,1 LOOPNZ L 请回答 :(1)该程序段的循环次数是多少? (2)该程序段执行完后AX= ,BX= ,CX= ,DX= 。答:10(1)2 (2)AX=3,BX=7,CX=4,DX=04分析下列程序,说明程序的功能。DATA SEGMENT A DW ? B DW ? C DW ?D DW ? E DW 2 DUP(0) DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AX,A MOV DX,0 ADD AX,B ADC DX,0 ADD AX,C ADC DX,0 MOV CX,D DIV CX MOV E,AX MOV E+2,DX- MOV AH,4CH INT 21HCODE ENDS END START答: 计算16位无符号数(A+B+C)/D的表达式,结果的商放在E中,余数放在E+2中。6分析下列程序 DATA SGEMENT A DW 123H,456H,789H B DB 12H,34H,56H,78H C DB 10 DUP(2,3)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA SI, A LEA DI, C MOV CX,10 L: MOV AL,SI MOV DI,AL INC SI INC DI LOOP L MOV AH,4CH INT 21HCODE ENDS END START请回答:C的前5个字节单元中的内容依次是什么?答: C前面的5个字节单元中的内容依次为01H,23H,04H,56H,07H7分析下列程序DATA SEGMENT A DB 83H,62H,56H,0FAH,67H B DB 0DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA BX, A MOV CX, 5 L: MOV AL,BX CMP AL,100 JAE(=) M INC BYTE PTR B M: INC BX LOOP L MOV AH,4CH INT 21HCODE ENDS END START 请回答:(1)该程序完成什么功能?(2)程序运行后,B中的内容是多少?答: (1)统计A缓冲区中小于100的无符号数,B中存放统计的个数。(2)2五程序填空题:(每题10分,共20分)4 下列程序是将BUF缓冲区中的两个字节的非压缩BCD码转换成ASC送显示器显示的程序,请在程序的空格处填上适当的指令。 BUF DB 5,7 MOV DL,BUFADD DL,30H (1) MOV AH,2Int 21H (2) (3)MOV DL,buf+1 ADD DL,30HMOV AH,2 (4)int 21H 4(1)ADD DL,30H(2)INT 21H(3)MOV DL,BUF+1(4)INT 21H5 下列程序是将A和B中的24位无符号数相加,其结果存放在双字的C 变量中的程序,请在空格处填上适当的指令。 A DB 3 DUP(?) B DB 3 DUP(?) C DD 0 MOV AL,A (1) XCHG CH,CL MOV BL,B (2) XCHG DH,DL ADD CX,DX(3)ADC AL,BL MOV AH,0 (4) ADC AH,BH MOV C ,CX (5) 5(1)MOV CX,WORD PTR A+1(2)MOV DX,WORD PTR B+1(3)ADC AL,BL(4)MOV BH,0(5)MOV C+2,AX6 下列程序是将A和B中两个数字字符串(非压缩BCD码)相加,其结果存放在C 中的程序,请在空格处填上适当的指令。 A DB 35 B DB 92 C DB 3 DUP(0) MOV AL,A MOV BL,B ADD AL.BL(1) AAA Mov C+2,AL (2) MOV AL,A+1 MOV BL,B+1 ADC AL,BL(3) AAA MOV C+1,AL MOV AH,0 ADC AH,0(4) MOV C,AH6(1)ADD AL,BL(2)MOV C+2,AL(3)ADC AL,BL(4)ADC AH,01下列程序是统计STR字符串中出现X变量中存放的字符的次数,并将统计的结果送COUNT单元。请在程序的空格处填写适当的指令。DATA SEGMENTSTR DB CAGEYGUUIYO4637DYU7R656SRC = ARYX DB UCOUNT DW 0 DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AXMOV COUNT,0 (1)CMP AX,_-100 MOV CX,CMOV AL,XL: CMP AL,SI (2) INC COUNTNEXT: INC SI (3) MOV AH,4CH INT 21HCODE ENDS END START1(1)CMP AX,100(2)JLE L (或JNG L)(3)JMP M4下列程序是将键盘输入的十进制数(3276832767)转换为二进制数送BIN。请在程序的空格处填写适当的指令。STACK SEGMENT DB 100 DUP(0)STACK ENDSDATA SEGMENTBUF DB 10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论