串操作指令与重复前缀--习题
汇编语言复习题(带答案)

汇编语言复习题(带答案)汇编语言期末复习题第1章:基础知识1、在汇编语言程序的开发过程中使用宏功能的顺序是( C )。
DXA、宏定义,宏调用B、宏定义,宏展开C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。
DXA、名字项B、操作项C、操作数项D、注释项3、可屏蔽中断就是它的请求是否被CPU响应要受( IF )的控制。
DX4、使用LINK连接命令,执行后可生成文件的扩展名为( EXE )。
DX5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在堆栈段中,段地址在 SS 寄存器中。
TK6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号) 表示注释的开始。
TK7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送 AH 寄存器后执行INT 21H。
TK8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。
TK9、中断是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。
在此,称引起紧急事务的事件为中断源。
TK10、在字符串操作指令中,DS∶ SI 指向源串,ES∶ DI 指向目的串。
TK11、计算机系统通过接口与外围设备通信。
TK12、键盘I/O、显示I/O和打印I/O分别对应 16H 、 10H 和 17H 号中断。
TK13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。
每个字的第一个字节为显示字符的 ASCII码,第二个字节为显示字符的属性。
TK14、简述上机运行汇编语言程序的过程。
JD答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。
总汇编语言基础精彩试题

第一章基本知识一、单项选择题(共40分,每题2分)1.若十进制数为132.75,则其十六进制数为(B)A.21.3B.84.CC.4.6D.62.若[X补]=11111,则其十进制真值为(C)A.-31B.-15C.-1D.313.某定点整数64位,含1位符号位,补码表示,则其绝对值最大负数为(A)A.-263B.-264C.-(263-1)D.-(263-1)4.原码乘法是(D)A.用原码表示操作数,然后直接相乘B.被乘数用原码表示,乘数取绝对值,然后相乘C.乘数用原码表示,被乘数取绝对值,然后相乘D.先取操作数绝对值相乘,符号位单独处理5.在微机系统中分析并控制指令执行的部件是(C)A.寄存器B.数据寄存器C.CPUD.EU6.已知X=76,则[X]补=(B)A.76HB.4CHC.0B4HD.0CCH7.已知[X]补=80H, 则X=(D)A.80HB.0C.0FFHD.-80H8.已知[X]补=98H, 则[X]补/2=(A)A.0CCHB.4CHC.49HD.31H9.已知X=78,Y=-83则[X+Y]补=(C)A.0F5HB.0A1HC.0FBHD.65H10.在计算机的CPU中执行算术逻辑运算的部件是(A)A.ALUB.PCC.ALD.AR11.将125转换成二进制数的结果(A)A.7DHB.7CHC.7EHD.7BH12.将93H看成一个组合BCD码,其结果是(B)A.10010101B.10010011C.10000011D.1000000113.能被计算机直接识别的语言是(C)A.C语言B.汇编语言C.机器语言D.面向对象语言14.第四代计算机的逻辑电路采用的是(D)。
A.电子管B.晶体管C.中小规模集成电路D.大规模和超大规模集成电路15.可以写入数据的内存储器是(B)。
A.ROMB.RAMC.软盘D.大规模和超大规模集成电路16.掉电后存储信息消失的存储器是(B)。
A.ROMB.RAMC.软盘D.硬盘17.读写速度最慢的辅助存储器是(C)。
嵌入式习题课2(1)

例11.一个字存入堆栈时,堆栈指针SP 修正;从堆栈 中取出一个字时,SP 修正,SP 总是指向 。 例12.下面是对DOS功能调用方法的简单说明: (1)在AH寄存器中存入所要调用功能的 功能号 ; (2)根据所调用功能的规定设置 入口参数 ; (3)用 INT 21H 指令转入子程序入口。 (4)相应的子程序运行完后,可按规定取得 出口参数 。 例13.汇编语言汇编程序在汇编过程中执行的指令为 。 例15.汇编语言编程用的操作数有立即数、 操作数 和 操作数 。
例2:开发一个汇编程序应经历哪些步骤? 答:(1)利用文本文件编辑工具编辑源文件 (.ASM); (2)用汇编程序将源文件(.ASM)转换为目 标文件(.OBJ); (3)用链接程序将目标文件(.OBJ)转换为 可执行文件(.EXE); (4) 利用DEBUG软件调试与运行。
例3.循环程序有哪几部分组成?各自的作用是什么? 答:由三个部分组成。 (1)循环初始化部分,其作用:为开始循环准备必 要的条件,如循环次数、循环体需要的初始值等。 (2)循环体部分,其作用:完成具体操作或运算; 并为执行下一次循环而修改某些参数,如地址指 针、计数器等。 (3)循环控制部分,其作用:判断循环条件是否成 立,决定循环是继续还是结束。
(06925H)=12H,(06926H)=45H,(06927H)=78H,那么 字单元(06925H)= ,字单元(06926H)= 。
例5.语句DA2 DW „AB‟ 汇编后在DA2字节单元 中存放 ,在DA2+1字节单元中存放 。 例6.若DS=0F3EH,SI=2000H,COUNT=0A8H,指
11、无条件转移指令对标志位无影响,而条件转移 指令对标志位有影响。 ( ) 12、伪指令与指令的本质差别是,在汇编过程伪指 令不形成任何代码。( ) 13、段间间接转移指令中,低地址的字送IP,高地 址的字送CS。( )
数字电子技术:指令3

