《石油大学汇编语言在线考试16938.pdf》由会员分享,可在线阅读,更多相关《石油大学汇编语言在线考试16938.pdf(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、汇编语言基础试题 第一章 基本知识 一、单项选择题(共40 分,每题 2 分)1.若十进制数为 132.75,则其十六进制数为(B)A.21.3 B.84.C C.4.6 D.6 2.若补11111,则其十进制真值为(C)A.-31 B.-15 C.-1 D.31 3.某定点整数 64 位,含位符号位,补码表示,则其绝对值最大负数为(A)A.-263 B.-264 C.-(263-1)D.-(263-1)4.原码乘法是(D)A.用原码表示操作数,然后直接相乘 B.被乘数用原码表示,乘数取绝对值,然后相乘 C.乘数用原码表示,被乘数取绝对值,然后相乘 D.先取操作数绝对值相乘,符号位单独处理 5
2、.在微机系统中分析并控制指令执行的部件是(C)A.寄存器 B.数据寄存器 C.CPU D.EU 6.已知 X=76,则X补=(B)A.76H B.4CH C.0B4H D.0CCH 7.已知X补=80H,则 X=(D)A.80H B.0 C.0FFH D.-80H 8.已知X补=98H,则X补/2=(A)A.0CCH B.4CH C.49H D.31H 9.已知 X=78,Y=-83 则X+Y补=(C)A.0F5H B.0A1H C.0FBH D.65H 10.在计算机的 CPU 中执行算术逻辑运算的部件是(A)A.ALU B.PC C.AL D.AR 11.将 125 转换成二进制数的结果(
3、A)A.7DH B.7CH C.7EH D.7BH 12.将 93H 看成一个组合 BCD 码,其结果是(B)A.10010101 B.10010011 C.10000011 D.10000001 13.能被计算机直接识别的语言是(C)A.C 语言 B.汇编语言 C.机器语言 D.面向对象语言 14.第四代计算机的逻辑电路采用的是(D)。A.电子管 B.晶体管 C.中小规模集成电路 D.大规模和超大规模集成电路 15.可以写入数据的内存储器是(B)。A.ROM B.RAM C.软盘 D.大规模和超大规模集成电路 16.掉电后存储信息消失的存储器是(B)。A.ROM B.RAM C.软盘 D.硬
4、盘 17.读写速度最慢的辅助存储器是(C)。A.ROM B.RAM C.软盘 D.硬盘 18.二进制数(11010011)2 转化成十六进制数是(B)。A.11 B.C3 C.A6 D.BC 19.语言处理程序属于软件系统的(A)。A.系统软件 B.应用软件 C.工具软件 D.防毒软件 20.微软 WORD2000 应属于软件系统的(B)。A.系统软件 B.应用软件 C.工具软件 D.防毒软件 二、填空题:请将正确的内容填入括号内。(共 20 分,每题 2 分)1.(13)10=(15)8。2.(35)10=(23)16。3.(15)10=(1111)2。4.计算机的存储容量 1KB=(102
5、4)Byte。5.计算机的存储容量 1MB=(1024)KB。6.计算机的存储容量 1GB=(1024)MB。7.存储一个汉字需要磁盘空间(2)字节。8.存储一个 1616 点阵的汉字字模需要磁盘空间(32)字节。9.计算机系统包括(硬件)系统和(软件)系统两大部分。10.计算机主存储器包括(只读存储器(或 ROM)和(随机存取存储器(或 RAM)两类。三、判断题(正确的画,错误的画)(共 40 分,每题 2 分)1.计算机中所有带符号数都是以补码形式表示的。()2.汇编语言和机器语言都是面向机器的语言,编制的程序都可以为机器直接识别和执行。()3.补码加减运算时,符号位与数值一样参加运算。(
6、)4.标准的ASCII码是用7位二进制数对字符进行编码的,最高位用来表示奇偶校验位。()5.计算机的硬件系统由运算器、控制器、存储器、输入设备和输出设备等组成。()6.计算机的内存储器分为随机存储器(RAM)和只读存储器(ROM)两部分。()7.对计算机进行管理和维护的软件应属于应用软件。()8.用户自行编制的软件可称之为系统软件。()9.程序设计语言分为机器语言、汇编语言和高级语言三大类。()10.现在用户大多使用汇编语言开发自己的程序。()11.用机器语言编写的计算机程序,使用的是八进制数。()12.十进制数的 11,在十六进制中仍可写成 11。()13.十进制数的 8,写成二进制应该是
7、1000。()14.常用微机系统中的字符编码是 ASCII 码。()15.一个微机有 640KB 内存,指的是内存容量为 640K 个字节。()16.微机的一个字节应有八个二进制数,而每一个数称为一个字位。()17.微机的中央处理器也叫用微处理器。()18.微型计算机由主机和外部设备两大部分组成。()19.微机的主机内包括微处理器和内存储器。()20.内存储器的 ROM 是读写存储器,而 RAM 是只读存储器,用户不能写入信息。()第二章 8088 微处理器及其寻址方式 一、单项选择题(共 45 分,每题 3 分)1.MOV AX,ES:1000H 源操作数的寻址方式是(B)A.立即寻址 B.
8、直接寻址 C.变址寻址 D.基址寻址 2.MOV AX,ES:COUNTDI 源操作数的寻址方式是(C)A.基址寻址 B.立即寻址 C.变址寻址 D.基址变址寻址 3.MOV DX,COUNTBPDI的源操作数的寻址方式是(D)A.变址寻址 B.基址寻址 C.直接寻址 D.基址变址寻址 4.指令 MOV BX,MASKBP,若 MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为(B)A.17500H B.16500H C.14500H D.13500H 5.指令 MOV AX,COUNTBX,若 COUNT=0400H,SS=1200H,DS=1000H
9、,BX=5000H,那么物理地址为(C)A.17400H B.17000H C.15400H D.14500H 6.指令 MOV DX,DELTABXSI,若 DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H,那么物理地址为(C)A.6F300H B.77800H C.59800H D.78700H 7.唯一代表存储空间中每个字节单元地址的是(D)A.段地址 B.偏移地址 C.有效地址 D.物理地址 8.在 8086 中,存储器是分段组织,每段最大长度是(C)A.16KB B.32KB C.64KB D.128KB 9.下列四组寄存器中,属于通用寄
10、存器的是(A)A.AX,BX,CX,DX B.SP,BP,IP C.SI,DI,FLAGS D.上属三者都是 10.下列寄存器中,程序不可见寄存器是(B)A.CS B.IP C.SP D.BP 11.下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是(C)A.AX,BX,CX,DX B.BP,SP,IP,CS C.BX,BP,SI,DI D.BH,BL,CH,CL 12.8086/8088 系统中,存储器是分段组织的,存储器物理地址计算式是(C)B A.段地址+偏移地址 B.段地址*10H+偏移地址 C.段地址*16H+偏移地址 D.段地址+10H*偏移地址 13.在标志寄存器中表示溢
11、出的标志(C)A.AF B.CF C.OF D.SF 14.指令指针寄存器是(A)(A)IP (B)SP (C)BP (D)BX 15.当执行指令 ADD AX,BX 后,若 AX 的内容为 2BA0H,设置的奇偶标志位 PF1,下面的叙述正确的是(D)(A)表示结果中含 1 的个数为偶数 (B)表示结果中含 1 的个数为奇数 (C)表示该数为偶数 (D)表示结果中低八位含 1 的个数为偶数 二、改错题(下列各小题均有错,请针对题意改正其错误或补充其不足;共 9 分,每题 3分)1.在寄存器间址方式中,指令指定的寄存器中存放的是操作数。改为:在寄存器间址方式中,指令指定的寄存器中存放的是操作数
12、地址。2.程序计数器的内容即现行指令代码。改为:程序计数器的内容即现行指令地址。3.若总线地址位,则直接访存空间最大为 1。改为:若总线地址位,则直接访存空间最大为 64K。三、指出下列指令所用到的寻址方式。(共 21 分,每题 3 分)指令 目的操作数寻址方式 源操作数寻址方式 MOV AX,1000H 寄存器寻址 立即寻址 MOV AX,DS:1000H 寄存器寻址 直接寻址 MOV BX,AL 寄存器间接寻址 寄存器寻址 MOV 5BXSI,AX 基址变址寻址 寄存器寻址 MOV BP,BX 基址寻址 寄存器寻址 MOV AX,-10DI 寄存器寻址 变址寻址 MOV AX,SI 寄存器
13、寻址 寄存器间接寻址 四、判断题(正确的画,错误的画)(共 25 分,每题 5 分)1.DS 中的内容就是数据段的段地址。()2.8086 中内存的地址使用十六进制数编制的。()3.寄存器 SP 和 BP 都可以用来访问堆栈内容。()4.溢出标志可以用来判断运算的结果是否产生溢出。()5.8086CPU 中所有的寄存器都既可作 16 位寄存器又可作 8 位寄存器使用。()第三章 汇编程序的运行方式 一、单项选择题(共 40 分,每题 8 分)1.在汇编语言程序中,对 END 语句的叙述正确的是(C)。A.END 语句是一可执行语句 B.END 语句表示程序执行到此结束 C.END 语句表示源程
14、序到此结束 D.END 语句在汇编后要产生机器码 2.把若干个模块连接起来成为可执行文件的系统程序是(B)A.汇编程序 B.连接程序 C.机器语言程序 D.源代码程序 3.计算机能直接识别并执行的语言是(B)A.汇编语言 B.机器语言 C.高级语言 D.低级语言 4.将高级语言的程序翻译成机器码程序的实用程序是(A)A.编译程序 B.汇编程序 C.解释程序 D.目标程序 5.将汇编语言的程序翻译成机器码程序的实用程序是(B)A.编译程序 B.汇编程序 C.解释程序 D.目标程序 二、汇编语言源程序的上机操作过程?(10 分)答:汇编语言源程序的上机操作过程:1.编辑源程序;2.用 masm 程
15、序汇编源程序;3.用 link 程序连接目标程序;4.用 debug 调试程序。三、判断题(正确的画,错误的画)(共 40 分,每题 8 分)1.DEBUG 中 R 命令的功能是将数值填入指定范围。()2.调试程序 DEBUG 中的 T、P 命令的功能没有区别。()3.DEBUG 只能调试程序,不能编写程序。()4.结束 DEBUG 返回 DOS 的命令为 Q。()5.DEBUG 中所使用的数默认为十进制数,对十六进制数需要加 H。()第四章 汇编程序的书写格式 一、单项选择题(共 60 分,每题 4 分)1.源程序结束语句为(C)A.ENDP B.ENDS C.END MAIN D.END
16、2.SKY:MOV AL,20H 中操作数为(D)A.MOV B.SKY C.AL 或 20H D.AL 和 20H 3.下列为不合法的标志符的是(B)A.AXYZ B.5SKY C.ATT D.?ABC 4.下列地址表达式正确的是(C)A.BX-SI B.BP-DI C.BX+2 D.BP+BX 5.NEAR 标号的类型值为(B)A.2 B.-1 C.4 D.-2 6.组合类型中本段与其它段无逻辑关系,每段均有自己的基址的组合类型是(A)A.NONE B.PUBLIC C.COMMON D.STACK 7.下面哪一个命令是显示内存单元的内容?(A)A.命令 B.命令 C.命令 D.命令 8.
17、能被计算机直接识别和执行的指令是(B)A.符号指令 B.机器指令 C.伪指令 D.宏指令 9.取变量偏移属性的分析运算符是(A)A.OFFSET B.TYPE C.SIZE D.SEG 10.分析运算符 LENGTH 只有用(C)定义的变量才有意义。A.表达式 B.字符串 C.DUP D.疑问号 11.在段定义中,(B)是默认的定位类型 A.PAGE B.PARA C.WORD D.BYTE 12.汇编语言指令中唯一不可缺少的域是(B)A.标号名字域 B.助记符域 C.操作数域 D.注释域 13.定义缓冲区 BUF,保留 100 个字节存储空间的语句是(D)。A.BUF DB 100 B.BU
18、F DW 100 C.BUF DW 100 DUP(?)D.BUF DB 100 DUP(?)14.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(B)。A.名字项 B.操作项 C.操作数项 D.注释项 15.使计算机执行某种操作的命令是(B)A.伪指令 B.指令 C.标号 D.助记符 二、判断题(正确的画,错误的画)(共 40 分,每题 5 分)1.指令 MOV AL,2000H 是合法的。()2.指令 MOV CX,AL 是合法的。()3.指令 MOV IP,BX 是合法的。()4.串操作指令中用 DI 作为目的变址寄存器时使用段寄存器 ES。()5
19、.OFFSET 的优先级低于 AND。()6.语句 LENGTH=SIZE*TYPE 是合法的。()7.语句 SKY DD ABCD是合法的。()8.语句 QEW DB ASDF是合法的。()第五章 指令及分类 一、单项选择题(共 30 分,每题 5 分)1.MOV BUFBX,AX 该指令中目的操作数寻址方式是(C)。A.寄存器 B.寄存器间接 C.基址变址 D.寄存器相对 2.若 AX=1020H,BX=1200H,CF=1,则 SBB AX,BX 的执行结果为(C)A.0EF1FH B.0FEFFH C.0FE1FH D.0FE21H 3.若 AX=2000H,CL=90H,则 DIV
20、CL 执行后,AX=(A)A.8038H B.8039H C.9138H D.8138H 4.若 BL=83H,CF=1,则 ADC BL,90H 执行后,BL=(D)A.15H B.16H C.17H D.14H 5.若 DX=1010H,则 AND DX,DX 的执行结果为(C)A.0000H B.1111H C.1010H D.FFFFH 6.换码指令的助记符是(C)A.XCHG B.LEAS C.XLAT D.MOV 二、判断题(正确的画,错误的画)(共 70 分,每题 5 分)1.8086/8088 的指令都是多字节指令。()2.8086/8088 的指令最大长度是十个字节。()3.
21、CLC 是单字节指令。()4.8086/8088 的指令从功能上可以分成六组。()5.同一条汇编指令助记符汇编后的指令操作码都相同。()6.当一条汇编指令翻译成代码指令时,由操作码决定代码指令的格式。()7.NEG 属于减法指令。()8.TEST 属于逻辑运算指令。()9.MUL 指令和 IMUL 指令功能完全相同。()10.汇编语言中的字符串分为字节串和字串两种。()11.所有的字符串操作指令均可以使用重复前缀指令。()12.汇编语言中对无符号数和有符号数的判别指令是不同的。()13.一条指令可能有多个助记符。()14.LOOPE 和 LOOPZ 的功能完全相同。()第六章 数据传送指令 一
22、、程序分析题(阅读程序段后给出其运行结果)(15 分)设(SP)=80H,(BX)=0FFH;(AX)=1 PUSH BX ADD BX,AX XOR BX,AX PUSH BX POP CX 上述程序段运行后,(SP)7EH,(CX)=0101H 二、单项选择题(共 35 分,每题 5 分)1.堆栈指针的内容是(B)A.栈顶单元内容 B.栈顶单元地址 C.栈底单元内容 D.栈底单元地址 2.VAR 是数据段中定义的变量,指令 MOV AX,VAR 源操作数的寻址方式是(B)A.立即寻址 B.直接寻址 C.相对寻址 D.寄存器寻址 3.已知(DS)=3000H,(SS)=2500H,(BX)=
23、0100H,(BP)=0040H,指令 MOV AX,DS:BP源操作数的物理地址是(B)。A.25040H B.30040H C.25100H D.55040H 4.下列传送指令中,有语法错误的指令是(A)。A.MOV CS,AX B.MOV DS,AX C.MOV ES,AX D.MOV SS,AX 5.与 MOV BX,OFFSET VAR 指令完全等效的指令是(D)。A.MOV BX,VAR B.LDS BX,VAR C.LES BX,VAR D.LEA BX,VAR 6.MOV SP,3210H PUSH AX 执行上述指令序理后,SP 寄存器的值是(B)。A.3211H B.320
24、EH C.320FH D.3212H 7.执行指令 PUCH CX 后堆栈指针 SP 自动(C)A.+1 B.不操作 C.-2 D.-1 三、简答题(30 分)已知数据段定义如下:DATA SEGMENT VA DB 10H VB DW 3*20 MSG DB HELLO!COUNT EQU 15 BUF DW COUNT DUP(5,3 DUP(1,2),0)DATA ENDS 问题:(1)执行 MOV BX,0FFSET VA 后,(BX)=(2)执行 MOV CX,TYPE BUF 后,(CX)=(3)用一条指令将字母O取到 AL 中.(4)经汇编后,BUF 占有的存储空间是字节 答:(
25、1)0 (2)2 (3)MOV AL,MSG+4 (4)240 四、执行下列指令语句,把执行结果填在空格中(20 分)已知(SS)=3000H(SP)=200H(AX)=785AH(BX)=1234H,先执行 PUSH AX,再执行 PUSH BX,此时 (SS)=()(SP)=()数 12H 存放的物理地址是()答:(SS)=(3000H)(SP)=(1FCH)数 12H 存放的物理地址是(1FDH)第七章 算术运算程序 一、单项选择题(共 24 分,每题 2 分)1.十进制数运算调整指令 AAS 可以紧跟在(A)之后:A.SBB B.DEC C.CMP D.NEG 2.除法调整指令 AAD
26、 是对(C)调整:A.AX 中组合的十进制被除数 B.AL 中组合的十进制的商数 C.AX 中未组合的十进制被除数 D.AL 中未组合的十进制的商数 3.在多字节加减运算时,特别要注意标志(B)对运算的影响:A.AF B.CF C.SF D.OF 4.设(DS)=8260H(DI)=3500H,指令 DEC WORD PTRDI操作数的物理地址是(B)A.11760H B.85B00H C.86100H D.以上都不时 5.指令 ADD ES:DI,AX 和存放在(B)A.寄存器 B.附加段 C.堆栈段 D.代码段 6.设 VAR 是数据段中定义的字节变量,指令 MUL VAR 乘积存放在(A
27、)A.AX B.BX C.CX D.DX 7.设(DH)=20H,执行 NEG DH 指令后,正确的结果是(C)A.(DH)=20H CF=1 B.(DH)=20H CF=0 C.(DH)=0E0H CF=0 D.(DH)=0E0H CF=1 8.设 DS=8225H,DI=3942H,指令 NEG BYTE PTR DI操作数的物理地址是(A)A.85B92H B.86192H C.BB690H D.12169H 9.执行 INC 指令除对于 SF.ZF 有影响外,还要影响的标志位是(A)A.OF,AF,PF B.OF,AF,CF C.OF,PF,CF D.AF,PF,CF 10.设 DH=
28、10H,执行 NEG DH 指令后,正确的结果是(D)A.DH=10H CF=1 B.DH=10H CF=0 C.DH=10H CF=0 D.DH=0F0H 11.执行除法指令后,影响的标志位是(D)A.CF,OF B.SF,ZF C.CF,OF,SF D.AF,CF,OF,PF,SF,ZF 都不确定 12.执行下面指令序列后,结果是(A)MOV AL,82H CBW A.AX=0FF82H B.AX=8082H C.AX=0082H D.AX=0F82H 二、判断题(正确的画,错误的画)(共 6 分,每题 2 分)1.指令 AAA 必须紧跟在加法指令之后使用。()2.INC 指令之后可以使用
29、加法调整指令。()3.AAD 指令放在除法指令之后。()三、程序分析题(10 分)MOV AX,0 MOV BX,1 MOV CX,5 LOP:ADD AX,BX ADD BX,2 LOOP LOP 问题:(1)程序的功能是什么(可用算式表示)?(2)运行后,(AX)=?答:(1)1+3+5+7+9 (2)25 四、按要求编程(共 40 分,每题 10 分)1.设 X.Y.Z.W 为十六位有符号数编程计算:W(X+Y*Z)/8)-Y 除法余数丢弃 若 ZF=1,程序转 EQ;否则转 NOT_EQ。参考答案:MOV AX,Y IMUL Z MOV BX,DX MOV CX,AX MOV AX,X
30、 CBW ADD AX,CX ADC DX,BX MOV CX,8 IDIV CX SUB AX,Y MOV W,AX JZ EQ NOT_EQ:2.编写一程序段,计算 x2+y-5 多项式的值。说明:多项式存于 AX 中,x.y 是无符号数。数据说明:x DB 0CH y DB 06H 参考答案:MOV AL,x MUL x ADD AL,y ADC AH,0 SUB AX,5 3.设 X,Y,Z,W 存放 16 位带符号数,编程计算 X*Y-Z 的值并送到 W 要求:写出有关指令语句。参考答案:MOV AX,X IMUL Y SUB AX,Z SBB DX,0 MOV W,AX 五、执行下
31、列指令语句,把执行结果填在空格中(共 20 分,每题 10 分)1.已知(AL)=0FFH,(BL)=10H。执行 MUL BL 则 (AH)=()(AL)=()答:(AH)=(0FH)(AL)=(0F0H)2.执行下列指令语句,把执行结果填在空格中。已知(DS)=5000H,(BX)=0100H,(DI)=0002H,(50100H)=45H,(50101H)=68H,(50102H)=0A1H,(50103H)=14H 先执行 MOV AX,100H(AX)=();再执行 ADD AX,BX+DI(AX)=(),CF=(),OF=()答:(AX)=(6845H)(AX)=(7CE6H),C
32、F=(0),OF=(0)第八章 逻辑运算 一、单项选择题(共 30 分,每题 5 分)1.下列指令执行后,不影响标志位的指令是(A)A.PUSH AX B.ADD DX,CX C.XOR AX,AX D.CMP AX,5 2.下列指令执行后,一定能使 CF=0 的指令是(B)A.NOT AX B.OR AX,AX C.SUB BX,SI D.ROL AX,1 3.对寄存器 AX 中的值除以 2 正确的指令序列是(C)A.MOV AX,-51 SHR AX,1 B.MOV AX,-51 ROR AX,1 C.MOV AX,-51 SAR AX,1 D.以上都不是 4.下列指令执行后,ZF=1 的
33、指令是(A)。A.MOV AX,0 B.OR AX,0 C.XOR AX,AX D.CMP AX,0 5.对寄存器 AX 的内容乘以 4 的正确指令序列是(B)。A.SHR AX,1 SHR AX,1 B.SHL AX,1 SHL,AX,1 C.ROL AX,1 ROL AX,1 D.RCR AX,1 RCR AX,1 6.下面指令执行后,改变 AL 寄存器内容的指令是(D)。A.TEST AL,02H B.OR AL,AL C.CMP AL,BL D.AND AL,BL 二、程序分析题(共 40 分,每题 10 分)1.已知(AX)=3200H,(DX)=0A000H,执行下列程序段:NOT
34、 AX NOT DX ADD AX,1 ADC DX,0 问题:(1)程序执行后,(AX)=()(DX)=()(2)程序功能是什么?答:(1)(AX)=(0CE00H)(DX)=(5FFFH)(2)双字长数 DX,AX 求补 2.设(DX)1234H MOV CL,8 ROR DX,CL AND DX,0FFH CMP DX,12H 上述程序段运行后,(Dx)(),ZF()答:(DX)(12H),ZF(1)3.已知(AX)=0FF60H,CF=1 MOV DX,96 XOR DH,0FFH SBB AX,DX 执行上述指令序列后(AX)=(),CF=()答:(AX)=965FH,CF=(0)4
35、.有下列程序段 MOV AX,10 ADD AX,AX MOV BX,AX MOV CL,2 SHL AX,CL ADD AX,BX 上述程序段执行后(AX)=(),(BX)=()答:(AX)=00A0H,(BX)=(0020H)三、程序填空(共 10 分,每题 5 分)1.下列程序段将 AX 中值乘以 9,请将程序填写完整 (1)_ MOV CL,3 (2)_ POP BX ADD AX,BX 答:(1)PUSH AX (2)SHL AX,CL 2.下列程序段求数组 ARRAY 的累加和。请将程序填写完整。ARY DW 45H,68H,0ABC1H,9600H;共 10 项 COUNT DW
36、 10 (1)_ MOV CX,COUNT XOR AX,AX AGAIN:ADD AX,SI ADD SI,2 (2)_ 答:(1)LEA SI,AKY (2)LOOP AGAIN 四、按要求编程(10 分)测试 AL 寄存器的 D5 和 D0 位,若同时为 0,程序转向 ZERO,执行 AX 减去 BX;否则将 AL 清 0,同时清 CF 和 OF 标志。写出程序段。解:TEST AL,00100001B JZ ZERO SUB AX,AX JMP STOP ZERO:SUB AX,BX STOP:五、执行下列指令语句,把执行结果填在空格中(10 分)已知(DS)=2500H(SI)=00
37、A0H(250A0H)=01H(250A1H)=96H 执行 ROL WORD PTRSI,1 则 (250A0H)=(),(250A1H)=(),CF=()答:(250A0H)=(03H)(250A1H)=(2CH)CF=(1)第九章 分支程序 一、单项选择题(共 20 分,每题 5 分)1.段内直接转移指令采用的寻址方式是(B)A.直接寻址 B.相对寻址 C.绝对寻址 D.间接寻址 2.下列指令中不等价的是(C)A.JA 和 JNBE B.JG 和 JNLE C.JL 和 JNG D.JBE 和 JNA 3.下列指令中等价的是(C)A.JC 和 JO B.JNC 和 JNO C.JP 和
38、JPE D.JA 和 JG 4.条件转移指令的转移范围(A)A.-128-+127 B.-32768-+32767 C.0-+255 D.0-+65535 二、判断题(正确的画,错误的画)(共 15 分,每题 5 分)1.无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。()2.间接转移指令都可以通过寄存器来寻址。()3.段间间接转移指令中,低地址的字送 IP,高地址的字送 CS。()三、程序分析题(共 10 分,每题 5 分)1.执行下列程序:MOV AX,9B47H MOV BX,0B568H ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JN
39、O L4 JMP SHORT L5 问:(1)程序执行后,(AX)=?(2)程序转向哪个标号?答:(1)9B47H (2)L5 2.执行下列程序:MOV AX,0C100H MOV BX,8FC0H SUB AX,BX JNC L1 JNO L2 JMP SHORT L3 程序执行后,(AX)=(),程序转向_ 答:(AX)=(3140H),L1 四、程序填空(共 10 分,每题 5 分)1.设 AX,BX。CX 中的数是数带符号,下列程序求 AX.BX.CX 中的最小值,结果在 AX中.请将程序填写完整。CMP AX,BX (1)_ XCHG AX,BX NEXT:CMP CX,AX (2)
40、_ XCHG AX,CX EXIT:答:(1)JLE NEXT (2)JGE EXIT 2.下列程序测试 DL 寄存器 D6 和 D2 位。若同时为 0,转 ZERO,置 AX 为 0,否则转NON_ZERO,置 AX 为 1。TEST DL,(1)_ JZ ZERO NO ZERO:MOV AX,1 (2)_ ZERO:MOV AX,0 EXIT:答:(1)01000100B (2)JMP NEXT 五、用分支结构完成下列程序:(20 分)在给定个数的数中寻找最大值,放至指定的存储单元。参考程序:DATA SEGMENT BUFFER DB 2,4,3,6,1,5 COUNT DW 6 MA
41、X DB?DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,COUNT LEA BX,BUFFER MOV AX,BX INC BX DEC CX AGAIN:CMP AX,BX JGE NEXT MOV AX,BX INC BX NEXT:INC BX LOOP AGAIN CODE ENDS END START 六、编程序:(25 分)已知 ARRAY DW 1200,-69H,798AH,432BH;共 10 项 编程统计正数项个数存入 PLUS 单元中。要求:程序完整,可上机
42、调试 参考程序:DATA SEGMENT ARRAY DW 1200,-69H,798AH,432BH PLUS DB?DATA SEGMENT CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN:MOV AX,DATA MOV DS,AX MOV CX,10 MOV DL,0 LEA SI,ARRAY NEXT:CMP SI,0 JL P1 INC DL ADD SI,2 LOOP NEXT JMP EXIT P1:ADD SI,2 LOOP NEXT EXIT:MOV PLUS,DL MOV AH,4CH INT 21H CODE ENDS END BEGI
43、N 第十章 字符串操作 一、单项选择题(共 30 分,每题 6 分)1.在 MOVB 指令中,其目的串的物理地址为(D)A.DS*2*2*2*2+SI B.DS*2*2*2*2+DI C.ES*2*2*2*2+SI D.ES*2*2*2*2+DI 2.在串指令 REP MOVSB 中,重复次数一定放在(C)寄存器中。A.AX B.BX C.CX D.DX 3.下面指令中,合理而有意义的指令是(D)A.REP LODSB B.REP SCASB C.REP CMPSB D.REP MOVSB 4.串操作指令中,目标串操作数的段地址一定在(D)寄存器中。A.CS B.SS C.DS D.ES 5.
44、在程序状态字寄存器中,当方向标志 DF 位为 0 时,每次操作后使变址寄存器 SI 和 DI(B)A.减量 B.增量 C.保持不变 D.地址减 1 二、判断题(正确的画,错误的画)(共 10 分,每题 5 分)1.所有串操作指令的目标串的段地址均取自于段寄存器 DS。()2.串操作指令一般用 CX 存放长度。()三、程序填空题(10 分)现有下列数据段:DATA SEGMENT S1 DB ABCDEFGHIJKL COUNT EQU$-S1 BUF DB COUNT DUP(0)DATA ENDS 下面程序段是实现把 S1 中所有字符逆向传送到 BUF 缓冲区(即 S1 中第一个字符送到BU
45、F 的最后一个单元,S1 中最后一个字符送到 BUF 的第一个单元)。试把程序中所空缺的2 条指令填上。MOV SI,OFFSET BUF-1 MOV DI,OFFSET BUF MOV CX,COUNT (1)_ L1:MOVSB (2)_ LOOP L1 参考答案:(1)CLD (2)SUB SI,2 或 (1)STD (2)ADD DI,2 四、编程序题(共 50 分,第 1 题 20 分,第 2 题 30 分)1.定义一个数据区,它包含有 23H,24H,25H 和 26H 四个字符数据,把这个数据区复制 20次,并显示出复制结果。(要求用字符串指令)参考答案:DATA SEGMENT
46、 PATTERN DB 23H,24H,25H,26H DISPLAY DB 80 DUP(),$DATE ENDS CODE SEGMENT CLD LEA SI,PATTERN LEA DI,DISPLAY MOV CX,80 REP MOVSB MOV AH,09H LEA DX,DISPLAY INT 21H RET CODE ENDS 2.内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90100,6089,60 以下者各有多少人?并把结果连续存放到自 RESUT 开始的单元中,(要求用字符串指令,各段定义完整)参考答案:DATA SEGMENT BUF
47、DB 40H,64H,51H RESUT DB 3 DUP(0)DATA ENDS STACK SEGMENT STACK DB 100 DUP(0)STACK ENDS CODE SEGMENT ASSUME DSDATA,ESDATA,SSSTACK,CSCODE START PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX MOV、AX,STACK MOV SS,AX LEA SI,BUF MOV CX,100 CLD AO:LODSB CMP AL,5AH JL L60 INC RESUT JMP COM
48、 L60:CMP AL,3CH JGE K8960 INC RESUT+1 JMP COM K8960:INC RESUT+2 COM:LOOP AO RET START ENDP CODE ENDS END START 第十一章 循环程序 一、单项选择题(共 10 分,每题 5 分)1.循环指令 LOOP AGAIN 终止循环的条件是(C)A.(AX)=0 B.(BX)=0 C.(CX)=0 D.(DX)=0 2.循环指令 LOOP NZ 终止循环的条件是(B)。A.CX=0,且 ZF=0 B.CX=0,或 ZF=1 C.CX0,且 ZF=0 D.CX0,或 ZF=1 二、程序分析题(10
49、分)DATA SEGMENT S9 DB 0,1,2,3,4,5,6,7,8,9 DATA ENDS LEA SI,S9 LEA,DI,S9+1 MOV CX,5 LOP:MOV AL,SI XCHG AL,DI MOV SI,AL ADD SI,2 ADD DI,2 LOOP LOP 上述程序段运行后,S9 开始的 10 个字节存储单元内容是什么?答:S9 DB 1,0,3,2,5,4,7,6,9,8 三、用循环结构完成下列程序:(15 分)向存储器的十个连续单元写入 1,2,3,4,5,6,7,8,9,10 个数字。参考答案:DATA SEGMANT BUFFER DB 10 DUP(?)
50、VAR1 DB 1,2,3,4,5,6,7,8,9,10 COUNT DB 10 DATA ENDS CODE SEGMANT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DI,BUFFER LEA SI,VAR1 MOV CH,0 MOV CL,COUNT AGAIN:MOV AL,DI MOV SI,AL INC DI INC SI LOOP AGAIN CODE ENDS END START 四、编写一程序段统计数组 ARY 中负数的个数,并存入单元中。(15 分)参考答案:DATA SEGMENT ARY DB 一 1,