《汇编语言试题五(有答案).pdf》由会员分享,可在线阅读,更多相关《汇编语言试题五(有答案).pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、乐山师范学院 200 200 学年度考题五课程名称:汇编语言程序设计一、单项选择题(每小题 1分,共 16分)B1.用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器 CS 的值是()A.F400H B.2F80H C.F4000H D.2F800H C2.设DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,执行 MOV AX,1000H 则AX=()A.8000H B.0080H C.2080H D.8020H D3.下列四条指令中错误的是()A.MOV AX,SI B.MOV AX,DIC.MOV AX,SI+D
2、I D.MOV AX,SI-DI A4.下列四条指令执行后不影响标志位的是()A.JNC NEXT B.CMP AX,BX C.SHL AX,1 D.OR AL,AL D5.已知AX=0001H,下列四条指令执行后,不能使 ZF=1 的语句是A.DEC AX B.SUB AX,1 C.AND AX,1 D.CMP AX,1 A6.在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有()A.SS,SP,BP B.SS,SP,BX C.DS,BX,BP D.DS,SP,BP B7.有指令 MOV AX,1234H,指令中的立即数 1234H 是存储在()A.数据段 B.代码段 C.
3、附加段 D.堆栈段C8.要在程序中定义缓冲区 BUF,保留9个字节存储空间的语句是A.BUF DW 9 B.BUF DB 9 C.BUF DB 9 DUP(?)D.BUF DW 9 DUP(?)A9.已知AL=56H,BL=34H,都是压缩 BCD 码,要执行二数相加,正确的指令是()A.ADD AL,BL B.ADC AL,BL DAA DAA C.ADD BL,AL D.ADC BL,AL DAA DAA D10.在执行子程序段内调用 CALL SUBR 指令后,SP 的值()A.加1 B.减1 C.加2 D.减2 B,C11.完成将 AX 清零,并且使 CF 清零,下面错误的指令是()A
4、.SUB AX,AX B.AND AX,0 C.XOR AX,AX D.MOV AX,0 D 12.定义宏指令的伪指令是()A.PROC 和ENDP B.CODE 和ENDS C.EQU 和END D.MACRO和ENDM B13.在汇编语言源程序中,表达式的计算是由()完成的。A.编程者 B.汇编程序C.程序执行时 D.连接程序D14.为了使执行串操作指令时,地址按减量方式处理应使用指令A.CLI B.STI C.CLD D.STD B15.有数据定义 NUM DB 12345,经汇编后,NUM 占有()字节存储单元。A.1 B.5 C.6 D.7 B16.汇编语言源程序每个语句可以由四项组
5、成,如语句要完成一定功能,那么该语句中不可省略的项是()A.名字项 B.操作项 C.操作数项 D.注释项二、填空题(每空 1 分,共 16 分)1.在8086/8088系统中,存储器是分段的,每段最大长度是_64k_字节,段内偏移地址从 _0_到_0FFFFH_.2.在程序调试时,显示某指令存放地址是2340:0056,则物理地址是 _23456H_.3.汇编语言源程序中的语句有三种类型,它们是 _顺序_语句,_分支_语句和 _循环_语句。4.指令MOV AX,BX+SI+10H 源操作数寻址方式是 _相对相对基址变址寻址方式 _.5.执行段间返回指令 RET 时,将栈顶的一个字弹出到_IP_
6、后,又弹出一个字到 _CS_ 寄存器中。6.已知DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,执行NEG WORD PTRDI后,(31200H)=_9CH_,(31201H)=_6CH_.-9364h=6C9CH 7.执行下列指令序列MOV AL,80H 学院(-128D)MOV BL,08H CBW IDIV BL 则AH=_ 0_AL=_ 0F0H(-10H)_.(AH-余数,AL-商)8.已知数据定义语句ORG 120H VECT1 DW 200H VECT2 DW VECT1 执行 MOV AX,VECT1 AX=_200H_ MOV BX,
7、VECT2 BX=_1202H_三、简答题(每小题 4分,共 12分)1.在8086/8088系统中,存储器是分段组织的,按各段实际长度定位。已知(DS)=2150H,(CS)=2640H,(SS)=2250H,SP=100H,问题:(1)数据段起始地址是多少 21500H(2)计算数据段中最多可以存放多少个字节数据(要有具体计算式)22500H-21500H=1000H 个字节数据(3)代码段最多可以存放多少个字节程序代码(说明理由。)64KB=64*1024=65536D=10000H字节代码2.已知数据段定义如下:DATA SEGMENT ORG 100H BUF DW CD ,1,3
8、DUP(4,2 DUP(8,6);17个字VRA DB 4AH DATA ENDS 单独执行下列语句LEA BX,BUF BX=_100H_ MOV CX,VRA-BUF CX=_22H_(用十六进制数表示)。3.分别说明下列两组指令中两条指令操作的相同点和不同点(1)SUB AX,BX CMP AX,BX(略)(2)AND CX,DX TEST CX,DX(略)四、程序分析题(每小题6分,共 24分)1.MOV AX,9090H SUB AX,4AE0H JC L1 JO L2 JMP L3 上述程序执行后 AX=_45B0H_,程序转向 _L3_ 2.假设寄存器 AX=1234H,DX=0
9、A000H MOV BX,0 MOV CX,BX SUB CX,AX CX=0-1234H=0EDCCH CF=1 SBB BX,DX BX=0-0A000H-1=5FFFH MOV AX,CX MOV DX,BX 上述程序段执行后 AX=_0EDCCH_,DX=_5FFFH_ 程序功能是 :_ 求0A0001234H 这个32位数的相反数.(即NEG 指令的功能)3.BUF DB 45H,68H,7AH,35H,39H MOV DI,OFFSET BUF MOV CX,5 MOV AL,aCLD REP STOSB 该程序段执行后,BUF 中的内容是 _ aaaaa _,方向标志 DF=_0
10、_ 4.假设寄存器 AX=5AH,CX=23H MOV DL,0 LOP:SUB AX,CX ax=37H,14H,0FFF1H(-0FH)cx=23H JC NEXT INC DL DL=1,2 JMP SHORT LOP NEXT:ADD AX,CX AX=0FFF1+23H=14H HLT 上述程序段执行后,AX=_14H_,DL=_2_ 用数学表达式指明程序功能:_(AX)-2*(CX)结果放在 AX 中.五、程序填空题(每小题6分,共 12分,每空格只能填一条指令)1.下列程序段求数组 FLD 的平均值,结果在 AL中。请将程序填写完整(不考虑溢出)FLD DW 10,-20,30,
11、-60,-71,80,79,56 _ LEA SI,FLD MOV CX,8 XOR AX,AX R1:_ADD AX,SI ADD SI,2 LOOP R1 MOV CL,8 IDIV CL HLT 2.已知数据段 DAT 单元存放某一 正数N(0N6)下面的程序段用查表法求数 N的平方值,结果送 SQR 单元,请将程序填写完整。(注:原题有问题,已改)TABLE DB 0,1,4,9,16,25 DAT DB N SQR DB?LEA BX,TABLE MOV AL,DAT _CMP AL,6JGE NEXT XLAT _ MOV SQR,ALNEXT:HLT 六、程序设计题(第 1小题6分,第 2小题14分,共 20分)1.假设DATAX 和DATAX+2 单元存放双字 P,DATAY 和DATAY+2 单元中存放双字 Q,编程计算 2P-Q,差在DX,AX 中。若OF=1,程序转 OVERFLOW,否则转 NOOVER.(只写与试题要求有关的指令语句)2.已知在数据区 BUF1 和BUF2 分别存放 20个字节数据。编程检查两数据区中的数据是否相同。若完全一致,则将标志单元 FLAG 置FFH,否则置 0,并将第一次出现的不同数据的地址分别存放在ADDR1 和ADDR2 单元中。要求:源程序格式完整。
限制150内