汇编语言程序设计期末复习题及答案
汇编语言程序设计题目以及答案

一、单项选择题(每小题1分,共20分)1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A)A、85B92HB、86192HC、BB690HD、12169H2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS3、循环指令LOOPNZ终止循环的条件是(B)。
A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX10,且ZF=0D、CX10,或ZF=14、对寄存器AX的内容乘以4的正确指令序列是(B)。
A、SHR AX,1 /SHR AX,1B、SHL AX,1/ SHL,AX,1C、ROL AX,1 /ROL AX,1D、RCR AX,1/ RCR AX,15、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(A)。
A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF6、设DH=10H,执行NEG DH指令后,正确的结果是(D)。
A、DH=10H CF=1B、DH=0F0H CF=0C、DH=10H CF=0D、DH=0F0H CF=17、下列传送指令中有语法错误的是(A)。
A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX8、下面指令执行后,改变AL寄存器内容的指令是(D)。
A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL9、执行除法指令后,影响的标志位是(D)。
A、CF,OFB、SF,ZFC、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不确定10、执行下面指令序列后,结果是(A)。
MOV AL,82H / CBWA、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H11、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
《汇编语言程序设计》期末考试-试卷及答案

《汇编语言程序设计》期末考试-试卷及答案一、 选择题(每题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))。
汇编语言程序的设计试卷与答案

汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。
① 无符号十进制数136② 带符号十进制数-120③ 压缩型BCD码十进制数88④ 8位二进制数-8的补码表示2.指令指针寄存器是()。
① IP② SP③ BP④ PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。
① 表示结果中含1的个数为偶数② 表示结果中含1的个数为奇数③ 表示该数为偶数④ 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。
① MOV AL,00H② AND AL,00H③ XOR AL,AL④ SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。
① AND② NEG③ NOT④ INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。
① MOV AX,BX② MOV BX,AX③ PUSH AXPOP BX④ MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
① AH=01,AL=05② AH=1 AL=15③ AH=0 AL=0FH④ AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为① OF=1,CF=0② OF=1,CF=1③ OF=0,CF=0④ OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
① CX=0且ZF=0② CX=0且ZF=1③ CX=0或ZF=0④ CX=0或ZF=110.下面指令中,合理而有意义的指令是()。
最新《汇编语言程序设计》期末复习题-文库.资料