段间转移、直接寻址
JMP far ptr label ;IP←label的偏移地址 ;CS←label的段地址
将标号所在段的段地址作为新的CS值,标号在 该段内的偏移地址作为新的IP值;这样,程序跳 转到新的代码段执行
jmp far ptr otherseg ;远转移到代码段2的otherseg
重复前缀指令(repeat)
串操作指令执行一次,仅对数据串中的一个字节或 字量进行操作。但是串操作指令前,都可以加一个 重复前缀,实现串操作的重复执行。重复次数隐含 在CX寄存器中 重复前缀分2类,3条指令:
配合不影响标志的MOVS、STOS(和LODS)指令的
REP前缀 配合影响标志的CMPS和SCAS指令的REPZ和REPNZ前 缀
6
例4.39b:比较字符串 mov si,offset string1 mov di,offset string2 mov cx,count cld repz cmpsb ;重复比较两个字符 jnz unmat ;字符串不等,转移 mov al,0 ;字符串相等,设置00h jmp output ;转向output unmat: mov al,0ffh ;设置ffh output: mov result,al ;输出结果标记 解释
循环指令利用CX计数器自动减1,方便 实现计数循环的程序结构 label操作数采用相对寻址方式
例5.46:记录数据串string中空格个数
mov cx,count ;设置循环次数 mov si,offset string xor bx,bx ;bx清0,用于记录空格数 mov al,20h cmp al,es:[si] jnz next ;ZF=0,非空格,转移 inc bx ;ZF=1,是空格,个数加1 inc si loop again ;字符个数减1,不为0继续循环
汇编语言试题及参考答案

汇编语言试题及参答案一、填空题1.ZF标志位是标志结果是否为零的,若结果,ZF为(),否则ZF为()。
当ZF为1时,SF为()2.标号可以有两种类型属性。
它们是()和()3.8位无符号整数的表示范围为0--255,写成16进制形式为(),8位有符号整数的表示范围为-128--+127,写成16进制形式为()4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(),不得有名字的是(),可有可无名字的是()。
5.循环程序通常由()()()和循环结果外理四部分构成6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/()于+,-;XOR,OR()于AND,LT()于GT7. 宏指令定义必须由伪指令()开始,伪指令()结束,两者之间的语句称为()8.调用程序与子程序之间的参数传递方法有四种,即堆栈法()()()9.分别用一条语句实现下述指明的功能(1)栈顶内容弹出送字变量AYW()(2)双字变量AYD存放的地址指针送ES和SI()(3)变量AY2类型属性送AH()(4)不允许中断即关中断()(5)将字符串…HOW ARE YOU!‟存入变量AYB()(6)子程序返回调用程序()(7)地址表达式AYY[4]的偏移地址送字变量ADDR()(8)AX的内容加1,要求不影响CF()(9)BX的内容加1,要求影响所有标志位()(10)若操作结果为零转向短号GOON()二、单选题1.IBM PC微机中,有符号数是用()表示的1.原码2.补码3.反码4.BCD码2.把汇编源程序变成代码程序的过程是()1.编译2.汇编3.编辑4.链接三、己知:VAR1,VAR2的类型属性分别为字和字节,标号LPFAR的类型属性为FAR。
指出下列非法语句的错误原因1.POP CS()2.INC [BX] ( )3.MVL 8( )4.JLE LPFAR( )5.MOV DB,1800( )6.MOV[DI],VAR17.SUB AX,VAR2( )8.CMP SS AX( )四、简答题1.试述子程序的一般结构组成2.标号有哪三个属性?其含义是什么?3.试述CMP AX,BX和SUB AX,BX两条语句的异同点?五、阅读如下程序段,回答所提出的问题,假定X1,X2,...XN为无符号数。
《微型计算机系统原理及应用》课后答案_(第3版)清华大学出版社__杨素行

