第二章 指令系统例题习题(按朱定华书重编
- 格式:doc
- 大小:59.50 KB
- 文档页数:5
(完整版)指令系统测试题1、设某计算机为定长指令字结构,指令字长为12位,每个地址码3位,试提出⼀种分配⽅案,使指令系统包含:4条三地址指令,8条⼆地址指令,180条单地址指令。
2、某计算机字长为16位,主存储器容量为64K字,指令格式为单字长单地址,共64条指令。
试说明:(1)若只采⽤直接寻址⽅式,指令能访问多少主存单元。
(2)为扩⼤指令寻址范围,可采⽤直接/间接寻址⽅式,若仅增加⼀位直接/间接标志,指令可寻址范围为多少?指令直接寻址的范围为多少?3、指令格式如下图所⽰,OP为操作码字段,试分析指令格式特点。
31 26 21 18 17 16 15 04、某计算机字长为16位,主存容量为640K字,采⽤单字长单地址指令,共有80条指令。
试⽤直接、间接、变址、相对四种寻址⽅式设计指令格式。
1解:由题意可知,当指令为三操作数时,操作码的位数为12 –3×3 = 3,共23= 8 种编码。
现使“000~011”为四条三地址数指令的编码,“100~111”四个编码把⼀个地址码(三位)扩展为操作码。
⽤四个扩展编码中的“100”把⼀个地址码(三位)扩展为操作码,共有23= 8 种编码“100000~100111”为⼋条⼆地址数指令的编码,其余3×23 = 24 种编码把⼀个地址码(三位)扩展为操作码。
⽤24 种编码把⼀个地址码(三位)扩展为操作码,共有24×23 =184种编码,⽤其中的180个编码为180条⼀地址数指令的编码。
2解:64条单地址指令,指令字长16位,其中操作码(64 = 26)6位,地址码10位。
①采⽤直接寻址,能访问210 = 1024个主存单元。
②当间接寻址时,地址码可达16位,寻址范围为216 = 64K;直接寻址时地址码为9位(其中有⼀位要⽤作寻址标志),寻址范围为29 = 512。
3解:(1)操作码字段为6位,可指定26= 64种操作,即64条指令。
指令系统习题⼀.选择题1.指令ADD CX,55H[BP]的源操作数的寻址⽅式是( )。
(A) 寄存器寻址 (B) 直接寻址 (C) 寄存器间接寻址 (D) 寄存器相对寻址2.设(SS)=3300H,(SP)=1140H,在堆栈中压⼊5个字数据后,⼜弹出两个字数据,则(SP)=( ) 。
(A) 113AH (B) 114AH (C) 1144H (D) 1140H3.若SI=0053H,BP=0054H,执⾏SUB SI,BP后,则( )。
(A) CF=0,OF=0 (B) CF=0,OF=1 (C) CF=1,OF=0 (D) CF=1,OF=14.已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执⾏后,(BX)=( ) 。
(A) 0102H (B) 0201H (C) 245AH (D) 5A24H5.实模式下80486CPU对指令的寻址由( )决定。
(A) CS,IP (B) DS,IP (C) SS,IP (D) ES,IP6.使⽤80486汇编语⾔的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则在VAL存储区内前⼗个字节单元的数据是( )。
(A) 1,2,3,3,2,1,0,1,2,3 (B) 1,2,3,3,3,3,2,1,0,1(C) 2,1,2,3,3,2,1,0 (D) 1,2,3,3,3,1,0,1,0,17.下列四条指令都可⽤来使累加器清"0",但其中不能清"进位"位的是( ) 。
(A) XOR AL,AL (B) AND AL,0 (C) MOV AL,0 (D) SUB AL,AL8.若(AX)=96H,(BX)=65H,依次执⾏ADD AX,BX指令和DAA指令后,(AL)=( )。
计算机学科专业基础综合组成原理-指令系统(二)(总分:98.00,做题时间:90分钟)一、{{B}}单项选择题{{/B}}(总题数:47,分数:47.00)1.与本指令的地址有关的寻址方式是______。
∙ A.立即寻址∙ B.寄存器寻址∙ C.相对寻址∙ D.直接寻址(分数:1.00)A.B.C. √D.解析:[解析] 相对寻址的有效地址是将程序计数器(PC)的内容即当前指令的地址与指令字中的形式地址A 相加而成,所以与本指令的地址有关,故选C。
2.在下列寻址方式中,______方式需要先计算,再访问主存。
∙ A.相对寻址∙ B.变址寻址∙ C.间接寻址∙ D.A、B(分数:1.00)A.B.C.D. √解析:[解析] 相对寻址:相对寻址的有效地址是将程序计数器PC的内容与指令字中的形式地址A相加而成。
相对寻址的有效地址为EA=(PC)+A。
变址寻址:指令指定一个CPU寄存器(称为变址寄存器)和一个形式地址,操作数地址是二者之和,需要先计算再访存。
变址寻址的有效地址为EA=A+(IX)。
间接寻址:指令给出存放操作数地址的存储单元地址,先得到操作数地址所在的存储单元的地址,再得到操作数的地址,然后才能取操作数。
所以A和B都是符合的,选D。
3.下列关于单地址指令的说法中,正确的是______。
∙ A.只能对单操作数进行加工处理∙ B.只能对双操作数进行加工处理∙ C.无处理双操作数的功能∙ D.既能对单操作数进行加工处理,也能对双操作数进行运算(分数:1.00)A.B.C.D. √解析:[解析] 单地址指令可以实现单操作数指令也实现完成双操作数指令,单操作数指令很好理解,单地址对应单操作数。
对于双操作数的情况,一般单地址对应一个操作数,另一个操作数隐藏在运算器的ACC 中。
4.设指令由取指、分析、执行3个子部件完成,每个子部件的工作周期均为Δt,采用常规标量流水线处理器。
若连续执行10条指令,则需要的时间为______。
单项选择题1 在CPU执行指令的过程中,指令的地址由___B__给出。
A 程序计数器PCB 指令的地址码字段C 操作系统D 程序员2 下列关于指令的功能及分类叙述正确的是__B___.A 算术与逻辑运算指令,通常完成算术运算或逻辑运算,都需要两个数据B 移位操作指令,通常用于把指定的两个操作数左移或右移一位C 转移指令,子程序调用与返回指令,用于解决数据调用次序的需要D 特权指令,通常仅用于系统软件,这类指令一般不提供给用户3 零地址的运算类指令在指令格式中不给出操作数的地址,参加的两个操作数来自__C__.A累加器和寄存器 B 累加器和暂存器C 堆栈的栈顶和次栈顶单元D 堆栈的栈顶单元和暂存器4 下列一地址运算类指令的叙述中,正确的是_____。
A 仅有一个操作数,其地址由指令的地址码提供B 可能有一个操作数,也可能有两个操作数C 一定有两个操作数,其中一个操作数是隐含的D 指令的地址码字段存放的一定是操作码5 关于二地址指令一下论述正确的是_____.A 二地址指令中,运算结果通常存放在其中一个地址码所提供的地址中B二地址指令中,指令的地址码字段存放的一定是操作数C二地址指令中,指令的地址码字段存放的一定是寄存器号D二地址指令中,指令的地址码字段存放的一定是操作数地址6 单字长四地址指令OP A1、A2、A3、A4的功能为(A1)OP(A2)→A3,且A4给出下一条指令地址,假设A1、A2、A3、A4都为主存储器地址,则完成上述指令需访存_____。
A 1B 2C 3D 47 在指令格式设计中,采用扩展操作码的目的是_____.A 增加指令长度B 增加地址码数量NNC 增加指令数量D 增加寻址空间8 某机器的指令字长为16位,有8个通用寄存器,有8种寻址方式,单操作数指令最多有_____个,双操作数指令最多有_____个。
A 1024 16B 2048 32C 256 64D 1024 329 指令寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现_____。
1单选(1分)下列和指令字长无关的是___。
A.操作码的长度B.操作数地址的个数C.数据总线宽度D.操作数地址的长度2.假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式。
设操作码固定,若零地址指令有3种,一地址指令有5种,则二地址指令最多有___种。
A.7B.9C.8D.43.设机器字长为16位,存储器按字编址,对于单字长指令而言,读取该指令后,PC值自动加______ A.1 B.2 C.3 D. 44.设机器字长为16位,存储器按字节编址,CPU读取一条单字长指令后,PC值自动加____ A.1 B.2 C.3 D.45 图中所示的寻址方式是___。
A.直接寻址B.立即数寻址C.间接寻址D.寄存器寻址6.以下关于堆栈寻址的描述错误的是___。
A.全部错误B.可用硬盘来实现堆栈,称为硬堆栈C.可用内存来实现堆栈D.可用寄存器组来实现堆栈7.指令的一般格式包括___。
A.地址码字段和纠删码字段B.操作码字段和纠删码字段C.地址码字段和海明码字段D.操作码字段和地址码字段8.在设计指令格式时应该考虑的因素包括___。
A.寄存器个数B.操作类型C.数据类型D.寻址方式9.以下寻址方式中,属于数据寻址的是___。
A.间接寻址B.变址寻址C.指令寻址D.顺序寻址10.试分别说明下列各指令中操作数使用的寻址方式:(1)MOV AX,0FFH(2)MOV BL,[OFFH](3)MOV DS,AX(4)MOV [SI],CX(5)MOV DS:[0FFH],CL(6)MOV [BP][SI],AH(1)立即数寻址(2)直接寻址(3)寄存器寻址(4)寄存器间接寻址(5)直接寻址(6)基址变址寻址11.如果TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,当执行指令”MOV AX,TABLE”和”LEA AX,TABLE”后,(AX)中的内容分别为多少?答:执行MOV AX , TABLE 后(AX)=1234H 执行LEA AX, TABLE 后(AX)=0032.。
如果GDT寄存器值为00FFH,装人LDTR的选择符为0040H,试问装人描述符高速缓存的LDT描述符的起始地址是多少?解:GDT寄存器的高32位和低16位分别为GDT的基址和段限,所以:GDT的基址=00130000HLDTR选择符的高13位D15~D3=000000001000B是该LDT描述符在GDT中的序号,所以:LDT描述符的起始地址= GDT的基址十LDT描述符相对于GDT基址的偏移值=00130000H+8×8=00130040H假定80486工作在实模式下,(DS)=1000H, (SS)=2000H, ( SI ) = El07FH, ( BX )=0040H, (BP) = 0016H,变量TABLE的偏移地址为0100H。
请间下列指令的源操作数字段是什么寻址方式?它的有效地址(EA)和物理地址(PA)分别是多少?(1)MOV AX,[1234H ] (2) MOV AX, TABLE(3) MOV AX,[BX+100H] (4) MOV AX,TABLE[BPI[SI]解:(1)直接寻址,EA=1234H , PA =(DS)×16+EA=11234H。
(2)直接寻址,EA= O100H,PA= (DS)×16+EA=10100H。
(3)基址寻址,EA=( EBX)+100H =0140H,PA= (DS) × 16+EA=10140H。
(4)带位移的荃址加变址寻址。
(EA)= (BP)+[SI]十TABLE的偏移地址=0195HPA=(SS)×16+EA=20195H}下列指令的源操作数字段是什么寻址方式?(1)MOV EAX , EBX (2)MOV EAX,[ ECX] [EBX ](3) MOV EAX,[ESI][EDX * 2] (4)MOV EAx,[ ESI*8]解:(1)寄存器寻址。
(2)基址加变址寻址。
指令系统练习题1、判别下列语句是否有错并说明理由:(1) MOV [SI],’A'(2) MOV AL,BX(3) MOV BL,SI+2(4) INC [BX](5) MOV 256,AL(6) MOV AX,BYTE PTR ALFA(7) MOV ALFA,BATA(8) MUL -25(9) PUSH 20A0H(10) POP CS2、请执行下段程序,给出各寄存器的内容:MOV AX,0A0BHDEC AXSUB AX,0FFHAND AX,00FFHMOV CL,3SAL AL,CLADD AL,25HXCHG AL,AHPUSH AXPOP BXINC BLMUL BL3、已知AX=003AH,请根据AX值用移位指令实现:①使BL=03H,BH=0AH;②CX=030AH;③DX =2*3AH;④SI=0A3H。
4、在A地址处有100个字节数据,今要求传送到B地址处,请编程实现。
5、使AL高4位置1,判断低4位是否大于9,如大于9,则使低4位变反,否则将低4位置成9,试编程实现之。
6、在A、B地址起各有4个字节单元的无符号数,试编程实现二个无符号数(16位)的和,并将值存于C址起的单元中。
7、阅读下面程序并说明其功能:LEA SI,ALP: IN AL,20HAND AL,0FHOR AL,30HCMP AL,’*’JZ ENDPRMOV [SI],ALINC SIOUT 30H,ALJMP LPENDPR: HLT8、在A字单元有一个有符号被除数,在B字单元有一个有符号除数,求其商存于C字单元中,余数存D字单元中,试编程实现之。
指令系统习题解答一、选择题1、变址寻址方式中,操作数的有效地址等于______。
(C)A基值寄存器内容加上形式地址(位移量)B 堆栈指示器内容加上形式地址(位移量)C 变址寄存器内容加上形式地址(位移量)D 程序记数器内容加上形式地址(位移量)2、用某个寄存器中操作数的寻址方式称为______寻址。
(C)A直接 B 间接 C 寄存器直接 D 寄存器间接3、单地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个常需采用______。
(C)A堆栈寻址方式 B 立即寻址方式 C 隐含寻址方式 D 间接寻址方式4、寄存器间接寻址方式中,操作数处在______。
(B)A. 通用寄存器B. 主存单元C. 程序计数器D. 堆栈5、程序控制类指令的功能是______。
(D)A进行算术运算和逻辑运算B 进行主存与CPU之间的数据传送C 进行CPU和I / O设备之间的数据传送D 改变程序执行顺序6、堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,M SP为SP指示器的栈顶单元,如果操作的动作是:(A)→M SP,(SP)- 1 →SP ,那么出栈的动作应是______。
(B)A (M SP)→A,(SP) + 1→SP ;B (SP) + 1→SP ,(M SP)→A ;C (SP) - 1→SP ,(M SP)→A ;D (M SP)→A ,(SP) - 1→SP ;7.指令周期是指______。
(C)A CPU从主存取出一条指令的时间;B CPU执行一条指令的时间;C CPU从主存取出一条指令加上CPU执行这条指令的时间;D 时钟周期时间;8、指令系统采用不同寻址方式的目的是______。
(B)A 实现存贮程序和程序控制;B 缩短指令长度,扩大寻址空间,提高编程灵活性;C 可直接访问外存;D 提供扩展操作码的可能并降低指令译码的难度9、指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。
计算机组成原理指令系统例题计算机组成原理涉及到很多方面,其中指令系统就是其中的一部分。
指令系统是计算机硬件和软件之间的桥梁,它决定了计算机可以完成哪些操作,以及如何完成这些操作。
在计算机的指令系统中,常常会涉及到指令的格式、寻址方式、指令执行周期等内容。
下面我们就来看一道指令系统的例题以加深理解。
例题:有一个带有8位数据总线的微处理器,它的寄存器可分为通用寄存器和专用寄存器两种。
其中除计数器之外的所有专用寄存器的位数为4位,计数器的位数为8位。
该微处理器采用的指令最短长度为8位。
现在要实现一个程序并且需要在其中使用到以下几条指令:1. LD (Load)指令:从内存中读取数据到寄存器。
2. ST (Store)指令:从寄存器中写入数据到内存。
3. ADD (Add)指令:将两个寄存器中的数据相加,并将结果储存在目的寄存器中。
4. SUB (Subtract)指令:将两个寄存器中的数据相减,并将结果储存在目的寄存器中。
5. JMP (Jump)指令:跳转到指定地址。
6. JZ (Jump if Zero)指令:如果目标寄存器的值为0,则跳转到指定地址。
现在,假设你要编写一个简单的程序,该程序需要从一个地址为0x200的内存单元处读取两个数并将它们相加,然后将结果存入另一个地址为0x210的内存单元。
程序中用到的寄存器为R1、R2以及ACC,其中R1和R2为通用寄存器,ACC为专用寄存器。
现在请你为这个程序编写指令序列,并给出每条指令的机器码。
解题思路:首先,我们需要了解一些术语和概念。
在这题中,我们知道微处理器带有8位数据总线,计数器的位数为8位。
因此,我们可以知道,这个微处理器最大可以寻址的内存为256字节。
通用寄存器和专用寄存器的位数分别为4位,说明它们可以存储0~15之间的数。
在指令中,我们需要使用到寄存器R1、R2以及ACC,其中ACC是专用寄存器,用来保存运算的结果。
接下来,我们来写出这个程序需要执行的指令序列:1. LD R1, #0x200:将0x200地址处的值读取到R1寄存器中。
计算机组成原理指令系统例题计算机组成原理是计算机科学的核心领域之一,它研究如何设计和构建计算机硬件和软件系统。
指令系统是计算机系统的重要组成部分,它定义了计算机能够执行的指令集合和执行这些指令所需的操作。
下面将通过一个例题来介绍指令系统的相关内容。
假设有一台计算机,它的指令系统包含以下指令:1. MOV R1, #5:将立即数5放入寄存器R1中。
2. ADD R1, R2, R3:将寄存器R2和寄存器R3中的值相加,然后将结果放入寄存器R1中。
3. SUB R1, R2, R3:将寄存器R2中的值减去寄存器R3中的值,然后将结果放入寄存器R1中。
4. MUL R1, R2, R3:将寄存器R2和寄存器R3中的值相乘,然后将结果放入寄存器R1中。
5. DIV R1, R2, R3:将寄存器R2中的值除以寄存器R3中的值,然后将结果放入寄存器R1中。
6. JMP addr:无条件跳转到指定地址addr处执行指令。
7. JEZ R1, addr:如果寄存器R1中的值为零,则跳转到指定地址addr处执行指令。
8. JNZ R1, addr:如果寄存器R1中的值不为零,则跳转到指定地址addr处执行指令。
以上是一个简化的指令系统,它可以执行基本的运算和跳转操作。
指令系统的设计需要考虑多个方面,包括指令集的种类和数量、指令的格式和编码方式、寄存器的个数和功能等等。
指令系统的设计可以根据具体的需求进行优化,例如可以增加更多类型的指令,如位移指令、逻辑运算指令、条件分支指令等等,以满足不同的应用场景。
同时,还可以考虑使用复杂指令集(CISC)或简化指令集(RISC)来平衡指令的复杂度和执行效率。
此外,指令系统还需要考虑指令的执行顺序和数据的传递方式。
在上述例题中,指令是按照顺序依次执行的,但在实际的计算机系统中,可能存在指令重排、乱序执行等优化技术,以提高计算机的执行效率。
除了指令系统的设计,还需要实现指令系统的硬件和软件支持。
一、选择(单选)和填空题1.立即数寻址是指_____.A,指令中直接给出操作数地址B,指令中直接给出操作数C,指令中间接给出操作数D,指令中间接给出操作数地址2.直接寻址是指_____.A,指令中直接给出操作数地址B,指令中直接给出操作数C,指令中间接给出操作数D,指令中间接给出操作数地址3.ADD R0,R1加法指令若按操作数的个数区分,它属于_____。
A,单操作数B,双操作数C,无操作数D,多操作数4.POPF把程序状态字弹出堆栈的指令若按操作数的个数分,它属于_____。
A,单操作数B,双操作数C,无操作数D,多操作数5.寄存器直接寻址,操作数在_____中。
A,通用寄存器B,内存单元C,指令D,I/O接口6.寄存器直接寻址,在指令操作数地址字段中给出的是_____。
A,寄存器编号B,操作数本身C,内存地址D,I/O端口地址7.间接寻址是指_____。
A,指令中直接给出操作数地址B,指令中直接给出操作数C,指令中间接给出操作数D,指令中给出的是操作数地址所在的存储单元地址8.变址寻址方式中,操作数的有效地址等于_____。
A,基址寄存器内容加上形式地址(位移量)B,堆栈指示器内容加上形式地址C,变址寄存器内容加上形式地址D,程序计数器内容加上形式地址9.程序控制类指令的功能_____。
A,进行算术运算和逻辑运算B,进行CPU和主存之间的数据传送C,进行CPU与I/O 设备之间的数据传送D,改变程序执行的顺序10.关于操作数的来源和去处,表述不正确的是_____。
A,第一个来源去处是运算器中的一个通用寄存器B,第二个来源去处是外设接口中的一个寄存器C,第三个来源去处是内存中的一个存储单元D,第四个来源去处是外存储器中的一个字11.扩展操作码是 _____。
A,操作码字段外辅助操作字段的代码B,操作码字段中用来进行指令分类的代码C,指令格式中不同字段设置的操作码D,一种指令优化技术,即让操作码的长度随地址字段位数的减少而增加,不同指令可以有不同的操作码长度12.相对寻址方式中,求有效地址使用_____加上偏移量。
第2章指令系统及汇编语言程序设计一.选择题1.(D) 2.(A) 3.(C) 4.(D) 5.(A) 6.(D)7.(C) 8.(C) 9.(C) 10.(D) 11.(D) 12.(C)13.(C) 14.(A) 15.(A) 16.(D) 17.(B) 18.(C)19.(C) 20.(C) 21.(D) 22.(D) 23.(D) 24.(C)25.(A) 26.(A) 27.(B) 28.(C) 29.(B) 30.(D)31.(B) 32.(C) 33.(C) 34.(A) 35.(C) 36.(D)37.(D) 38.(A) 39.(B) 40.(C) 41.(D) 42.(D)43.(B) 44.(C) 45.(C) 46.(B) 47.(B) 48.(D)49.(A) 50.(B) 51.(A) 52.(C)二、判断题1.× 2.× 3.× 4.√ 5.√ 6.√ 7.×8.× 9.×10.√ 11.× 12.× 13.× 14.× 15.× 16.√17.√18.√19.× 20.× 21.× 22.√ 23.× 24.√ 25.√26.√三、填空题1.53F30H2. 0 ; 0; 0; 13.操作码;操作数4. ZF=05.SS6. 1234H,0FFEH7.立即四、阅读程序1.38(或26H)2.将以10100H起始的50个单元的内容传送至以10200H起始的50个单元中3.将数据段中以2000H起始的100个单元中的内容清零4.统计以BUFFER为首址的100个单元中数字为1的个数存入ARRAY单元5.统计N字中0的个数6.将N的内容拆为两部分分别存入BH,BL中7.AX=0008H8.AL=34H9.AX=23H10.AX=0004H11.AX=0055H12.将从键盘接受到的两个字符拼在一起13.BH=0FFH,BL=0EH14.AX=000FH15.AL=15H,AF=1,BL=0FH16.90H17.向屏幕上依次输出0,1,…。
第2章(3)1 指令系统采用不同寻址方式的目的是()。
A.实现存贮程序和程序控制;B.缩短指令长度,扩大寻址空间,提高编程灵活性;C.可直接访问外存;D.提供扩展操作码的可能并降低指令译码的难度;2 用某个寄存器作为操作数的寻址方式称为()寻址。
A 直接B 间接C 寄存器直接D 寄存器间接3 MOV R2,[13h]指令中,[13h]的寻找方式是()。
A 直接B 间接C 寄存器直接D 立即数寻址4 某寄存器中的值有时是地址,有时是数据,因此只有计算机的()才能识别它。
A 编码器B 判断程序C 指令D 时序信号5 指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现()。
A 堆栈寻址;B 程序的条件转移;C 程序的无条件转移;D 程序的条件转移或无条件转移;6 单地址指令中,为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常用()。
A 寄存器寻址方式B 立即寻址方式C 隐含寻址方式D 间接寻址方式7 寄存器间址寻址方式中,操作数处在()。
A 通用寄存器B 主存单元C 程序计数器D 堆栈8 就取得操作数的速度而言,下列寻址方式中速度最快的是()。
A 直接寻址B 立即数寻址C寄存器间址寻址D间址寻址9 可以在计算机中直接执行的语言是()A 自然语言B 高级语言C 机器语言D 汇编语言10 用二进制代码表示的计算机语言,称为()A 机器语言B 汇编语言C 高级语言D 自然语言11 用助记符编写的语言是()A 机器语言B 汇编语言C 高级语言D 自然语言12 一条指令中包含的信息有()A 操作码、控制码B 操作码、地址码C 操作码、向量地址D 控制码、地址码13 设RA、RB表示寄存器,则按操作数的个数分,指令ADD RA,RB属于()A 单操作数指令B 双操作数指令C 多操作数指令D 无操作数指令14 下述关于零地址指令的说法正确的是()A 零地址指令是不需要操作数的指令B 零地址指令需要有操作数,其操作数通过隐含寻址得到C 有的零地址指令不需要操作数,有的零地址指令需要并使用隐含寻址得到操作数D 以上说法都不正确15 下列关于二地址运算指令的说法正确的是()A 指令的地址码字段存放的一定是操作数B 指令的地址码字段存放的一定是操作数地址C 指令的结果一定存放到累加器中D 运算结果通常放在其中一个地址码提供的存储单元中16 某机采用16位单字长指令,采用定长操作码,地址码为5位,现已定义60条二地址指令,那么单地址指令最多有()条A 4B 32C 128D 25617 某机器采用16位单字长指令,采用扩展操作码技术,地址码为5位,现已定义60条二地址指令,那么单地址指令最多有()条A 4B 32C 128D 25618 当操作数采用立即数寻址时,指令的地址码字段给出的是()A 形式地址B 有效地址C 操作数本身D 真实地址19 计算机内存一般分为静态数据区、代码区、栈区和堆区,若某指令的操作数采用立即数寻址,则该操作数位于()A. 静态数据区B. 代码区C. 栈区D. 堆区20 计算机指令一般包括操作码和地址码两部分,为分析执行一条指令,其()A. 操作码应存入指令寄存器(IR),地址码应存入程序寄存器(PC)B. 操作码应存入程序计数器(PC),地址码应存入指令寄存器(IR)C. 操作码和地址码都应存入指令寄存器D. 操作码和地址码都应存入程序计数器二计算理解题1 简述RISC与CISC指令系统的区别。
第二章指令系统例题习题
一、选择题:
1. 指令MOV寻址空间是【】。
A.片外ROM B。
片外RAM C。
片内RAM D。
片内ROM
2. 指令MOVX寻址空间是【】。
A.片外ROM B。
片外RAM C。
片内RAM D。
片内ROM
3.下列指令中正确的是()。
(A)MOV P2.1,A (B)MOV 20H,30H
(C)MOVX B,@DPTR (D)MOV A,@R3
4. “MUL AB”指令执行后,16位乘积的高位在【】中。
A. A
B. C
C. AB
D. B
5. “MOV A, 30H”的寻址方式是【】。
A。
寄存器寻址 B。
寄存器间接寻址 C。
直接寻址 D。
立即寻址
6.下列指令中错误的是()。
(A)SETB 50H.0 (B)MOV A,B
(C)XCH A,R3 (D)SUBB A,R0
7、下列各条指令的书写格式正确的是
A. MUL R0,R1
B. MOVX A, @R1
C. MOVC @A+DPTR, A
D. MOV A,@R7
8.当需要从MCS-51单片机程序存储器取数据时,采用的指令为()。
A. MOV A, @R1
B. MOVX A, @ R0
C. MOVC A, @A+DPTR
D.MOVX A, @ DPTR
9、若原来使用工作寄存器0组作为当前寄存器组,现要该为1组,不能使用的指令为
A)SETB PSW.3 B) MOV PSW.3,1
C) SETB 0D0H.3 D) CPL PSW.3
10、不能为程序存储器提供和构成地址的有
A)PC B)A
C)DPTR D)PSW
11.执行PUSH ACC指令,MCS-51完成的操作是()
A). SP+1 SP ,(ACC)(SP)
B).(ACC)(SP),SP-1 SP
C). SP-1 SP, (ACC) (SP)
D).(ACC)(SP),SP+1 SP
12.假定累加器A的内容为30H,执行指令:
1000H:MOVC A,@A+PC
后,把程序存储器()单元的内容送累加器A中
A).1000H B).1001H
C). 031H D).1030H
13.下列指令中不影响标志位CY的指令有()
A、ADD A,20H
B、CLR C 、RRC A D、INC A
二.判断以下指令的正误。
(1)MOV 28H,@R2
(2)DEC DPTR
(3)INC DPTR
(4)CLR R0
(5)CPL R5
(6)MOV R0,R1
(7)PHSH DPTR
(8)MOV F0,C
(9)MOV F0,Acc.3
(10)MOVX A,@R1
(11)MOV C,30H
(12)RLC R0
三、汇编程序分析与设计
1. 设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为
24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR以及SP中的内容将有何变化?
答:程序执行过程中相关单元内容的变化情况如下:
PUSH 30H ;SP=61H,(61H)=24H
PUSH 31H ;SP=62H,(62H)=10H
POP DPL ;SP=61H,DPL=10H
POP DPH ;SP=60H,DPH=24H
MOV 30H,#00H ;(30H)=00H
MOV 31H,#0FFH ;(31H)=FFH
2.按下列要求传送数据:设ROM(4000H)=44H
(1)ROM4000H单元数据送内RAM 20H单元
(2)ROM4000H单元数据送R0
(3)内RAM 50H单元数据送外RAM 50H单元,设内RAM(50H)=11H。
解:
(1)
MOV DPTR,#4000H
MOV A,#00H
MOVC A,@A+DPTR
MOV 20H,A
(2)
MOV DPTR,#4000H
MOV A,#00H
MOVC A,@A+DPTR
MOV R0,A
(3)
MOV A,50H
MOV R0,#50H
MOVX @R0,A
3.编写程序,将位存储单元38H中的内容与位存储单元49H中的内容互换解:
MOV C , 38H ;(38H)->C
MOV F0 , C ;C->F0,F0是PSW中的用户标志
MOV C , 49H ;
MOV 38H , C ;(49H)->(38H)
MOV C , F0 ;
MOV 48H , C ;(38H)->(49H)
4.分析题:假设内RAM单元(60H)=5,问,执行完下列指令序列后内RAM(60H)的内容为多少?
MOV R0,#60H
MOV A, @R0
RL A
MOV R1,A
RL A
RL A
ADD A,R1
MOV @R0,A
答:50
MOV R0 ,#60H ;R0=60H
MOV A , @R0 ;A=05
RL A ;A=10
MOV R1 , A ;R1=10
RL A ;A=20;
RL A ;A=40
ADD A , R1 ;A=40+10=50
MOV @R0 , A ;(60H)=50
5.假定(A) = 83H,(R0) = 17H,(17H) = 34H,执行以下指令后,(A) = 。
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
答:(A)=0CBH。
6.写出完成如下要求的指令,但是不能改变未涉及位的内容。
(1)把A CC.3,A CC.4,A CC.5和A CC.6清“0”。
(2)把累加器A的中间4位清“0”。
(3)使A CC.2和A CC.3置“1”。
四、简答题:
1.8051单片机指令系统按功能可分为几类?具有几种寻址方式?它们的寻址范围如何?
解:MCS-51单片机指令系统按功能可分为5类:
(1)数据传送指令
(2)算术运算指令
(3)逻辑运算和移位指令
(4)控制转移指令
(5)位操作指令
MCS-51单片机的指令系统提供了七种寻址方式,其对应的寻址范围如下表:
2.什么是伪指令?伪指令“ORG”、“END”作用是什么?
答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。
ORG的功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址。
END的功能是结束汇编。
3.片内RAM 20H~2FH单元中的128个位地址与直接地址00H~7FH形式完全相同,如何在指令中区分出位寻址操作和直接寻址操作?
解: 虽然内部RAM位寻址区的位地址范围00H~7FH与低128个单元的单元地址范围
00H~7FH形式完全相同,但是在应用中可以通过指令的类型区分单元地址和位地址。
位寻址的操作只适用于下列位指令,而直接寻址操作对这些指令是无效的。
MOV C,bit
MOV bit,C
CLR bit
SETB bit
CPL bit
ANL C,bit
ANL C,/bit
JB bit,rel
JNB bit,rel
二.答:(1)错(2)错(3)对(4)错(5)错(6)错(7)错(8)对(9)错(10)对(11)对(12)错。
三.6.
答:(1)ANL A,#87H
(2)ANL A,#0C3H
(3)ORL A,#0CH。