一、填空题1.一个十进制数 35.625其对应的二进制数为 100011.101B 、十六进制数为23H2.将 8存放在一个字单元中 , 则该单元中二进制代码是 0008H3.计算机软件分为两个部分即系统软件和应用软件而汇编程序属于系统软件 , 汇编语言应用程序属于应用软件4.把汇编语言源程序翻译成计算机能够识别、执行的目标程序的软件称为汇编程序5.8086/8088 CPU内部一般用来存放数据的寄存器有 AX BX CX DX6.8086/8088 CPU内部用来存放段地址寄存器的有 CS DS SS ES7.逻辑地址由段地址与偏移地址组成8.一个语句的名字项可以是标号或变量 , 在程序中它们两个在书写形式上的主要区别是标号以冒号结尾而变量不以冒号结尾9. 在 PSW 中 , 用以记录当前运算结果特征信息的那些位称为状态标志位 , 一般是由 CPU自动设置。
10.存储器单元与物理地址的关系是一一对应 ,在一个逻辑段内 , 每个单元对应的段地址是相同的 ,而偏移地址是不同的11.在 I/O接口中 , 为每个可访问的寄存器分配的地址是端口地址12.用以指示当前堆栈栈顶的指针寄存器是 SP13.机器指令是一组规定计算机的操作类型及相关操作数的二进制代码14. 假设执行指令前 BX=5678H, CL=8,指令 ROL BX, CL 执行后 BX 的内容是7856H15.一条指令的基本结构一般由操作码字段和操作数字段两个部分组成。
16.8086/8088 存储器地址分段时,每个段起始地址的特征是二进制表示的地址中低四位都为 017.所谓“寻址方式”是指在指令中用以说明操作数所在地址或位置的方法18.在指令中直接给出操作数的寻址方式称为立即数寻址19.无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记符,例如, JL 指令另一个指令助记符是 JNGE20.8086/8088指令系统中 , 用以描述 (说明寄存器操作数的寻址方式是寄存器寻址方式21.设 MASK 为一个变量 , 在“ MOV AX,MASK[SI+BX]”指令中 , 源操作数的寻址方式是基址变址寻址方式22.CPU执行“ JMP BX”指令只改变 2P 内容 ,而不改变 CS 内容。
计算机组成原理与汇编语言程序设计期末试题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.在关中断状态,不可响应的中断是()。
汇编语言程序设计复习题答案

《汇编语言程序设计》复习题一、填空题1、8086CPU内部结构按功能分为两部分,即 BU(执行部件)和 BIU(总线接口部件)。
2、CPU中的总线接口部件BIU,根据执行部件EU的要求,完成CPU与主存储器或I/0端口之间的数据传送。
3、8086中的BIU由四个 16 位段寄存器、一个 16 位指令指针、 6 字节指令队列、 20 位地址加法器和总线控制电路组成。
4、8086/8088的执行部件EU由 8 个通用寄存器、 1 个专用寄存器、一个标志寄存器和 ALU 等构成。
5、根据功能不同,8086的标志位可分为状态标志和控制标志。
6、8086/8088构成的微机中,每个主存单元对应两种地址:段基值和偏移量。
7、8086CPU具有 20 根地址线,直接寻址能力可达 1M 。
8、逻辑地址由段基值和偏移量组成,其中的段基值是由段寄存器存储。
9、计算机的指令由操作码和地址码两部分组成。
10. 零地址指令是不带地址码的机器指令,其操作数是由隐含指定提供的。
11. 8088CPU中共有 14 个寄存器,这些寄存器为 16 位。
12. F标志寄存器共有9个标志位,除OF、SF、AF和CF外,还有 DF 、 IF 、 TF 、▁ ZF 和 PF ,其中用于记录是否产生进位的标志位是 CF 。
13. 标号和变量所具有的三种属性分别为段属性、偏移量属性和类型属性。
14. 操作数有三种类型,分别为常数操作数、寄存器操作数和存储器操作数。
15. 一个源程序中可以包含代码段、数据段堆栈段及附加段。
其中代码段是源程序中必不可少的,其它的段可有可无。
16. SEGMENT/ENDS称为段定义伪指令;ASSUME称为段寻址伪指令;NAME/END称为模块定义伪指令;源程序结束伪指令为 END ;过程定义伪指令为 PROC/ENDP 。
数据定义伪指令为 DB 、 DW 、DD 。
17. 一般DOS系统功能调用的步骤为:(1) 送入口参数到指定寄存器;(2)送功能号至AH ;(3)软中断指令INT 。
汇编语言期末考试试题及答案

汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) ﻫ1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址ﻫC.段间转移直接寻址ﻫD.段间转移间接寻址ﻫ[解析]略ﻫ 2.下列叙述正确的是参考答案为:CﻫA.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令[解析]对于无符号数和有符号数的比较都采用CMP指令;ﻫCMPS指令是串比较指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG.ﻫ3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBH ﻫB.12B6BHC.12C59HD.12BFEH ﻫ[解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为: ﻫ首字单元的物理地址+(128-1)×2ﻫ即 12ABH×10H+00ABH+(128-1)×2=12C59H.4.在下列指令的表示中,不正确的是参考答案为:CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CLﻫ[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如ﻫDEC BYTE PTR [BX]或 DEC WORD PTR [BX]ﻫ但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。
2022年汇编语言程序设计期末考试题

2022年汇编语言程序设计期末考试题一、单项选择题(本大题共10小题,每小题3分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.CPU要访问的某一存储单元的实际地址称(C)A.段地址B.偏移地址C.物理地址D.逻辑地址2.某存储单元的物理地址是12345H,可以作为它的段地址有(D)A.2345HB.12345HC.12340HD.1234H3.执行后使B某=0的同时也使CF=0,OF=0的指令是(A)A.某ORB某,B某B.ORB某,B某C.ANDB某,B某D.CMPB某,B某4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是(B)A.C某≠0且ZF=1B.C某≠0且ZF=0C.C某≠0或ZF=1D.C某≠0或ZF=05.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是(C)A.DAA校正指令的功能已自动加在AH中B.进位值在AF中,校正后根据AF内容再加在AH中C.进位值在CF中,校正后根据CF内容再加在AH中D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中6.AND,OR,某OR,NOT为四条逻辑运算指令,下面的解释正确的是(C)A.指令某ORA某,A某执行后,A某内容不变,但设置了标志位B.指令ORD某,1000H执行后,将D某最高位置1,其余各位置0C.指令ANDA某,OFH执行后,分离出AL低四位D.NOTA某,执行后,将A某清07.在执行下列指令时,需要使用段寄存器DS的指令是(D)A.STOSWB.ADDAL,CLC.NEGB某D.INCDA[B某]8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是(B)A.ADDBH,01HB.ORBH,01HC.某ORBH,01HD.TESTBH,01H9.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(A)A.ZF=1B.ZF=0C.SF=1D.SF=010.下面各传送指令中,正确的是(C)12.要实现使BETA的值为56,应采用语句为(C)A.BETADB56B.BETADB56HC.BETAEQU56D.BETAEQU56H13.REPZCMPSW指令,重复执行的终止条件是(A)A.C某=0或ZF=0B.C某=0且ZF=0C.C某=0或ZF=1D.C某=0且ZF=1214.下面程序段执行后,AL中的内容是(B)MOVA某,8833HADDAL,AHDAAA.21B.21HC.0C1HD.0DDH15.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(A)A.ZF=1B.ZF=0C.SF=1D.SF=016.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMPAL,BL”指令后应跟的分支指令是(C)A.JNCLOP1B.JALOP1C.JCLOP1D.JGELOP117.在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D)A.STOSWB.LODSWC.SCASWD.CMPSW18.设AL=0AH,下列指令执行后能使AL=05H的是(C)A.NOTALB.ANDAL,0FHC.某ORAL,0FHD.ORAL,0FH19.DA1DWAB,CD,EF,GH(D)┇MOVA某,DA1+3指令执行后A某中的内容是A.EFB.CDC.BCD.FC20.使用DOS系统功能调用时,使用的软中断指令是(B)A.INT21B.INT10HC.NT16HD.INT21H3二、简答题(每题10分,共30分)1.简述循环程序常用的控制方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《汇编语言程序设计》期末复习题及答案一、选择(30题)1.下列是8位带符号二进制数的补码,其中最大的是( B )。
B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现( C )C、占内存空间大,但速度快3.数据定义为:EE DB 3,4CC DW 3456H,6789H执行指令“MOV CX,WORD PTR EE+1”后,(CX)= ( B )B、5604H4.有如下指令序列:MOV AL,95HMOV CL,2SAR AL,CL上述指令序列执行后,AL的内容是( D )D、0E5H5.设A=18610,B=2738,C=0BB16,把这三个数看成无符号数,则它们之间的关系是( D )D、A<B=C6.用一条指令实现寄存器BX和SI的内容相加,并将结果送入AX中,这条指令是( D )D、LEA AX,[BX][SI]7.要从端口1234H中读入8位数据,其指令应是( C )C、MOV DX,1234HIN AL,DX8.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是( B )B、CX≠0且ZF=09.8088/8086存储器分段,每个段不超过( D )D、64K个字节10.表示过程定义结束的伪指令是( A )A、ENDP11.用来存放下一条将要执行的指令代码段地址的段寄存器是( D )D、CS12.假定(SS)=1000H,(SP)=0100H,(AX)=5609H,执行指令PUSH AX后,存放数据56H的物理地址是( D )D、100FFH13.执行“SUB AX,[BP][DI]”指令,取源操作数时,使用的物理地址表达式是( A )A、16*SS+BP+DI14.设AX中有一带符号数8520H,执行“SAR AX,1”指令后,AX中的值是( C )C、0C290H15.设(BX)=1234H,(DS)=2000H,(21234H)=5678H,则指令“LEA SI,[BX]”执行后的结果是:( B )B、SI=1234H16.测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为( A ) A、JNE17.设DF=0,(SI)=20H,(CX)=10,执行“REP LODSW”指令后,SI中的内容是( C )C、34H18.在程序执行过程中,IP寄存器中始终保存的是( B )B、下一条指令的首地址19.设SP初值为2000H,执行指令“POP AX”后,SP的值是( A )A、2002H20.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( A )A、1400H21.汇编源程序时,出现语法错误的语句是( A )A、MOV DS,1200H22.将数据1234H存放在存储单元中的伪指令是( C )C、DATA1 DB 34H,12H23.下面指令执行后,可能改变AL寄存器内容的指令是( D )D、AND AL,BL24.操作数地址存放在寄存器的寻址方式称为( B )B、寄存器间接寻址25.用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )B、汇编语言程序26.用DOS功能调用时,子功能调用的编号应放在( C )C、AH27.提供串指令中目的操作数地址的是( C )C、ES:[DI]28.在寄存器间接寻址方式下,能够提供有效地址的寄存器有( B )B、BX,BP,SI,DI29.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( A )A、2025∶0F2A30.中断向量表中的每个中断向量所占内存空间为:( B )B、4个字节二、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器 DS 中。
参见P402.与指令“NEG AX”功能等效的两条指令依次是 NOT AX 和 INC AX 。
参见P85、94、843.语句“VAR DB 3 DUP(3,3 DUP(3))”经过汇编后应分配 12 个字节单元。
参见P584.指令“MOV AX,SEG VAR”的执行,是把变量VAR的段地址送到AX中。
参见P625.设(DS)=1000H,(ES)=2000H,(SS)=3000H,(BP)=4000H。
计算下列各指令中源操作数的物理地址:MOV AX,[1000H] 物理地址 11000HMOV AX,ES:[BP] 物理地址 24000H参见P296.变量和标号均具有三种属性,即:段属性、偏移属性、类型属性。
参见P56、597.在做乘法运算时,如果是做字运算,乘积放在 DX 和 AX 两个寄存器中,做除法运算时,若做字节运算,余数放在 AH 中,商放在 AL 中。
参见P86、878.用以访问存储器操作的地址表达式中,只要出现BP寄存器,系统就默认以段寄存器 SS 的内容作为存储器操作数的段地址。
参见P40~449.在数据段或代码段的最开始,常用伪指令“ORG n”来定义本段的偏移地址初值,该初值的范围是 0000H~FFFFH 。
参见P66、2810.指令“CWD”能实现对某寄存器中内容进行扩展,该寄存器是: AX 。
参见P8911.8088/8086CPU能寻址的最大存储空间为1MB,因此CPU的地址总线是 20 条。
参见P2812.在应用串处理指令MOVSB时,源串首地址存放在寄存器 SI 中,目的串首地址存放在寄存器 DI 中,并且目的串必须在附加段中,执行串处理指令时,用方向标志位DF控制地址自动增减,数据串的长度存放在寄存器 CX 中。
参见P125、12613.程序状态字PSW中的ZF位,当结果为0时,ZF= 1 ,结果为1时,ZF= 0 。
参见P3314.十六进制数0D6H,当把它看作无符号数时,它表示的十进制正数为 214 ,当把它看作带符号数时,它表示的十进制负数为 -42 。
参见P22、2315.IBM PC机中用来存放段地址的段寄存器有四个: CS 、 DS 、 SS 、 ES 。
参见P31、32三、判断题(15题)1.SHL AL,2 (错)参见P95 2改为CL2.INC 2 (错)参见P84、83 不能用立即数3.ADD BX,1 (对)参见P834.MOV [SI][DI],BX (对)参见P445.SUB BX,CL (错)参见P84 BX与CL数据宽度不一致6.OUT 34H,AL (对)参见P1707.IN AL,0AH (对)参见P1698.MOV CX,[SP] (错)参见P42 SP不能做间址寄存器9.MUL AL (对)参见P86、8710.SUB BX,BP (对)参见P8411.MOV DS,SEG VARY (错)参见P62、46 SEG VARY 是立即数,而DS不能接受立即数12.MOV VARY[SI],ES:BL (错)参见P40 对寄存器不能使用段跨越前缀13.CMP BLOCK,[100H] (错)参见P85 不能对两个内存单元直接进行比较14.宏调用时实元和哑元的个数可以不一致。
(对)参见P16115.REP STOSB (对)参见P127四、写程序段(9题)1.计算8*9,并将乘积送SI。
(参见P87,例5.10,考查对乘法指令的掌握情况)mov al,8mov bl,9mul blmov si,ax2.计算35/6,商存于BL中,余数存于CL中。
(参见P88,例5.13,考查对乘法指令的掌握情况)mov ax,35mov bl,6div blmov cl,ah3.输入一个字母,然后输出它的后继字母(不考虑输入字母是Z的情况)。
(参见P102第6题及P186,考查对1号、2号功能调用的掌握)mov ah,01hinc almov dl,almov ah,02hint 21h4.从端口35H读入一个字节数据,将该数的第3位置1后(其余位不变),再写回端口35H。
(说明:最低位为第0位)(参见P178,第2道问答题,考查对I/O指令的掌握)in al,35hor al,08hout 35h,al5.定义数据段NUM,数据段中的数据按下列要求依次存储:(1)变量X,类型为字节,初值为17 ;(2)数组变量M,类型为字,所占空间为100H个单元;(3)变量MSG,存储字符串"LUCKY"。
(参见P79,问答题的第2小题及P181,考查对段定义伪操作的掌握)NUM segmentX db 17M dw 100h dup(?)MSG db ‘LUCKY’NUM ends6.寄存器BX中存放着一个带符号数,求出其绝对值,结果还放在BX中。
(参见P107,例6.3,考查对CMP、NEG指令的掌握)cmp bx,0jg L1neg bxL1:…7.对存放在(DX,AX)中的双字数据作求补运算。
(参见P83,例5.2及P85,例5.7,考查对双精度数的操作)not dxnot axadd ax,1adc dx,08.计算5!,结果存于寄存器SI中。
(参见P107,例6.4,考查对循环指令的掌握)mov cx,5mov al,1mov bl,1inc blloop L1mov si,ax9.定义一个名字为ADDXYZ的宏,实现W X+Y+Z。
(注:所有数据均为字类型)(参见P166,编程题第4题及P201,考查对宏定义的掌握)ADDXYZ MACRO X,Y,Z,Wmov ax,xadd ax,yadd ax,zmov w,axendm五、写程序(9题)1.从键盘输入一个字符串(长度不超过30),统计字符串中非数字的个数,并将统计的结果存入字单元COUNT中,用EXE格式实现。
(参见P152~P154,考查字符数组、比较指令、循环等)data segmentstr db 30,?,30 dup(?) count db 0data endscode segmentassume cs:code,ds:data main proc farstart:push dsmov ax,0push axmov ax,datamov ds,axlea dx,strmov ah,0ahint 21hmov cl,str+1 mov ch,0mov si,2L3:cmp str[si],30h jae L1inc countjmp L2L1:cmp str[si],39h jbe L2inc countL2:inc siloop L3retmain endpcode endsend start2.统计一个16位二进制数中1的个数,并将结果输出,用COM格式实现。
(参见P119,考查COM格式文件、移位指令、跳转指令)code segmentorg 100h assume cs:code main proc near start:mov bx,0a39hmov si,0mov cx,16next:shr bx,1jnc l1inc sil1:loop nextmov dx,siadd dx,30hcmp dl,3ahjb l2add dl,7l2:mov ah,02hint 21hmov ax,4c00hint 21hmain endpcode endsend start3.从键盘输入两个一位十进制数,求它们的和,并将结果以十进制形式输出。