第一章 微型计算机基础题1-1 计算机发展至今,经历了哪几代?答:电子管计算机、晶体管计算机、集成电路计算机、超大规模集成电路计算机、非冯诺伊曼计算机和神经计算机。
题1-2 微机系统由哪几部分组成?微处理器、微机、微机系统的关系是什么? 答:1、微机系统分硬件和软件,硬件包括CPU、存储器、输入输出设备和输入输出接口,软件包括系统软件和应用软件。
2、微处理器是指微机的核心芯片CPU;微处理器、存储器和输入输出设备组成微机;微机、外部设备和计算机软件组成微机系统。
题1-3 微机的分类方法包括哪几种?各用在什么应用领域中?答:按微处理器的位数,可分为1位、4位、8位、32位和64位机等。
按功能和机构可分为单片机和多片机。
按组装方式可分为单板机和多板机。
单片机在工业过程控制、智能化仪器仪表和家用电器中得到了广泛的应用。
单板机可用于过程控制、各种仪器仪表、机器的单机控制、数据处理等。
题1-4 微处理器有哪几部分组成?各部分的功能是什么?答:微处理器包括运算器、控制器和寄存器三个主要部分。
运算器的功能是完成数据的算术和逻辑运算;控制器的功能是根据指令的要求,对微型计算机各部分发出相应的控制信息,使它们协调工作,从而完成对整个系统的控制;寄存器用来存放经常使用的数据。
题1-5 微处理器的发展经历了哪几代?Pentium系列微处理器采用了哪些先进的技术?答:第一代4位或低档8位微处理器、第二代中高档8位微处理器、第三代16位微处理器、第四代32位微处理器、第五代64位微处理器、第六代64位高档微处理器。
Pentium系列微处理器采用了多项先进的技术,如:RISC技术、超级流水线技术、超标量结构技术、MMX技术、动态分支预测技术、超顺序执行技术、双独立总线DIB技术、一级高速缓冲存储器采用双cache结构、二级高速缓冲存储器达256KB或512KB、支持多微处理器等。
题1-6 何为微处理器的系统总线?有几种?功能是什么?答: 系统总线是传送信息的公共导线,微型计算机各部分之间是用系统总线连接的。
微机原理习题课

微机原理习题课第二章习题答案一、填空题1、MOV AX,7896HADD AL,AH上述指令执行后,标志位CF和OF的值是()。
2、MOV SP,3210HPUSH AX 执行上述指令序列后,SP寄存器的值是( )3、重复前缀指令REP的重复次数由()决定。
4、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
5、下面指令序列执行后完成的运算,正确的算术表达式应是()。
MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,AL6、下面程序段执行后,AL中的内容是()MOV AX,8833HADD AL,AHDAA7、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____ IP____,而后两个字节存放的是____ CS____。
8、执行下面的程序段后,AX=_________ 。
MOV CX,5;MOV AX,50;NEXT:SUB AX,CX;LOOP NEXT;HLT9、MUL WORD PTR [SI] ,原操作数__________;目标操作数__________;10、设AL=-18,CL=2,则执行SAR AL,CL 后,AL=__________ 。
11、设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
12、指令LOOPNZ 退出循环的条件是()。
13、MOV AX, 65A3;AND AX, 0FA03AX=___5FA6_______,若作为无符号数,其十进制值为___24486_______,若作为带符号数,其十进制值为____+24486______.14、(西安交大)写出一条能完成下述操作的指令(1)将AH的最高3位清零,其他位不变()(2)AH的低半字节置1,其他位不变()(3)AH的最低位取反,其他位不变()15、(西南交大) 8086 CPU在基址-变址寻址方式中,基址寄存器可以是( )和( ),变址寄存器可以是( )和( )。
微机原理作业三及答案

