汇编语言程序设计2006年试题(B卷)
06级汇编语言程序设计期末考试(A卷)参考答案及评分标准
计算机系06级本科《汇编语言程序设计》试题A参考答案及评分标准一、填空题(每空1分,共 25 分)1、AND_AX,0FFCFH;XOR BL,0FH。
2、REP;REPE/REPZ;REPNE/REPNZ。
3、字节;字;5;20。
4、CLD;05、ASM;OBJ;EXE。
6、20A8H;11488H。
7、CF;OF。
8、SP;SS。
9、4512H;7845H。
10、循环初始部分;循环体部分;循环控制部分。
二、选择题(每题1分,共15分)1、C;2、A;3、D;4、D;5、C;6、C;7、B;8、C;9、D;10、C;11、A;12、B;13、B;14、D;15、B。
三、简答题(每题1分,共15分)1.答:(1)利用文本文件编辑工具编辑源文件(.ASM);(1分)(2)用汇编程序将源文件(.ASM)转换为目标文件(.OBJ);(2分)(3)用链接程序将目标文件(.OBJ)转换为可执行文件(.EXE);(1分)(4)利用DEBUG软件调试与运行。
(1分)2、答:由三个部分组成。
(1分)(1)循环初始化部分,其作用:为开始循环准备必要的条件,如循环次数、循环体需要的初始值等。
(1分)(2)循环体部分,其作用:完成具体操作或运算;并为执行下一次循环而修改某些参数,如地址指针、计数器等。
(2分)(3)循环控制部分,其作用:判断循环条件是否成立,决定循环是继续还是结束。
(1分)3、答:(1)LEA SI,D1(2)MOV SI,OFFSET D1(3)MOV SI,D2评分细则:上述三种方法无先后顺序。
三种方法,对1个得2分,对2个得3分,全对5分。
四、请说明下列语句的错误(每小题2分,共10分)1.SUB 0FFH ,BX;错误:立即数不能作目的操作数2.MOV DX,AL;错误:两个操作数类型不匹配。
3.ADD BUF1,BUF2;错误:两个操作数不能同时为存储器操作数。
4.MOV AX, 20H[BX][BP];错误:源操作数寻址方式中BX和BP不能一起搭配使用5、MOV DS,1000H错误:立即数不允许直接传送到段寄存器DS。
2006年4月全国计算机等级考试二级VB程序设计试题及答案
For Each arrItem In a If arrItem Mod 7=0 Then Print arrItem; If arrItem>90 Then Exit For Next End Sub 对于该事件过程,以下叙述中错误的是。 A) a数组中的数据是30个100以内的整数 B) 语句For Each arrItem In a有语法错误 C) If arrItem Mod 7=0……语句的功能是输出数组中能够被7整除的数 D) If arrItem>90……语句的作用是当数组元素的值大于90时退出For 循环 2006年4月笔试试卷第3页(共12页)2006年4月笔试试卷第4页(共12页)(22) 设有命令按钮Command1的单击事件过程,代码如下: Private Sub Command1_Click() Dim a(3,3)As Integer For i=1 To 3 For j=1 To 3 a(i,j)=i*j+i Next j Next i Sum=0 For i=1 To 3 Sum=Sum+a(i,4-i) Next i Print Sum End Sub 运行程序,单击命令按钮,输出结果是。 A) 20B) 7 C) 16 D) 17 (23)在窗体上画1个名称为Command1的命令按钮,然后编写如下事件过 程: Private Sub Command1_Click() a=0 For i=1 To 2 For j=1 To 4 If j Mod 2<>0 Then a=a-1
A) Visual Basic是采用事件驱动编程机制的语言 B) Visual Basic程序既可以编译运行,也可以解释运行 C) 构成Visual Basic程序的多个过程没有固定的执行顺序 D) Visual Basic程序不是结构化程序,不具备结构化程序的三种基本结 构 (12)以下叙述中,错误的是。 A) 一个Visual Basic应用程序可以含有多个标准模块文件 B) 一个Visual Basic工程可以含有多个窗体文件 C) 标准模块文件可以属于某个指定的窗体文件 D) 标准模块文件的扩展名是.bas (13)以下叙述中,错误的是。 A) 在Visual Basic中,对象所能响应的事件是由系统定义的 B) 对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设 定 C) Visual Basic中允许不同对象使用相同名称的方法 D) Visual Basic中的对象具有自己的属性和方法 (14)设有如下语句: Dim a,b As Integer c=“VisualBasic” d=#7/20/2005# 以下关于这段代码的叙述中,错误的是。 A) a被定义为Integer类型变量 B) b被定义为Integer类型变量 C) c中的数据是字符串 D) d中的数据是日期类型 (15)以下能从字符串”VisualBasic”中直接取出子字符串”Basic”的函数 是。 A) LeftB) Mid C) String D) Instr (16)设a=4,b=3,c=2,d=1,下列表达式的值是。 a>b+1 Or c<d And b Mod c A) TrueB) 1 C) -1D) 0 (17)以下可以作为Visual Basic变量名的是。 A) A#AB) counstA C) 3AD) ?AA (18)设x=4,y=6,则以下不能在窗体上显示出“A=10”的语句是。
汇编语言程序设计2006年试题(B卷)
四川大学期末考试试题(闭卷)(2005-2006学年第2学期)课程号:课序号:课程名称:汇编语言程序设计(B卷)任课教师:适用专业年级:计算机科学技术2004级学生人数:印题份数:学号:姓名:一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.如果当前(SP)=0058H,执行POP AX指令后,(SP)=(D)(A)60H (B)56H(C)59H (D)5AH2.下面的数值表示中,和100相等的是哪一个(D)(A)00000100B (B)64(C)100H (D)64H3.以下指令中,执行后要影响标志位的指令为(B)(A)MOV AL,BL (B)SAHF(C)NOT CL (D)PUSHF4.在算术移位指令中,如果移位次数大于1,则移位次数应当预先存放在哪一个寄存器中(B)(A)DL (B)CL (C)DH (D)AL5.下列条件转移指令中,哪一个是针对带符号数比较的(C)(A)JB (B)JA (C)JG (D)JC6.如果当前(AL)=0FFH,执行指令INC AL之后,CF标志位的取值为(A)(A)与执行该指令之前的取值保持一致(B)1(C)0 (D)27.LOOP指令所使用的计数器是哪一个寄存器(A)(A)CX (B)CL(C)BX (D)DX8.如果当前(AL)=0C0H,执行CBW指令后AH寄存器的内容为(B)(A)00H (B)0FFH(C)与执行该指令前保持一致(D)01H9.如果(AL)=81H,执行ROL AL,1指令后,OF标志位为(B)(A)OF=0 (B)OF=1 (C)OF=2 (D)OF不确定10.如果(AL)=0C4H,执行如下所示的程序片段后,正确的执行结果为(C)MOV BL,ALADC AL,BL(A)(AL)=4CH (B)(AL)=88H(C)(AL)=4DH (D)(AL)=0C4H11.以下指令中,没有使用存储器寻址方式的是哪一个(B)(A)SUB AL,[SI] (B)ADC BH,28H(C)XOR T AB1[BX][DI],AX (D)NOT BYTE PTR 100H[BX]12.如果(SP)=56H,在一个NEAR类型的子程序内执行指令RET 6,执行完毕后(SP)=(C)(A)62H (B)64H (C)5CH (D)5EH13.如果数据段中一个内存单元对应的物理地址为17698H,(DS)=1700H,那么使用DS段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元(C)(A)15F88H (B)0688H (C)0698H (D)0088H14.如果要读取60H号端口的内容,下面的指令哪一个能够实现该功能(D)(A)IN BL, 60H (B)MOV AL,[60H](C)INT 60H (D)IN AL,9615.以下指令中,没有使用基址寻址的指令是哪一个(B)(A)AND CL,100H[BX] (B)MOV [BP],BX(C)SBB T AB1[BX],AH (D)XOR AX,200H[BP]16.如果(AL)=11000100B执行如下程序片段后,正确的执行结果为(B)SHL AL,1AND AL,0FHRCL AL,1(A)(AL)=00010000B,CF=1 (B)(AL)=00010000B,CF=0(C)(AL)=00010001B,CF=0 (D)(AL)=00010001B,CF=117.如果(AL)=08H,(BL)=07H,执行如下程序片段后,正确的执行结果为以下哪一个(C)ADD AL,BLAAA(A)(AL)=0FH,CF=0 (B)(AL)=0FH,CF=1(C)(AL)=05H,CF=1 (D)(AL)=05H,CF=018.以下指令中,哪条指令访问了堆栈段?(C)(A)AND CL,[DI] (B)MOV [BX][SI],46H(C)SBB 0020H [BP][DI],AX (D)NEG ES:[100H]19.若当前(AL)=28H,执行指令OR AL,80H后,SF标志位的取值为(B)(A)0 (B)1 (C)2 (D)0A8H20.如果(SP)=80H,执行指令CALL F AR PTR PROCD1后,(SP)=(D)(A)80H (B)7EH (C)84H (D)7CH二、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在题后的括号内。
汇编语言程序设计试题和答案
《汇编语言程序设计》试题专业姓名成绩一、单项选择题(每1分,共15分).1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()A.07FFH 3021DB. 6FEH 1021DC. 07FFH 2012DD. 07FFH 2047D2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在指令中用一个字节来表示端口号。
试问可以直接由指令指定的I/o端口号有多少个?( )A. 127DB.255DC. 256DD.128D3. 设MYDAT是一个字变量,下列指令中,错误的是()A.MOV BX,10100BB.MOV DS,AXC.ADD BX,[10100H]D.MOV BX,MYDAT[SI]4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()A.5678HB.4C2AHC.2A4CHD.7856H5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节( ),试用16进制数表示该机的地址范围()A.1M 0~FFFFFHB.64K 0~FFFFHC.128K 0~FFFFHD.128K –FFH~FFH6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物理地址是()A.BAA40HB.AAB40HC.AAA40HD.0D603H7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( )A.CMP BL,OP1B.MOV [BX],111001BC. INC OP2D.SAR AX,CL8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后,DX中的值是()A.00CEHB.009DHC.00B9HD.003BH9. 有符号定义语句如下:BUFF DB 1,2,3,‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值为多少( )A.6DB.7DC.3DD.5D.10. IBMPC机中下列那些寄存器可以用来存储存储器地址()A、BX,BP,SP,CXB、AX,SI,DI,DXC、BX,SI,DI,SPD、DX,SI,DI,SP11.下列指令中正确的是()A.MOV [BX],[SI]B.MOV AX,[SI][DI]C.MOV BX,OFFSET NAME[SI]D.MOV BYTE PTR [100],10012下列程序段执行后,寄存器BX中的内容是什么()MOV CL , 3MOV BX , 0B7HROL BX , 1RCR BX , CLA、0EDHB、0DEHC、0CDHD、0CCH13JB指令的测试条件是( )A. CF=0B. CF=1 C .OF∨CF=1 D.OF=114在DEBUG中()命令用来汇编一句汇编语言语句15 A 、A B、U C 、E D、D16. 指令STI 的功能是( )17(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步二.不定项选择题,漏错多选不得分。
计算机组成原理与汇编语言程序设计期末试题ABC三卷及答案
《计算机组成原理与汇编语言》课程试题A卷一、填空题(每空格1 分共 28 分)1.8位二进制补码所能表示的十进制整数范围是()至(),前者的二进制补码表示为(),后者的二进制补码表示为()。
2.每条指令由两部分组成,即()部分和()部分。
3.微程序顺序控制常用的两种方式是()方式和()方式。
4.8086CPU从结构上可以分为()单元和()单元。
5.半导体动态RAM靠()原理存贮信息,而半导体静态RAM靠()原理存贮息。
6.已知字符A的ASCII码为(),则字符B的ASCII码为(),字符D的ASCII码为()。
7.8086CPU具有()根地址线,直接寻址能力可达()。
8.运算器的主要功能是进行()。
9.通常I/O控制方式可分为5种,即()方式、()方式、和()方式、()方式、()方式。
10.一个源程序中可以包含代码段、()段及()段。
其中代码段是源程序中必不可少的,其它两个段可有可无。
11.标号和变量所具有的三种属性分别为()、()和()属性。
二、判断题(每小题3分共24)12.()在数字计算机中所以采用二进制是因为二进制的运算最简单。
13.()计算机表示的数发生溢出的根本原因是计算机的字长有限。
14.()表示定点数时,若要求数值0在计算机中唯一地表示为全0,应采用补码。
15.()CRC校验码的生成和检验大多采用软件实现。
16.()外(辅)存比主存的存储容量大、存取速度快。
17.()动态RAM和静态RAM都是易失性半导体存储器。
18.()Cache的功能全部由硬件实现。
19.()LCD显示器没有背景光源也能工作。
三、单项选择题:(每小题 3分,共 30 分)20.主机、外设不能并行工作的方式()。
A.程序查询方式 B.中断方式 C.通道方式21.在单独(独立)编址下,下面的说法是()是对的。
A.一个具体地址只能对应输入输出设备B.一个具体地址只能对应内存单元C.一个具体地址既可对应输入输出设备,也可对应内存单元D.只对应内存单元或只对应I/O设备22.在关中断状态,不可响应的中断是()。
汇编语言程序设计试题参考答案
汇编语言程序设计参考答案A卷一、单项选择题(本大题共8小题,每小题2分,共16分)1.C2.B3.B4.A5.C6.A7.A8.C9.D 10.B二、名词解释(本大题共5小题,每小题4分,共20分)11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。
12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。
13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。
14.中断源:指能引起中断的外部设备或内部原因。
15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。
三、简答题(本大题共4小题,每小题5分,共20分)16.微型计算机系统软件的主要特点是什么?计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。
17.什么是逻辑地址?他由哪两部分组成?计算机存储器中给每个逻辑段编址的地址称逻辑地址。
逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。
18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什么?一般情况下汇编语言源程序应该由以下3个逻辑段组成:①数据段:用来在内存中建立一个适当容量的工作区,以存放常数,变量等程序需要对其进行操作的数据;②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、子程序调用时使用;③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行的具体操作。
19. DMA数据传送方式的特点是什么?DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。
06级汇编语言程序设计期末考试(B卷)
2007-2008学年第二学期计算机科学系06级《汇编语言程序设计》期末考试试卷(B 卷)2、此试卷适用于计算机科学与技术本科专业。
一、填空题(本题共10小题,每个空1分,共25分)1、8086的段寄存器有 、 、 和 共四个。
2、“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配______个字节单元。
3、逻辑运算指令是按 进行操作的,指令执行后只设置标志位,不保留结果的逻辑运算指令是 。
4、任何变量都有 、 、 三种属性。
5、8086标志寄存器中共有______位条件状态位,有______位控制状态位。
6、程序设计的基本的结构有 、 、 。
7、调用程序与子程序之间的参数传递方法有、 和堆栈传递参数等三种。
8、在串操作程序中,通常在重复前缀指令REPZ 或REPNZ 后,选用的串操作指令是______ 或________才有实际意义。
9、中断程序的入口地址称为 ,引起中断的事件称为中断源,在IBM PC 机中,共有 个中断源,每个中断向量占内存中的中断向量表 个字节。
10、若AB DW 5 DUP (?),1,2 则TYPE AB 的值为 、LENGTH AB 的值为 、SIZE AB 的值为 。
二、选择题(本题共15小题,每个空1分,共15分)1. 在循环(LOOP )和串处理指令中,用作计数器的寄存器是( )。
——————————————装————————————————订————————————————线—————————————————A.AXB.BXC.CXD.DX2. 完成将累加器AX清零,下面错误的指令是()。
A. OR AX,00HB. SUB AX,AXC. XOR AX,AXD. AND AX,00H3. 下面对伪指令语句的说明,正确的是()。
A. 汇编程序将伪指令翻译成机器码B. 伪指令是在执行时完成其功能C. 伪指令的功能是指示、引导汇编程序在汇编过程中完成其不同操作D. 当汇编结束后,目标程序中仍保留有伪指令4.要实现使BETA的值为56,应采用语句为()。
安徽大学2019—2020学年 第2学期大二计算机专业《汇编语言程序设计》考试试卷(附答案)
安徽大学2019—2020学年第2学期《汇编语言程序设计》考试试卷(B 卷)(闭卷 时间120分钟)考场登记表序号一、选择题(每小题2分,共20分)1、下列指令中操作数在代码段中的是( )。
A .MOV AL, 42H B .ADD AL, BL C .SUB [BX], DI D .INC [DI]2、设AL=67H ,执行CMP AL ,76H 后,AL=( )。
A .76HB .0DFHC .67HD .00 3、8086/8088存储器分段,每个段不超过( )。
A .64K 个字B .32K 个字节C .64K 个字节D .1兆个字节 4、已知AX ,BX 中均为带符号数,当进行字相除时,下面指令或指令序列正确的是( )。
A .DIV BXB .CWDC .XOR DX,DXD .CBWIDIV BX DIV BX IDIV BX5、MOV AL ,79H ADD AL ,0B1H上面指令执行后,标志位CF 和OF 的值是( )。
A .CF=0, OF=1B .CF=l , OF=1C .CF=0, OF=0D .CF=1,OF=06、伪指令DA1 DB 4 DUP(3 DUP(2), 2 DUP(3))在数据区中能构成0203H 操作数共有( )。
A .7个B .4个C .3个D .2个 7、现在DS=2000H ,BX=0100H ,SI=0002H ,(20100)=12H ,(21200)=2AH ,(21201)=4CH ,(21202)=B7H ,(21203)=65H 。
执行MOV AX, WORD PRT 1100H[BX][SI] 指令后AX=( )。
A .2A12HB .122AHC .B765HD .65B7H8、若定义BUF DW 1,2,3,4,执行MOV AL ,TYPE BUF 后AL=( )。
A .0 B .1 C .2 D .39、设NUM=11011011B ,指令MOV AX ,NUM SHL 3执行后AX 中的值是( )。
汇编语言程序设计试题和答案
《汇编语言程序设计》试题专业姓名成绩一、单项选择题(每1分,共15分).1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()A.07FFH 3021DB. 6FEH 1021DC. 07FFH 2012DD. 07FFH 2047D2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在指令中用一个字节来表示端口号。
试问可以直接由指令指定的I/o端口号有多少个?( )A. 127DB.255DC. 256DD.128D3. 设MYDAT是一个字变量,下列指令中,错误的是()A.MOV BX,10100BB.MOV DS,AXC.ADD BX,[10100H]D.MOV BX,MYDAT[SI]4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()A.5678HB.4C2AHC.2A4CHD.7856H5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节( ),试用16进制数表示该机的地址范围()A.1M 0~FFFFFHB.64K 0~FFFFHC.128K 0~FFFFHD.128K –FFH~FFH6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物理地址是()A.BAA40HB.AAB40HC.AAA40HD.0D603H7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( )A.CMP BL,OP1B.MOV [BX],111001BC. INC OP2D.SAR AX,CL8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后,DX中的值是()A.00CEHB.009DHC.00B9HD.003BH9. 有符号定义语句如下:BUFF DB 1,2,3,‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值为多少( )A.6DB.7DC.3DD.5D.10. IBMPC机中下列那些寄存器可以用来存储存储器地址()A、BX,BP,SP,CXB、AX,SI,DI,DXC、BX,SI,DI,SPD、DX,SI,DI,SP11.下列指令中正确的是()A.MOV [BX],[SI]B.MOV AX,[SI][DI]C.MOV BX,OFFSET NAME[SI]D.MOV BYTE PTR [100],10012下列程序段执行后,寄存器BX中的内容是什么()MOV CL , 3MOV BX , 0B7HROL BX , 1RCR BX , CLA、0EDHB、0DEHC、0CDHD、0CCH13JB指令的测试条件是( )A. CF=0B. CF=1 C .OF∨CF=1 D.OF=114在DEBUG中()命令用来汇编一句汇编语言语句15 A 、A B、U C 、E D、D16. 指令STI 的功能是( )17(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步二.不定项选择题,漏错多选不得分。
06级汇编语言程序设计期末考试(A卷)
2007-2008学年第二学期 计算机科学系06级《汇编语言程序设计》期末考试试卷(A 卷)2、此试卷适用于计算机科学与技术本科专业。
一、填空题(本题共10小题,每个空1分,共25分) 1、请用一条指令实现如下操作: (1)将AX 中划‘X’的位清0 15 5 4 0 ┏┳┳┳┳┳┳┳┳┳┳━┳━┳┳┳┳┓ ┃┃┃┃┃┃┃┃┃┃┃X┃X┃┃┃┃┃ 指令:__________________。
┗┻┻┻┻┻┻┻┻┻┻━┻━┻┻┻┻┛ (2)将BL 寄存器的低四位取反:_________________。
2、三个重复前缀指令为______________、________________、______________。
3、DB 指令以_____________为单位分配存贮;DW 指令以_________为单位分配存贮。
故如下数据定义:V1 DB 4 DUP (2), 2COUNT EQU 10V2 DW COUNT DUP(?)为变量V1分配_____个字节存贮区;为变量V2分配_____个字节存贮区。
4、在执行串处理指令时,为了使地址自动增量,应执行指令: ,该指令使得方向标志位 。
5、汇编语言源程序的扩展名是 ,目标程序的扩展名是 ,可执行程序的扩展名是 。
6、若DS=0F3EH ,SI=2000H ,COUNT=0A8H ,指令MOV AX ,[SI+COUNT]中,源操作数的有效地址EA 为________,其物理地址为________。
7、当标志位________=1时表示无符号数运算产生溢出,而当标志位________=1是表示带符号数运算产生溢出。
——————————————装————————————————订————————————————线—————————————————8、访问堆栈指令使用作为栈顶的偏移地址指针,只能使用作为段寄存器。
9、假设存储器中各字节单元的内容是:(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= ,字单元(06926H)= 。
汇编语言程序设计试卷2006A答案
一、单项选择题(每小题1分,共15分)1.设AL=57H,BL=24H,执行指令SUB AL,BL后,寄存器内容为(B)。
A.AL=57H,BL=24H B.AL=33H,BL=24HC.AL=57H,BL=33H D.AL=33H,BL=02.设CL=8,AL=0C8H,执行SAR AL,CL后,AL中的数据是(A)。
A.0FFH B.80H C.00H D.0FEH3.指令指针寄存器是( A)。
A.IP B.SP C.BP D.PSW4.用REPE SCASB指令对某字符串进行扫描,若当扫描结束时CX≠0,则表示(B)。
A.在字符串中有一个与(AL)不同的字符B.在字符串中找到了第一个与(AL)不同的字符C.在字符串中有一个与(AL)相同的字符D.在字符串中找到了第一个与(AL)相同的字符5.下面的数据传送指令中,错误的指令是(D)。
A.MOV SS:[BX+DI],1000H B.MOV DX,1000HC.MOV WORD PTR[BX],1000H D.MOV DS,2000H6.下面指令执行后,变量DAB中的内容是(C)。
DAW DW 2A05HDAB DB 0FAH...MOV AL,BYTE PRT DAWSUB DAB,ALA.0DAH B.0FAH C.0F5H D.0D0H7.执行下列指令后,正确的结果是( B )。
MOV AL,100MOV BL,-2A.AL=100H B.AL=64H C.AL=64H D.AL=100H BL=02H BL=0FEH BL=82H BL=0FEH 8.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是(B)。
A.TEST BL,4FH B.XOR BL,4FHJZ NEXT JZ NEXTC.AND BL,4FH D.OR BL,4FHJZ NEXT JZ NEXT9.设SP初值为2000H,执行指令PUSH AX后,SP的值是( D )。
高级语言程序设计真题2006年下半年
高级语言程序设计真题2006年下半年(总分:100.00,做题时间:90分钟)一、{{B}}单项选择题{{/B}}(总题数:20,分数:20.00)1.以下属于C语言保留字的是( )(分数:1.00)A.fopenB.includeC.getD.unsigned √解析:2.C语言中,错误的int类型的常数是( )(分数:1.00)A.1E5 √B.0C.037D.0xaf解析:3.在C语言中,'a'和"a"存储所占用的字节数分别是( )(分数:1.00)A.1,1B.1,2 √C.2,1D.2,2解析:4.对于数学表达式,正确的C语言表达式是( )(分数:1.00)A.2sqrt(+(a+/3sin(B.2sqrt(+(a+/(3sin()C.2*sqrt(+(a+/3/sin( √D.2*sqrt(+(a+b/3*sin()解析:5.设int x=10,a=0,b=25;,条件表达式x<1? a+10:b的值是( )(分数:1.00)A.0B.1C.10D.25 √解析:6.C语言中,下列运算符优先级最高的是( )(分数:1.00)A.! √B.%C.>>D.==解析:7.sizeof(double)是( )(分数:1.00)A.函数调用B.int型表达式√C.double型表达式D.非法表达式解析:8.设有以下程序段: int a=1,b=10,c=1,x; x=a&&b||++c; printf("%d,%d/n",x,c);执行后输出的结果是( )(分数:1.00)A.0,0B.0,1C.1,0D.1,1 √解析:9.设int x;,则以下语句中错误的输入是( )(分数:1.00)A.scanf ("%d",;√B.scanf ("%d",&;C.seanf ("%o",&;D.scanf ("%x",&;解析:10.设int(*P)();,P的含义是( )(分数:1.00)A.指向一维数组的指针变量B.指向二维数组的指针变量C.指向一个整型变量的指针变量D.指向整型函数的指针变量√解析:11.在C语言中,运算符"="和"=="的功能分别是( )(分数:1.00)A.关系运算和赋值运算B.赋值运算和关系运算√C.都是关系运算D.都是赋值运算解析:12.设int x[]={1,2,3,4,5),*p=x;,则值为3的表达式是( )(分数:1.00)A.p+=2,*p++ √B.p+=2,*++pC.p+=2,p++D.p+=2,++*P解析:13.设for(i=0,j=10;(j>0)&&(i<4);i++,j--);,该语句的循环次数是( )(分数:1.00)A.0B.3C.4 √D.无限解析:14.设函数定义如下: float f1(float a,float b) { return(a+b); } 若有float x=1.1,y=2.2;,则以下语句中正确的函数调用是( )(分数:1.00)A.printf ("%f",f1();B.printf ("%f",f1(&x,);C.printf ("%f",f1(*x,*);D.printf ("%f",f1(x,);√解析:15.结构型变量占用内存的字节数是( )(分数:1.00)A.各成员占用内存字节数之和√B.第一个成员占用的内存字节数C.占用内存最大成员所需的字节数D.最后一个成员占用的内存字节数解析:16.设enum color {purple,Mack,red,white}d;,若将d赋值为枚举常量red,则正确的是( )(分数:1.00)A.d=(enum colo2;√B.d=(enum colo3;C.d="red";D.d=color;解析:17.若main()函数带参数,参数个数最多是( )(分数:1.00)A.0B.1C.2 √D.3解析:18.设宏定义#define PI 3.1415926,用宏名PI替换的是( )(分数:1.00)A.算术表达式B.字符串√C.单精度实型数D.双精度实型数解析:19.调用系统函数labs时,应选用的文件包含是( )(分数:1.00)A.#include "stdih"B.#include "strinh"C.#include "ctyph"D.#include"math" √解析:20.设struct st {int i;int j;}*P;main() { struct st m[]={{10,1},{20,2},{30,3}};p=m;printf ("%d/n",(*++p).j); } 则程序的输出结果是( )(分数:1.00)A.1B.2 √C.3解析:二、{{B}}填空题{{/B}}(总题数:10,分数:20.00)21.C语言中,标准输入设备的文件指针名是 1。
汇编语言程序设计练习题及参考答案
一、单项选择题从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。
1.用来存放下一条将要执行的指令地址的寄存器是(B)A.SP B.IP C.BP D.CS2.要使串处理从低地址向高地址进行,应把标志位置为(D)A.IF=1B.TF=0C.DF=1D.DF=03.使状态标志位CF清零的错误指令是(C)A.OR AX,AX B.SUB AX,AXC.MOV CF,0D.CLC4.设SP=1110H,执行PUSH AX指令后,SP的内容为(B)A.SP=1112H B.SP=110EHC.SP=1111H D.SP=110FH5.汇编源程序出现语法错误的指令有(D)A.MOV[BX+SI],AL B.MOV AX,[BP+DI]C.MOV DS,AX D.MOV CS,AX6.下列串操作指令中,必须同时指明源串和目的串地址的指令是(D)A.STOSW B.LODSWC.SCASW D.CMPSW7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是(B)A.SHR BL,1B.SHL BL,1C.SAR BL,1D.RCR BL,18.执行PUSH AX指令的正确步骤是(A)A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-12.SP←SP-1,(SP)←AL2.(SP)←AL,SP←SP-1C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+12.SP←SP+1,(SP)←AL2.(SP)←AL,SP←SP+19.CF=1时转移到目标地址的条件转移指令是(B)A.JNC B.JC C.JZ D.JS10.在执行NEG指令时,对标志位CF有影响,其影响的规则是(C)A.对正数求补时,CF=0B.对负数求补时,CF=0C.对非零数求补时,CF=1D.对零求补时,CF=111.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A)A.目的操作数最高位为0B.目的操作数最高位为1C.目的操作数为任意情况D.无论什么情况都不可能相同12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是(D)A.AX=0032H B.AX=00E0HC.AX=03E0H D.AX=0FFE0H13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是(D)A.MOV AX,BUFl*BUF2B.MOV AX,BUF1/BUF2C.MOV AX,BUF1+ES:BUF2D.MOV AX,BUF2-BUF114.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是(C )A.INC WORD PTR [BX+SI]B.INC CX,[SI+COUNT]C.NEG BYTE PTR [BX]D.ADD AX,B15.NUM EQU 80HDA DB 34HAND DA,NUM上述语句执行后,DA 中的内容是(D )A.0B4H B.80H C.34H D.016.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A )A.立即、直接、间接B.直接、间接、立即C.直接、立即、间接D.不一定17.语句DA1DB 2DUP(3,5,7)汇编后,该语句可等同于的语句是(D )A.DA1DB 3,5,7B.DA1DB 2,3,5,7C.DA1DB 3,5,7,2D.DA1DB 3,5,7,3,5,718.MOV AL,80HMOV CL,2SAR AL,CL上述指令序列执行后,结果是(D )A.AL=40H B.AL=20HC.AL=0C0H D.AL=0E0H19.下面是实现将AL 内容加1的压缩型BCD 码加法程序段,其中正确的指令序列是(A )A.INC AL B.ADD AL,1DAA DASC.ADD AL,1D.STCDAA AAA20.现有数据存储如图所示:30100H 30101H 30102H 30103H 设AL=01H,BX=0100H,DS=3000H 执行换码指令XLAT 后正确的结果是(B )A.AL=20H B.AL=38HC.AL=00H D.AL=41H21.若定义DAT DW 'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是(B )A.0041H B.4100H 20H38H41H55HC.xx41H D.41xxH[注]选项C.和D.中的XX表示任意数据。
《汇编语言程序设计》期末考试-试卷及答案
《汇编语言程序设计》期末考试-试卷及答案一、 选择题(每题1分,共20分)1、下面存储器中属于辅助存储器的是:(、下面存储器中属于辅助存储器的是:(CDE CDE CDE)) A. RAM B. ROM C.C.磁盘磁盘 D.D.光盘光盘 E. 硬盘2、通常说计算机的内存为32M 32M、、64M 或128M 指的是:(指的是:(C C )A. RAM 的容量B. ROM 的容量C. RAM 和ROM 的容量D.硬盘的容量3、下面的说法正确的是:(、下面的说法正确的是:(AE AE AE))A. 存储器是计算机中存放程序和数据的记忆部件。
存储器是计算机中存放程序和数据的记忆部件。
B. 存储器中的信息被读出后即从存储器中消失。
存储器中的信息被读出后即从存储器中消失。
C. 存储器中如果已经存有数据,则不能再向其中写入新的数据。
D. 半导体存储器的存取速度比CD-ROM 的存取速度要慢。
的存取速度要慢。
E. 辅助存储器需要CPU 通过I/O 接口访问,因而速度较慢。
4、下面属于系统软件的有(、下面属于系统软件的有(A A )A. WINDOWS A. WINDOWSB. MASMC. Visual C++D. WORD 5. 5. 汇编语言的优点不包括汇编语言的优点不包括汇编语言的优点不包括__D_____D_____D___。
A A 直接有效地控制硬件直接有效地控制硬件直接有效地控制硬件B B B 生成的代码序列短小生成的代码序列短小生成的代码序列短小C C 运行速度快运行速度快运行速度快D D 编程容易6. 6. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( AB) A 、AX AX,,BX BX,,CX CX,,DX B 、BX BX,,BP BP,,SI SI,,DI C 、SP SP,,IP IP,,BP BP,,DX D 、CS CS,,DS DS,,ES ES,,SS7. 7. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是(可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( D D))。
2009_01汇编试卷B卷
2009-2010学年第一学期期末考试试卷(B卷)试卷类型:闭卷年级 07 专业计科、软工科目汇编语言程序设计姓名_____________ 学号_________________ 主考教师程学先分数______一.单项选择题(本大题共10小题,每小题1分,共 10 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.已知(BL)=85H,(BH)=4CH,若执行SUB BL,BH后,将使标志寄存器的()位置1。
A.OFB.SFC.ZFD.CF2.在PC机中,一个段的大小不能超过()个字节。
A.8KB.1MC.64KD.256K3.已知语句:VAR DW 1,2,$+2,5,6在汇编时分配的地址是0010H,则汇编后0014H单元的内容是()A.6HB.14HC.5HD.16H4.设SP=1110H,执行PUSH AX指令后,SP的内容为:()A.1112HB.110EHC.1111HD.110FH5.将AX的内容送入以SP为指针的堆栈中,应使用语句:()A.MOV [SP],AXB.POP AXC.PUSH AXD.MOV SP,AX6.已定义数据:BUF DW 234AH在指令ADD AX,BUF[BX]中源操作数的寻址方式是:()A.寄存器寻址B.寄存器间接寻址C.变址寻址D.基址加变址寻址7.在一般指令中使用SI寄存器进行目的操作数寻址时,系统默认的段寄存器是()。
A.CSB.DSC.SSD.ES8.执行DIV CL后余数在()中A.AXB.DXC.AHD.AL9.如果要清除AX中第3、5两位,可以采用操作码符()A.ANDB.ORC.XORD.TEST10.设BL中有一个无符号数,实现把BL中的数乘以2,应选用的指令是()A.SHR BL,1B.SHL BL,1C.SAR BL,1D.RCL BL,1二.以下指令如果有错,请说明原因并改正。
汇编语言程序设计方案试卷及答案(AB卷)
2010—2011学年度第(1)学期期末考试试卷科 目:汇编语言程序设计 (A )卷考试形式:闭卷 考试时间: 120 分钟系别、班级: 姓名: 学号:一、单项选择题:(本题共20小题,每小题1分,共20分) 1. 设DS=5788H ,偏移地址为94H ,该字节的物理地址是 。
(A) 57974H (B) 57914H (C) 5883H (D) 58ECH 2. IP 指令指针寄存器是属于 。
(A) 通用寄存器 (B) 段寄存器 (C) 变址寄存器 (D) 控制寄存器 3. 下面有语法错误的指令是 。
(A) ADD AL,AH(B) ADD [BX+3],AL (C) ADD AH,[DI](D) ADD [BX],DA1(DA1是变量名)4. 完成对DX 的有符号数除以2的指令是 。
(A) IDIV 2 (B) SAR DX,1 (C) DIV 2 (D) RCR DX,1 5. 使进位位置1的指令是 。
(A) CLC (B) CMC (C) STC(D) NOP6. 设AL=-100,要使AL=100应执行的指令是 。
(A)NEG AL (B)NOT AL(C)INC AL (D)DEC AL7.在条件转移指令中,结果为负数则转移的指令是。
(A)JNS (B)JZ(C)JS (D)JC8.下面的XCHG指令中,语法正确的是。
(A)XCHG AL,DS (B)XCHG BH,[BX](C)XCHG AL,OFH (D)XCHG BUF1,BUF29.一条指令中目的操作数不允许使用的寻址方式是。
(A)寄存器寻址(B)立即数寻址(C)变址寻址(D)直接寻址10.设SP=1FFFH,执行下列指令后,SP寄存器的值是。
┇POPFPUSH BXPUSH BX┇(A)2000H (B)2002H(C)1FFCH (D)1FFEH11.LES SI ,[2000H]指令的全部功能是。
(A)把地址2000H送SI(B)把地址2000H字单元的内容送SI(C)把地址2000H字单元内容送SI,把2002H字单元内容送ES(D)把地址2000H字单元内容送ES,把2002H字单元内容送SI12.设AL=04H,CL=0F8H,执行MUL CL指令后,结果是。
2006~2007汇编(B)卷及答案
MOV SI,0 (1)__MOV AL,’A’_; NEXT: 将’A’字符事先存入寄存器中,便于比较
CMP AL,STRING[SI] 逐个比较字符串中的字母是否为’A’,是则跳到 YESA 去执行
(2)_ JE YESA_; INC SI LOOP NEXT NOA: MOV AL,-1
(3) _JMP DONE_;_使程序不再执行 YESA 分支 YESA: DONE: MOV AL,0 ………
两个操作数不能同为存储器操作数,且两个操作数的数据类型 不确定, 改正为:MOV AX,[BX] ADD AX,[SI] 或:MOV AL,[BX] ADD AL,[BP+SI] ; 4、 MOV CS,DX
代码段寄存器 CS 不能作目的操作数,改正为 MOV DS,AX 5、 IMUL 4 乘法指令源操作数不能是立即数, 改正为 MOV CL,4 MUL CL;
五程序设计题(共 30 分)
1、编写程序段,用 DOS 的 1 号功能调用通过键盘输入一字符,并判断输入的字符。如 字符是“Y”,则转向 YES 程序段;如字符是“N”,则转向 NO 程序段;如是其他字符, 则转向 DOS 功能调用,重新输入字符。(YES 和 NO 分别是两程序段入口处的标号)(本小 题 6 位带符号数,分别装在 X、Y、Z、V 存储单元中,阅读如 下程序段,得出它的运算公式,并说明运算结果存于何处。 MOV AX,Y IMUL Y MOV CX,AX MOV BX,DX MOV AX,Z CWD ADD CX,AX ADC BX,DX SBB BX,0 MOV AX,V CWD SUB AX,CX SBB DX,BX IDIV X (1) 运算公式: [V-(X×Y+Z-540)]÷X (2) 结果商存于何处?余数存于何处? 商存于 AX 中,余数存在 DX 中
汇编语言B试卷
2007—2008学年第一学期期末试卷《汇编语言程序设计》 (B卷) 班级30641学号姓名得分一.填空(每空1分,共20分)1、系统总线由总线、总线和总线组成。
2、8086CPU是位的微处理器。
3、DL是位的寄存器, BP是位的寄存器。
4、将逻辑地址合成为20位的物理地址的合成公式是5、OF是标志位,CF是标志位。
6、只有、、和寄存器,能够被用来实现寄存器间接寻址。
7、要进行系统功能调用,必须使用指令。
8、变量的属性包括、和属性。
9、执行指令MOV CX ,3456H 后,CH寄存器的值是。
10、执行指令DIV BL后,商在寄存器里,而余在寄存器里。
二.单项选择题(10*2分)1.汇编语言是()的语言。
A. 机器能够直接识别与执行B. 编程效率高C. 最接近人类的自然语言和数学语言D. 执行效率高2. 下列数据中,最小的是( )。
A. A0HB. 112QC. 112D. 1111111B3. 下列补码表示的数中,最大的数是( )。
A.01011001BB.01001110BC.10000010BD.11001100B4、逻辑运算不包括()运算。
A、与B、或C、求补D、非5、下列的数据中,合法的是()。
A、1F0GHB、1201BC、123DD、239Q6、下列寄存器中,()不是16位的寄存器。
A、DHB、DIC、BPD、BX7、不能拆分使用的寄存器是()。
A、DXB、CXC、BXD、BP8、用来表述系统是否溢出的标志位是()。
A、ZFB、OFC、CFD、DF9. 若要输出字符串,应使用系统功能调用中的()号子功能。
A. 9B. 10C. 1D. 210. 下列指令中, ( )是单操作数指令。
A.MOV B. ADD C. MUL D. LEA三、已知x=31,y=13,求x+y=?用补码运算公式计算(10分)四、判断下列指令的正误(20分 )1、MOV ax , 1234H ( )2、ADD Dx , 1000 ( )3、MOV ds ,1000h ( )4、SUB DX , [BX] ( )5、DIV AL ,BL ( )6、MOV IP ,AX ( )7、MOV BX ,[BX+DI] ( )8、MOV SI , OFFSET [BX] ( )9、LEA DX , [BP] ( )10、MOV 1000H ,DX ( )五、编程(3X10分,共30分)1、随机输入一个字符,然后输出。
2006年汇编语言试题B卷
2006年汇编语言试题B卷一、选择题(每小题2分,共20分)1.若定义DAT DW ‘A’,则(DAT)和(DAT+1)两个相邻的内存中存放的数据是( )A)6100H B)4100HC)XX41H D)41XXH2.假设变量V AR为变量,指令MOV BX,OFFSET V AR的寻址方式是( )A)直接寻址B)间接寻址C)立即寻址D)存储器寻址3.下列指令中,不影响条件标志位的指令是( )A)JNC LABEL B)ROR AL,1C)SUB X,BX D)INT N4.假定(DS)=4000H,(DI)=0100H,(40100H)=55H,(40101H)=AAH,试问执行指令LEA BX,[DI]后,BX的值是( )A)0100H B)55AAHC)AA55H D)4100H5.下列为不合法的标志符的是( )A) AXYZ B)5SKYC)@ATT D)?ABC6.直接、间接、立即三种寻址方式指令的执行速度,有快至慢的排序为()A)直接、立即、间接 B)直接、间接、立即C)立即、直接、间接 D)不一定7.已知:V AR DW 1,2,$+2,5,6,若汇编时V AR分配的偏移地址是0010H,则汇编后0014H单元的内容是( )A)6H B)14HC)5H D)16H8.连接两个汇编语言目标程序时,若其数据段的段名相同,组合类型为PUBLIC,定位类型为PARA,连接后第一个目标程序数据段的起始物理地址是00000H,长度为1376H,试问第二个目标程序数据段的起始物理地址是( )A)01377H B)01378HC)01400H D)01380H9.在汇编语言程序设计中,若调用不在本模块中的过程,则对该过程必须用伪操作命令( )说明.A)PUBLIC B)COMMONC)EXTRN D)ASSUME10. 执行下面程序段后,(AX)的内容是( )TAB DW 1,2,3,4,5,6ENTRY EQU 3MOV BX,OFFSET TABADD BX,ENTRYMOV AX,[BX]A)0003H B)0300HC)0400H D)0004H二、填空(每小题2分,共20分)1、十六进制数88H的补码是___________________。
7039A汇编语言程序设计试卷
汇编语言程序设计试题 第1页(共6页) 汇编语言程序设计试题 第2页(共6页)试卷编号:7039 座位号浙江广播电视大学2006年春季学期期末考试《汇编语言程序设计》试题2006年7月一、单项选择题(每小题1分,共20分)请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
答题卡1.十六进制数88H ,可表示成下面几种形式,错误的表示为【1】。
A. 无符号十进制数136 B. 带符号十进制数-120C. 压缩型BCD 码十进制数88D. 8位二进制数-8的补码表示2.指令指针寄存器是【2】。
A. IPB. SPC. BPD.PSW3.当执行指令ADD AX ,BX 后,若AX 的内容为2BA0H ,设置的奇偶标志位PF =1,下面的叙述正确的是【3】。
A. 表示结果中含1的个数为偶数B. 表示结果中含1的个数为奇数C. 表示该数为偶数D.表示结果中低八位含1的个数为偶数4.完成将累加器AL 清零,并使进位标志CF 清零,下面错误的指令是【4】。
A. MOV AL,00H B. AND AL,00H C. XOR AL,AL D. SUB AL,AL5.下列指令执行后总是使CF =0,OF =0的是【5】。
A. AND B. NEG C. NOT D. INC6.完成同指令XCHG AX ,BX 相同功能的指令或指令序列是【6】。
A. MOV AX ,BX B. MOV BX ,AX C. PUSH AX D. MOV CX ,AXPOP BX MOV AX ,BXMOV BX ,CX7.设AH =0,AL =06H ,BL =09H ,执行指令ADD AL ,BL AAA之后,其结果应是【7】。
A. AH =01,AL =05B. AH =1 AL =15C. AH =0 AL =0FHD. AH =0 AL =058.设AL =0B4H ,BL =11H ,指令“MUL BL ”和指令“IMUL BL ”分别执行后OF ,CF 的值为【8】。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川大学期末考试试题(闭卷)(2005-2006学年第2学期)课程号:课序号:课程名称:汇编语言程序设计(B卷)任课教师:适用专业年级:计算机科学技术2004级学生人数:印题份数:学号:姓名:一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.如果当前(SP)=0058H,执行POP AX指令后,(SP)=(D)(A)60H (B)56H(C)59H (D)5AH2.下面的数值表示中,和100相等的是哪一个(D)(A)00000100B(B)64(C)100H(D)64H3.以下指令中,执行后要影响标志位的指令为(B)(A)MOV AL,BL (B)SAHF(C)NOT CL (D)PUSHF4.在算术移位指令中,如果移位次数大于1,则移位次数应当预先存放在哪一个寄存器中(B)(A)DL(B)CL(C)DH(D)AL5.下列条件转移指令中,哪一个是针对带符号数比较的(C)(A)JB (B)JA(C)JG (D)JC6.如果当前(AL)=0FFH,执行指令INC AL之后,CF标志位的取值为(A)(A)与执行该指令之前的取值保持一致(B)1(C)0 (D)27.LOOP指令所使用的计数器是哪一个寄存器(A)(A)CX (B)CL(C)BX (D)DX(A)00H (B)0FFH(C)与执行该指令前保持一致(D)01H9.如果(AL)=81H,执行ROL AL,1指令后,OF标志位为(B)(A)OF=0 (B)OF=1 (C)OF=2 (D)OF不确定10.如果(AL)=0C4H,执行如下所示的程序片段后,正确的执行结果为(C)MOV BL,ALSHL AL,1ADC AL,BL(A)(AL)=4CH(B)(AL)=88H(C)(AL)=4DH(D)(AL)=0C4H11.以下指令中,没有使用存储器寻址方式的是哪一个(B)(A)SUB AL,[SI] (B)ADC BH,28H(C)XOR TAB1[BX][DI],AX (D)NOT BYTE PTR 100H[BX]12.如果(SP)=56H,在一个NEAR类型的子程序内执行指令RET 6,执行完毕后(SP)=(C)(A)62H (B)64H(C)5CH (D)5EH13.如果数据段中一个内存单元对应的物理地址为17698H,(DS)=1700H,那么使用DS段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元(C)(A)15F88H (B)0688H(C)0698H (D)0088H14.如果要读取60H号端口的内容,下面的指令哪一个能够实现该功能(D)(A)IN B L, 60H (B)MOV AL,[60H](C)INT 60H(D)IN AL,9615.以下指令中,没有使用基址寻址的指令是哪一个(B)(A)AND CL,100H[BX] (B)MOV[B P],BX(C)SBB TAB1[BX],AH (D)XOR AX,200H[BP]16.如果(AL)=11000100B执行如下程序片段后,正确的执行结果为(B)SHL AL,1AND AL,0FHRCL AL,1(A)(AL)=00010000B,CF=1 (B)(AL)=00010000B,CF=0(C)(AL)=00010001B,CF=0 (D)(AL)=00010001B,CF=117.如果(AL)=08H,(BL)=07H,执行如下程序片段后,正确的执行结果为以下哪一个(C)ADD AL,BLAAA(A)(AL)=0FH,CF=0 (B)(AL)=0FH,CF=1(C)(AL)=05H,CF=1 (D)(AL)=05H,CF=018.以下指令中,哪条指令访问了堆栈段?(C)(A)AND CL,[DI] (B)MOV[B X][SI],46H(C)SBB 0020H [BP][DI],AX (D)NEG ES:[100H]19.若当前(AL)=28H,执行指令OR AL,80H后,SF标志位的取值为(B)(A)0 (B)1 (C)2 (D)0A8H20.如果(SP)=80H,执行指令CALL FAR PTR PROCD1后,(SP)=(D)(A)80H (B)7EH(C)84H (D)7CH二、多项选择题(本大题共5小题,每小题2分,共10分)在每小题列出的五个备选项中有二个至五个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选、少选或未选均无分。
1.对于SAHF指令,以下哪些标志位是要被影响的(ABCDE)(A)CF (B)OF (C)PF (D)ZF (E)SF2.对于汇编语言中的子程序设计,下列描述正确的有哪些(ABCDE)(A)子程序执行的最后一条指令一定是RET指令(B)子程序可以通过堆栈取得入口参数,并且通常使用BP寄存器从堆栈中获取入口参数(C)子程序可以通过寄存器取得入口参数(D)子程序可以分为NEAR和FAR两种类型(E)RET N (N为整数)这种返回指令格式通常用于清除主程序通过堆栈传递的入口参数3.下面对8086/8088汇编语言中堆栈的描述,正确的有哪些(ACE)(A)当使用PUSH、POP指令对堆栈进行操作时,遵循后进先出的原则(B)执行PU SH指令时,SP寄存器的内容会被自动加2(C)CALL指令与RET指令在执行时会自动改变SP寄存器的内容(D)PUSH、POP指令的操作数可以以字为单位,也可以以字节为单位(E)执行POPF指令时,SP寄存器的内容会被自动加24.如果当前(AL)=03H,有如下程序片段:SHL AL,1MOV BL,ALMOV CL,2SHL AL,CLADD AL,BL执行该程序片段后,对执行结果的正确描述有哪些?(ABCE)(A)(AL)=1EH(B)(BL)=06H(C)(CL)=02H(D)CF=1 (E)PF=15.如果在源程序中定义了一个变量V A1,下列指令中,哪些指令一定能够获取该变量的偏移量并保存到SI寄存器中(CE)(A)MOV SI,V A1 (B)LDS SI,V A1 (C)LEA SI,V A1(D)LES SI,V A1 (E)MOV SI,OFFSET V A1三、判断分析题(本大题共5小题,每小题3分,共15分)每小题列出的语句在语法上可能是正确的,也可能是错误的,请判断各小题所给语句在语法上是否正确,如果是错误的,则需要分析其错误原因。
对于所给语句正确的小题,只要做出正确判断即给3分,如果做出错误判断则无分;对于所给语句错误的小题,做出正确判断给1分,做出正确的错误分析再给2分,如果做出错误判断则无分。
1.JB BX1.错误,条件转移指令没有间接转移方式2.MOV IP,0890H错误,不能使用MOV指令给IP寄存器传递数据3.ADC BY TE PTR [B X],BYTE PTR [SI]错误,双操作数指令中只能有一个存储器操作数4.SUB [SI],64错误,操作数的类型不明确5.PUSH AL错误,PUSH指令只能操作字数据类型四、名词解释题(本大题共3小题,每小题4分,共12分),解释每小题所给名词的含义,若解释正确则给分,若解释错误则无分,若解释不准确或不全面,则酌情扣分。
1.立即数寻址:寻址方式的一种,由指令代码内部的立即数字段给出源操作数2.补码:一种带符号数的编码方式,正数的补码为真值本身,负数的补码为真值变反加1的结果3.寄存器间接寻址:存储器寻址方式的一种,由B X、BP、SI、DI这四个寄存器其中之一给出偏移量五、程序分析题(本大题共3小题,每小题7分,共21分),每小题给出了一个程序片段,这些程序片段在语法和逻辑上都是正确的,请按照各小题给出的分析要求,分析程序片段的执行结果或总结程序片段的功能,并在空白处填写分析结果,分析正确则按照每空后标注的分值给分,如果分析错误则该空不得分。
1.阅读下面的程序片段,并分析程序功能与指定寄存器的用途。
(共7分)DA TA SEGMENTDA T1 DB-53,63,-78,23,48,62,-37,80LEN EQU$-DA T1DA TA ENDS……CODE SEGMENT……MOV B X,OFFSET DA T1MOV CX,LENXOR AL,ALL1:TEST [B X],80HJZ L2INC A LLOOP L1……CODE ENDS该程序片段的功能为统计数组中负数的数量(3分)AL寄存器的用途为AL用作统计负数个数(2分)CX寄存器的用途为CX用作循环计数器(2分)2.阅读下面的程序片段,并分析执行结果。
(共7分)MOV AL,0B6HMOV CX,0402HXOR BL,BLL1:ROL AL,CLA DC BL,0DEC CHJNZ L1执行该程序片段后:(AL)= 0B6H(3分)CF = 0(2分)ZF = 1(2分)3.阅读下面的程序片段,并分析执行结果(共7分)MOV AX,6560HMOV BX,4839HPUSH A XSUB AX,BXPOP B XNEG BX执行上面程序片段后,执行结果为:(AX)= 1D27H(3分)(BX)= 9AAoH(2分)CF =1(2分)六、程序设计题(本大题共2小题,第1小题10分,第2小题12分,共22分),每小题给出了一个程序设计要求,请按照要求写出源程序代码,如果源程序代码中出现语法错误或逻辑错误,则酌情扣分。
1.请设计一个宏指令,其功能如下:(1)主程序进行宏调用时提供一个字符串在数据段中的起始偏移量、该字符串的长度、存放统计值的单元偏移量(2)宏指令统计该字符串中字符‘A’的个数,统计结果返回给主程序仅要求写出与宏指令相关的源程序代码,并用文字说明各形式参数的含义。
(10分)形式参数说明:STR1用于指示字符串的起始偏移量,LENGTH用于指出字符串长度,RES用于指示存放统计结果CHARNUM MACRO STR1, LENGTH,RES ;宏定义2分LEA BX, STR1 ;循环初始化2分MOV CX, LENGTHMOV RES,0LOP1:CMP[BX], ‘A’;循环主体4分JNZ L1INC RESL1:LOOP LOP1ENDM2.请设计一个完整程序,该程序的功能如下:(1)从键盘接收一个字符串输入,把接收到的字符串存放于一个缓冲区中,最大允许输入10个字符,输入字符数不够10个时可以回车键结束字符串的输入。
(2)将该字符串中的字符‘H’全部替换为字符‘T’(3)在新的一行上显示更改后的字符串要求写出完整的源程序代码。
(12分)DA TA SEGMENT ;数据段及变量定义,2分MAXLEN DB20ACTLEN DB?STR1 DB21 DUP(?)DA TA ENDSCODE SEGMENT ;代码段定义,1分ASSUME CS:CODE,DS:DA TA;ASSUME,1分BEGIN:MOV A X,DA TA;DS初始化,1分MOV DS,AXMOV DX,OFFSET MAXLEN ;字符串输入,1分MOV AH,0AHINT 21HMOV DL,0DH ;回车换行显示,1分MOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HLEA BX,STR1 ;添加字符串结束标志,1分PU SH BXMOV CL,STR1+1XOR CH,CHADD B X,CXMOV[B X],‘$’POP B XLOP1:CMP[B X],‘H’;循环主体,2分JNZ L1MOV[B X],‘T’LOOP LOP1LEA BX,STR1 ;字符串显示,1分MOV AH,09HINT 21HMOV AH,4CH ;程序框架,1分INT 21HCODE ENDSEND BEGIN。