指令系统练习题及答案(1)
- 格式:docx
- 大小:26.22 KB
- 文档页数:2
《计算机原理学习指导》第四章指令系统综合练习题参考答案一、填空题1 、一个完善的指令系统应满足以下4个方面的要求,它们是:完备性、有效性、规整性和兼容性。
2、一条完整的指令是由操作码和地址码(操作数)两部分信息组成的。
3 、指令中的地址码字段包括源操作数的地址和操作结果数的地址(目的操作数的地址),前者用语指明操作数的存放处,后者用语存放运算的结果。
4 、指令格式按地址码部分的地址个数可以分为零地址指令格式、一地址指令格式、二地址指令格式和三地址指令格式。
5、常见的操作码方法有定长操作码和扩展操作码。
6、逻辑运算指令包括逻辑乘(与)、逻辑加(或)、逻辑非(求反)和异或(按位加)等操作。
二、单项选择题1、直接、间接、立即这 3 种寻址方式指令的执行速度有快到慢的排序是( C )A .直接、立即、间接B.直接、间接、立即C .立即、直接、间接D.立即、间接、直接2、指令系统中采用不同寻址方式的目的是(B)A .实现存储程序和程序控制B.缩短指令长度,扩大寻址空间,提高编程灵活性C .可以直接访问外存D.提高扩展操作码的可能并降低指令译码难度3、一地址指令中为了完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常采用( C )A .堆栈寻址方式B.立即寻址方式C.隐含寻址方式 D .间接寻址方式4、对某个寄存器中操作数的寻址方式称为(C)寻址方式A .直接B .间接C .寄存器直接D.寄存器间接5、寄存器间接寻址方式中,操作数在(B)A .通用寄存器 B.主存单元C.程序计数器 D .外存6、变址寻址方式中,操作数的有效地址等于( C )A .基址寄存器内容加上偏移量B.堆栈指示器内容加上偏移量C .变址寄存器内容加上偏移量D.程序计数器内容加上偏移量7、扩展操作码是(D)A .操作码字段中用来进行指令分类的代码B.指令格式中不同字段设置的操作码C.操作码字段外用来操作字段的代码D.一种指令优化技术,即让操作码的长度随地址数的变化而变化8 A 、下面关于汇编语言的叙述中,不恰当的是( D ).对程序员的训练要求来说,需要硬件知识B.汇编语言对机器的依赖性强C.用汇编语言编写程序的难度比高级语言大D.用汇编语言编写的程序执行速度比高级语言慢9 A 、能够改变程序执行顺序的是( D ).数据传送类指令B.移位操作类指令 C .输入 /输出类指令 D .条件 /无条件转移类指令10 、以下的( D )不能支持数值处理A .算术运算类指令B.移位操作类指令C.字符串处理类指令D.输入/ 输出类指令三、名词解释题1 、指令:计算机能够识别和执行的操作命令2 、指令系统:一台计算机或一个计算机系统能够执行的各种指令的集合3 、指令字:一条完整的指令称为一个指令字4 、操作码:表示操作的性质及功能5 、地址码:表示指令的操作对象,指出操作数的地址6 、指令字长:等于地址码长度加上操作码长度7、定长操作码:让操作码的长度固定且集中放在指令字的一个字段中8、扩展操作码:操作码的长度可变且分散地放在不同的字段中9、寻址方式:指确定本条指令的地址及下一条要执行的指令地址的方法10、汇编语言:一种面向机器的程序设计语言,用助记符形式表示,属于低级程序设计语言11、机器语言:一种能被机器识别和执行的语言,用二进制数“0”和“1”形式表示12、 RISC :精简指令系统计算机13: CISC :复杂指令系统计算机,指具有大量指令的计算机系统四、简答题1、计算机指令中一般包含哪些字段?分别是什么含义?答:计算机指令中一般包含地址码和操作码两部分,地址码表示指令的操作对象,指出操作数的地址,操作码表示操作的性能及功能。
《汇编语言》习题1——指令系统参考答案习题1-1 在8086CPU中,如果SS的内容设置为1A4BH,堆栈的长度为100H字节,问SP寄存器的初始化值为多少?SP初始指向哪个主存物理地址?答:SP寄存器的初始化值为:100HSP初始指向的主存物理地址是:1A5B0H习题1-2 分别说明下述8086指令中的源操作数和目的操作数的寻址方式。
指令目的操作数源操作数(1) MOV ES, AX 寄存器寻址寄存器寻址(2) ADD DS:[12H],AL 直接寻址寄存器寻址(3) SUB BX,1200H 寄存器寻址立即寻址(4) SHR AX,1 寄存器寻址立即寻址(5) AND -28H[BP][DI], AX 基址变址寻址寄存器寻址(6) MOV CX,LAB1[BX] 寄存器寻址基址/变址寻址(7) SBB AX, [BX] 寄存器寻址寄存器间接寻址(8) OR DX,-360H[SI] 寄存器寻址基址/变址寻址(9) ADC VAR1,CX 直接寻址寄存器寻址(10) XOR [DI],AX 寄存器间接寻址寄存器寻址习题1-3分别说明下述指令语句的语法正确与否,如果有错,说明其错误。
指令正误(1)MOV DS, 1234H 错误,立即数不能直接传送到段寄存器中(2)ADD AH,AL 正确(3)SUB CS,AX 错误,不能对CS直接操作(4)MOV BX,[BX][SI] 正确(5)ADC VAR1,[BP][DI] 错误,两个操作数不能同时都在存储器中(6) SBB [BX][BP],AX 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器(7)PUSH 5678H 错误,立即数不能作为源操作数直接压入堆栈(8)SHL [BP][SI],CL 错误,目的操作数没有明确指明是字还是字节(9)ROR AX,2 错误,移位次数大于1时,需将其提前存入CL中(10)NEG AX,BX 错误,操作数个数错误(11)LEA CS,AX 错误,目的操作数只能是16位通用寄存器(12)MOV AL,BX 错误, 操作数位数不一致(13)ADD DS:200H,AX 正确(14)AND [BX][BP],AH 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器(15)OR BH,-16H[BP] 正确(16)CLC AX 错误,操作数个数错误(17)MUL AX,BX 错误,操作数个数错误(18)DIV 12H 错误,源操作数不能是立即数习题1-4 在8086中,如果(DS)=1A26H,(SS)=20B0H,(BX)=1200H,(SI)=0034H, (BP)=5700H(1B484H)=1234H,(26200H)=5678H,给出下面各指令或指令组执行后相应寄存器/存储单元的结果。
单项选择题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 指令寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现_____。
单片机原理与应用练习题3答案练习题3答案1. 简述下列基本概念:指令,指令系统,机器语言,汇编语言。
答:指令是单片机CPU执行某种操作的命令。
指令系统是一台计算机所能执行的指令集合。
机器语言即二进制代码语言,是计算机可以直接识别。
汇编语言是用助记符、字符串和数字等来表示指令的程序语。
2. 简述AT89S51单片机的指令格式答:该单片机的指令由两部分组成,即操作码和操作数。
操作码用来规定指令进行什么操作,而操作数则是指令操作的对象,操作数可能是一个具体的数据,也可能是指出到哪里取得数据的地址或符号。
指令格式一般为:[ 标号:] 操作码 [操作数1][,操作数2][,操作数3] [;注释]3. 简述AT89S51的寻址方式和所能涉及的寻址空间4. 要访问片外程序存储器和片外数据存储器,应采用哪些寻址方式?答:访问片外程序存储器采用变址寻址方式,片外数据存储器采用寄存器间接寻址方式,且用DPTR可以访问64KB,而用R0或者R1只可访问低256字节。
5. 在AT89S51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。
请分析下面各是什么指令,说明源操作数的寻址方式及按顺序执行每条指令后的结果。
答:结果指令指令说明源操作数寻址方式MOV A, 40H 将内部RAM中40H内容传送到累加器A中(A)←(40H)直接寻址(A)=48HMOV R0, A 再将A中内容传送给R0(R0)←(A)寄存器寻址(R0)=48HMOV P1,#0F0H 将立即数0F0H送到P1口,即P1.4~P1.7位1,其余为0(P1) ←0F0H立即数寻址(P1)=0F0HMOV @R0, 将30H中的内容,传直接((R0))=(48H)=38H30H 放到以R0单元内容为地址的单元中((R0)) ←(30H) 寻址MOV DPTR, #3848H 将立即数3848传送给DPTR数据指针(dptr) ←3848H立即数寻址(DPTR)=3848HMOV 40H, 38H 将内部RAM中38H内容传送到40H单元中(40H) ←(38H)直接寻址(40H)=40HMOV R0, 30H 将30H中的内容给R0寄存器直接寻(R0)=38H(R0) ←(30H)址MOV P0, R0 将R0的内容传送到P0(P0) ←(R0)寄存器寻址(P0)=38HMOV A,@R0 将R0内容为地址的该单元内容传送给A(A)←((R0))寄存器间接寻址(A)=40HMOV P2, P1 将P1的内容传送给P2(P2) ←(P1)直接寻址(P2)=0F0H6. 指出下列指令的源操作数的寻址方式MOV A, 65H 直接寻址MOV A, #65H 立即数寻址MOV A, @R0 寄存器间接寻址MOV A, R2 寄存器寻址MOVC A, @A+PC 变址寻址7. 内部RAM和特殊功能寄存器各用什么寻址方式?答:内部RAM有寄存器寻址方式、直接寻址方式和间接寻址方式;特殊功能寄存器除A外只能进行直接寻址。
1.什么是“程序可见”的寄存器?程序可见寄存器是指在用户程序中用到的寄存器,它们由指令来指定。
2. 80x86微处理器的基本结构寄存器组包括那些寄存器?各有何用途?基本结构寄存器组按用途分为通用寄存器、专用寄存器和段寄存器3类。
通用寄存器存放操作数或用作地址指针;专用寄存器有EIP和EFLAGS,分别存放将要执行的下一条指令的偏移地址和条件码标志、控制标志和系统标志;段寄存器存放段基址或段选择子。
3.80x86微处理器标志寄存器中各标志位有什么意义?常用的7位:CF进位标志: 在进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF置1;否则置0。
在移位类指令中,CF用来存放移出的代码(0或1)。
PF奇偶标志: 为机器中传送信息时可能产生的代码出错情况提供检验条件。
当操作结果的最低位字节中1的个数为偶数时置1,否则置0。
AF辅助进位标志: 在进行算术运算时,如低字节中低4位(第3位向第4位)产生进位或借位时,则AF置1;否则AF置0。
ZF零标志:如指令执行结果各位全为0时,则ZF置1;否则ZF置0。
SF符号标志:其值等于运算结果的最高位。
如果把指令执行结果看作带符号数,就是结果为负,SF置1;结果为正,SF置0。
OF溢出标志: 将参加算术运算的数看作带符号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1;否则OF置0。
DF方向标志: 用于串处理指令中控制处理信息的方向。
当DF位为1时,每次操作后使变址寄存器SI和DI减小;当DF位为0时,则使SI和DI增大,使串处理从低地址向高地址方向处理。
4.画出示意图,简述实模式下存储器寻址的过程。
20位物理地址如下计算(CPU中自动完成):10H×段基址+偏移地址=物理地址5. 画出示意图,简述保护模式下(无分页机制)存储器寻址的过程。
采用对用户程序透明的机制由选择子从描述子表中选择相应的描述子,得到欲访问段的段基址、段限等有关信息,再根据偏移地址访问目标存储单元。
1、执行下列3条指令后,30H单元的内容是( C )。
MOV R0,#30HMOV 40H,#0EHMOV @R0,40HA)40H B)30H C)0EH D)FFH2、在堆栈中压入一个数据时(B)。
A)先压栈,再令SP+1 B)先令SP+1,再压栈C)先压栈,再令SP-l D)先令SP-1,再压栈3、在堆栈操作中,当进栈数据全部弹出后,这时的SP应指向 A 。
A)栈底单元B)7FHC)栈底单元地址加1 D)栈底单元地址减l4、指令MOVC A,@A+PC源操作数的寻址方式是 D 。
A)寄存器寻址方式B)寄存器间接寻址方式C)直接寻址方式D)变址寻址方式5、ANL 20H,#30H指令中,源操作数的寻址方式是 A 。
A)立即寻址方式B)直接寻址方式C)位寻址方式D)相对寻址方式6、ANL C,/30H指令中,源操作数的寻址方式是 C 。
A)立即寻址方式 B)直接寻址方式C)位寻址方式 D)相对寻址方式7、Jz rel指令中,操作数rel的寻址方式是 D 。
A)立即寻址方式 B)直接寻址方式C)位寻址方式 D)相对寻址方式8、Jz rel指令中,是判断 A 中的内容是否为0。
A) A B) B C)C D)PC9、MOVX A,@DPTR指令中源操作数的寻址方式是(B)A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址10、下面条指令将MCS-51的工作寄存器置成3区(B)A)MOV PSW,#13H (B)MOV PSW,#18H11、MOV C,00H指令中源操作数的寻址方式是(A)A)位寻址 B)直接寻址 C)立即寻址 D)寄存器寻址1、8051单片机共有7 种寻址方式。
访问外部数据存储器应采用寄存器间接寻址方式。
2、访问外部数据存储器应采用寄存器间接寻址方式;查表应使用变址寻址方式。
3、在8051单片机中,堆栈操作的指令有PUSH 和 POP两个。
4、在8051单片机中,子程序调用的指令有ACALL 和 LCALL两个。
微机系统及应用习题参考答案第三章指令系统3-4 (1) EA= 7237H(2) EA= BX+D= D5B4H(3) EA= BX=637DH3-5(1) 源操作数为立即寻址方式;目的操作数为寄存器寻址方式(2) 源操作数为基址寻址方式;目的操作数为寄存器寻址方式EA=BX+DISP , PA= DS*16+EA(3) 源操作数为寄存器寻址方式;目的操作数为寄存器间接寻址方式EA=SI , PA= DS*16+EA(4) 源操作数为基址加变址寻址方式;目的操作数为寄存器寻址方式EA=BX+SI , PA= DS*16+EA(5) 源操作数为寄存器寻址方式;目的操作数为寄存器寻址方式(6) 源操作数为基址寻址方式;目的操作数为寄存器寻址方式EA=BX+10H , PA= DS*16+EA(7) 源操作数为寄存器间接寻址方式;目的操作数为寄存器寻址方式EA=SI , PA= ES*16+EA(8) 源操作数为带位移量的基址加变址寻址方式;目的操作数为寄存器寻址方式EA=BX+SI+20H , PA= DS*16+EA(9) 源操作数为寄存器寻址方式;目的操作数为寄存器间接寻址方式EA=BP , PA= SS*16+EA(10) 源操作数为寄存器寻址方式;目的操作数隐含为寄存器间接寻址方式EA=SP , PA= SS*16+EA3-7 分析指令的错误(1)错误, BX、BP均为基址寄存器,8086/8088指令中无基址寄存器相加表示内存单元地址的寻址方式。
(2)错误, VALUE1、VALUE2 都为内存变量,8086/8088指令中源操作数和目标操作数不允许都为存储器操作数。
(3)错误,8086/8088指令中立即数不能直接传送段寄存器。
(4)错误,8086/8088指令中CS不能为目标操作数。
(5)错误,8086/8088指令中立即数不能为目标操作数。
(6)正确(7)错误,8086/8088指令中不允许段寄存器之间传送数据。
指令系统习题解答一、选择题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、指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。
第3章指令系统1,简述下列基本概念:指令,指令系统,机器语言,汇编语言,高级语言。
1、指令:CPU根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言2,什么是计算机的指令和指令系统?2、见第1题。
3,简述89C51汇编指令格式。
3、操作码[目的操作数] [,源操作数]4,简述89C51寻址方式和所能涉及的寻址空间。
5,要访问特殊功能寄存器和片外数据寄存器,应采用哪些寻址方式?5、SFR:直接寻址,位寻址,寄存器寻址;片外RAM:寄存器间接寻址6,在89C51片内RAM中,已知(30H)=38H, (38H)=40H, (40H)=48H, (48H)=90H, 请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。
6、MOV A,40H ;直接寻址(40H)→AMOV R0,A ;寄存器寻址(A)→R0MOV P1,#0F0H ;立即数寻址0F0→P1MOV @R0,30H ;直接寻址(30H)→(R0)MOV DPTR,#3848H ;立即数寻址3848H→DPTRMOV 40H,38H ;直接寻址(38H)→40HMOV R0,30H ;直接寻址(30H)→R0MOV P0,R0 ;寄存器寻址(R0 )→P0MOV 18H,#30H ;立即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址((R0)) →AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H 注意:→左边是内容,右边是单元7,对89C51片内RAM的高128字节的地址空间寻址要注意什么7、用直接寻址,位寻址,寄存器寻址8,指出下列指令的本质区别。
1单选(1分)
下列和指令字长无关的是___。
A.操作码的长度
B.操作数地址的个数
C.数据总线宽度
D.操作数地址的长度
2.假设指令字长为16位,操作数的地址码为6位,指令有零地址、一地址、二地址三种格式。
设操作码固定,若零地址指令有3种,一地址指令有5种,则二地址指令最多有___种。
A.7
B.9
C.8
D.4
3.设机器字长为16位,存储器按字编址,对于单字长指令而言,读取该指令后,PC值自动加______ A.1 B.2 C.3 D. 4
4.设机器字长为16位,存储器按字节编址,CPU读取一条单字长指令后,PC值自动加____ A.1 B.2 C.3 D.4
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.试分别说明下列各指令中操作数使用的寻址方式:
(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.。