一、选择题分析1.下列描述正确的是()A.汇编语言仅由指令性语句构成B.汇编语言包括指令性语句和伪指令语句C.指令性语句和伪指令性语句的格式是均匀全相同的D.指令性语句和伪指令性语句需经汇编程序翻译成机器代码后才能执行题眼分析本题为1998年9月第28题。
语句,一个汇编语言源程序是由若干条语句构成。
汇编源程序中的语句可分为指令性语句和伪指令性语句两类。
指令性语句,与机器指令相对应,包含一个指令助记符和足够的寻址信息。
可由汇编程序翻译成机器指令代码。
其一般格式为:[标号:][前缀]指令助记符[操作数][:注释]伪指令语句,指示、引导汇编程序在汇编时进行一些操作。
汇编程序不能将其翻译成机器代码。
其一般格式为:[名字]伪操作命令[操作数][:注释]答案 B2.假定(AL)=85H,(CH)=29H,依次执行SUB AL,CH指令和DAS指令后,AL 的值是()A.AEH B.56HC.5CH D.14H题眼分析首先执行SUB指令后,(AL)=5CH,此时CF=0,由于低4位大于9,需要进行调整,执行DAS指令后,AL低4位减6,并且置AF=1,高4位值小于9且CF=0,保持不变,即得(AL)=56H。
答案 B3.串操作指令中,有REP前缀的串操作指令结束的条件是()A.ZF=1 B.ZF=0C.CX>1 D.CX=0题眼分析本题为1999年9月第7题。
8086/8088中有以下3种形式的重复前缀格式:①REP ;(CX)≠0,重复执行②REPE/REPZ ;(CX)≠0且ZF=1,重复执行③REPNE/REPNZ ;(CX)≠0且ZF=0,重复执行答案 D4.若定义DA T DW‘12’,则(DA T)和(DA T+1)两个相连的内存中存放的数据是()A.32H,31H B.31H,32HC.00H,0CH D.00H,12H题眼分析本题为1999年9月第5题。
‘12’表示字符‘1’和‘2’,其相应的ASCII 码为31H和32H。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课堂练习题目:
23.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用()SCASB串操作指令。
A.REPNE B.REP C.REPE D.REPNZ
26.在串操作指令中,SI指向串,DI指向串。
27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用重复前缀。
29.段内调用指令改变中的内容。
30.段间调用指令改变中的内容。
12.现有程序段如下:
CLD
MOV SI,OFFSET BUF1
MOV DI,OFFSET BUF2
MOV CX,100
REP MOVSB
请回答:该程序段完成的功能是什么?
13.现有程序段如下:
CLD
LEA DI,BUF
MOV AL,20H
MOV CX,100
REPNZ SCASB
请回答:(1)该程序段完成的功能是什么?
(2)若ZF=1,表示BUF中值为20H数据
(3)若BUF的首地址为0,ZF=0,执行完该程序段后DI= 。
1.使用串操作指令,将BUF缓冲区中的100个字节清0。
2.比较5个字节的字符串A和B,若两个串相等则字节标志单元FLG置0;否则清1。
答案=========================================
课堂练习题目:
23.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用()SCASB串操作指令。
A.REPNE B.REP C.REPE D.REPNZ
26.在串操作指令中,SI指向串,DI指向串。
27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用重复前缀。
29.段内调用指令改变中的内容。
30.段间调用指令改变中的内容。
参考答案:
26.源,目的
27.REPNE(REPNZ)
29.IP
30.CS和IP
12.现有程序段如下:
CLD
MOV SI,OFFSET BUF1
MOV DI,OFFSET BUF2
MOV CX,100
REP MOVSB
请回答:该程序段完成的功能是什么?
12.将BUF1中100个字节的数据传送到BUF2中。
13.现有程序段如下:
CLD
LEA DI,BUF
MOV AL,20H
MOV CX,100
REPNZ SCASB
请回答:(1)该程序段完成的功能是什么?
(2)若ZF=1,表示BUF中值为20H数据
(3)若BUF的首地址为0,ZF=0,执行完该程序段后DI= 。
13.(1)查找BUF中为空格(20H)字符。
(2)有
(3)100
1.使用串操作指令,将BUF缓冲区中的100个字节清0。
参考1.
CLD
MOV CX,100
MOV AL,0
LEA DI,BUF
REP STOSB
2.比较5个字节的字符串A和B,若两个串相等则字节标志单元FLG置0;否则清1。
参考2.
CLD
MOV CX,5
LEA DI,A
LEA SI,B
REPE CMPSB
JZ L
MOV BYTE PTR FLG,1
JMP M
L:MOV BYTE PTR FLG,0
M:…。