第二章 指令系统例题习题(按朱定华书重编
- 格式:doc
- 大小:59.50 KB
- 文档页数:5
1. 数据类型、数据表示和数据结构之间是什么关系?在设计一个计算机系统时,确定数据表示的原则主要有哪几个? 答:略2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其指令字长和数据字长均为32位。
B 处理机的数据带有标志位,每个数据的字长增加至36位,其中有4位是标志符,它的指令条数由最多256条减少至不到64条。
如果每执行一条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于一个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占用的存储空间大小(包括指令和数据),从中得到什么启发? 答:我们可以计算出数据的总数量:∵ 程序有1000条指令组成,且每条指令平均要访问两个操作数 ∴ 程序访问的数据总数为:1000×2=2000个 ∵ 每个数据平均访问8次∴ 程序访问的不同数据个数为:2000÷8=250对于A 处理机,所用的存储空间的大小为:bit 4000032250321000Mem Mem Mem data n instructio A =⨯+⨯=+=对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:bit 3900036250301000Mem Mem Mem data n instructio B =⨯+⨯=+=由此我们可以看出,由于数据的平均访问次数要大于指令,所以,采用带标志符的数据表示不会增加总的存储空间大小。
3. 对于一个字长为64位的存储器,访问这个存储器的地址按字节编址。
假设存放在这个存储器中的数据中有20%是独立的字节数据(指与这个字节数据相邻的不是一个字节数据),有30%是独立的16位数据,有20%是独立的32位数据,另外30%是独立的64位数据;并且规定只能从一个存储字的起始位置开始存放数据。
⑴计算这种存储器的存储空间利用率。
⑵给出提高存储空间利用率的方法,画出新方法的逻辑框图,并计算这种方法的存储空间利用率。
第二章经典例题一、判断题1、指令系统的CPU能够执行的所有指令的集合(A)解析:一系列指令的序列是程序,指令系统是机器语言2、目前CPU内部的cache采用的是DRAM芯片(B)解析:是SRAM 芯片。
DRAM用来做内存条,以及硬盘中的cache .CPU中的cache一定是SRAM.Cache为什么存在?因为CPU和内存的速度不匹配。
3、目前DVD光驱采用的激光为红色激光或蓝色激光。
(B)解析:红光是CD和DVD;蓝光是BD4、CPU中包含若干个寄存器用来临时存放数据。
(A)解析:CPU组成包含运算器、控制器和寄存器组,寄存器组是用来临时存放数据的。
运算器是用来做运算的。
控制器里有指令计数器和指令寄存器。
指令计数器是存放的要执行的指令的地址,而指令寄存器是取的一条指令之后放到指令寄存器里进行译码.临时的意思是算的时候放在寄存器中,算完了取出来放到内存中,因为寄存器很小。
5、BIOS主要包含四类程序:POST程序、系统自举程序、CMOS设置程序和所有外围设备的驱动程序。
(B)解析:是基本外围设备驱动程序6、CPU运行的系统时钟及各种与其同步的时钟是由CPU内部的控制器提供的。
(B)解析:在一个主板上能够安置什么样的CPU是由芯片组决定的(主要是北桥)。
7、数据传输速率是衡量硬盘性能的一项指标。
硬盘的内部数据传输速率大于外部数据传输速率(B)解析:硬盘内部比较慢,外部比较快外部传输速率:从主机到硬盘缓存内部传输速率:是缓存和盘片之间8、BIOS芯片CMOS芯片实际上是一块芯片的两种叫法,是启动计算机工作的重要部件(B)解析、BIOS是叫基本输入输出系统(他只是存储COMS设置信息的)CMOS是叫设置计算机硬件的基本配置参数的(他有四大程序)BIOS是ROM,是 FLASH ROM(断电后信息保留)CMOS是RAM(断电后信息不保留)可以加一块电池给它供电。
9、CD-ROM光盘上记录信息的光道和一般磁盘的磁道一样的都是同心圆(B)解析:光盘是螺旋形10、对磁盘划分磁道和扇区、建立目录区,应采用磁盘清理操作(B)解析:应采用格式化二、单选题1、若某处理器的地址线数目为34,则其可以访问的最大的内存空间为(C)A、8GBB、8MBC、16GBD、16MB可表达234B个空间;234=22222、下列关于芯片组的叙述。
微机原理习题课第二章习题答案一、填空题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写出下列各数的原码、反码、补码、移码(用二进制数表示)。
(1)-35/64 (2)23/128 (3)-127(4)用小数表示-1 (5)用整数表示-1 (6)用整数表示-128解:-1在定点小数中原码和反码表示不出来,但补码可以表示,-1在定点整数中华表示最大的负数,-128在定点整数表示中原码和反码表示不出来,但补码可以。
例题2设机器字长为16位,分别用定点小数和定点整数表示,分析其原码和补码的表示范围。
解:(1)定点小数表示最小负数最大负数0 最小正数最大正数二进制原码 1.111...111 1.000...001 0.000...001 0.111 (111)十进制真值- (1-215) -2152-151-2-15原码表示的范围:- (1-215) ~1-2-15二进制补码 1.000...000 1.111...111 0.000...001 0.111 (111)十进制真值-1 -2152-151-2-15原码表示的范围:- 1 ~1-2-15(2)定点整数表示最小负数最大负数0 最小正数最大正数二进制原码1111...111 1000...001 0000...001 0111 (111)十进制真值- (215-1) -1 +1 215-1原码表示的范围:- (215-1) ~215-1 [-32767 ~ +32767]二进制补码1000...0001111...111 0000...001 0111 (111)十进制真值-1 +1 215-1原码表示的范围:- 215~215-1 [-32768 ~ +32767]一、选择题1.下列数中最小的数为()。
A.(101001)2B.(52)8C.(101001)BCD D.(233)162.下列数中最大的数为()。
A.(10010101)2B.(227)8C.(96)16D.(143)53.在机器数中,()的零的表示形式是惟一的。
第二章指令系统例题习题一、选择题:1. 指令MOV寻址空间是【】。
A.片外ROM B。
片外RAM C。
片内RAM D。
片内ROM2. 指令MOVX寻址空间是【】。
A.片外ROM B。
片外RAM C。
片内RAM D。
片内ROM3.下列指令中正确的是()。
(A)MOV P2.1,A (B)MOV 20H,30H(C)MOVX B,@DPTR (D)MOV A,@R34. “MUL AB”指令执行后,16位乘积的高位在【】中。
A. AB. CC. ABD. B5. “MOV A, 30H”的寻址方式是【】。
A。
寄存器寻址 B。
寄存器间接寻址 C。
直接寻址 D。
立即寻址6.下列指令中错误的是()。
(A)SETB 50H.0 (B)MOV A,B(C)XCH A,R3 (D)SUBB A,R07、下列各条指令的书写格式正确的是A. MUL R0,R1B. MOVX A, @R1C. MOVC @A+DPTR, AD. MOV A,@R78.当需要从MCS-51单片机程序存储器取数据时,采用的指令为()。
A. MOV A, @R1B. MOVX A, @ R0C. MOVC A, @A+DPTRD.MOVX A, @ DPTR9、若原来使用工作寄存器0组作为当前寄存器组,现要该为1组,不能使用的指令为A)SETB PSW.3 B) MOV PSW.3,1C) SETB 0D0H.3 D) CPL PSW.310、不能为程序存储器提供和构成地址的有A)PC B)AC)DPTR D)PSW11.执行PUSH ACC指令,MCS-51完成的操作是()A). SP+1 SP ,(ACC)(SP)B).(ACC)(SP),SP-1 SPC). SP-1 SP, (ACC) (SP)D).(ACC)(SP),SP+1 SP12.假定累加器A的内容为30H,执行指令:1000H:MOVC A,@A+PC后,把程序存储器()单元的内容送累加器A中A).1000H B).1001HC). 031H D).1030H13.下列指令中不影响标志位CY的指令有()A、ADD A,20HB、CLR C 、RRC A D、INC A二.判断以下指令的正误。
2.9如果GDT寄存器值为0013000000FFH,装人LDTR的选择符为0040H,试问装人描述符高速缓存的LDT描述符的起始地址是多少?解:GDT寄存器的高32位和低16位分别为GDT的基址和段限,所以:GDT的基址=00130000HLDTR选择符的高13位D15~D3=000000001000B是该LDT描述符在GDT中的序号,所以:LDT描述符的起始地址= GDT的基址十LDT描述符相对于GDT基址的偏移值=00130000H+8×8=00130040H2.10假定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的偏移地址=0195H PA=(SS)×16+EA=20195H}2.11下列指令的源操作数字段是什么寻址方式?(1)MOV EAX , EBX (2)MOV EAX,[ ECX] [EBX ](3) MOV EAX,[ESI][EDX * 2] (4)MOV EAx,[ ESI*8]解:(1)寄存器寻址。
一、选择(单选)和填空题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.指令ADD CX,55H的源操作数的寻址方式是( )。
(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,执行后,(BX)=( ) 。
(A) 0102H (B) 0201H (C) 245AH (D) 5A24H5.实模式下80486CPU对指令的寻址由( )决定。
(A) CS,IP (B) DS,IP (C) SS,IP (D) ES,IP6.使用80486汇编语言的伪操作指令定义: V AL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则在V AL存储区内前十个字节单元的数据是( )。
(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)=( )。
单项选择题1 在CPU执行指令的过程中,指令的地址由_____给出。
A 程序计数器PCB 指令的地址码字段C 操作系统D 程序员2 下列关于指令的功能及分类叙述正确的是_____。
A 算术与逻辑运算指令,通常完成算术运算或逻辑运算,都需要两个数据B 移位操作指令,通常用于把指定的两个操作数左移或右移一位C 转移指令,子程序调用与返回指令,用于解决数据调用次序的需要D 特权指令,通常仅用于系统软件,这类指令一般不提供给用户3 零地址的运算类指令在指令格式中不给出操作数的地址,参加的两个操作数来自_____。
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 增加地址码数量C 增加指令数量D 增加寻址空间8 某机器的指令字长为16位,有8个通用寄存器,有8种寻址方式,单操作数指令最多有_____个,双操作数指令最多有_____个。
A 1024 16B 2048 32C 256 64D 1024 329 指令寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现_____。
第二章习题解答第二章习题解答第二章习题解答1.计算机指令由哪两部分形成?他们分别则表示什么含义?解答:计算机的指令通常由两个部分构成:操作码和操作数。
操作码指明计算机应该执行什么样的操作,而操作数则指出该操作处理的数据或数据存放的地址。
2.现代计算机系统存在哪两种类型的指令集?它们分别有什么特点?答疑:复杂指令集计算机(cisc)和精简指令集计算机(risc)cisc结构指令集的特点是:①指令系统繁杂巨大,指令数目通常多达2、3百条。
②串行方式多③指令格式多④指令字长不紧固⑤可访存有指令不提管制⑥各种指令使用频率相差很大⑦各种指令执行时间相差很大risc结构指令集的特点是:①精简了指令系统,流水线以及常用指令均需用硬件继续执行;②采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;③每条指令的功能尽可能简单,并在一个机器周期内完成;④所有指令长度均相同;⑤只有load和store操作方式指令才出访存储器,其它指令操作方式均在寄存器之间展开;3.假定以下c语句中的所有变量为32位的寄存器,请分别采用mips汇编指令实现其功能够:a)f=g+h+i+j;b)f=g+(h+5);c)f=f+f+i;d)f=g+(j+2);解答:灵活使用加法算术运算指令a)addf,g,haddf,f,iaddf,f,jb)addif,h,5addf,f,gc)addf,f,faddf,f,jd)addif,j,2addf,f,g4.假设以下mips编订指令的所有寄存器都已经在c语言中定义,恳请分别使用适当的c语句实现其功能:a)addf,g,hb)addf,f,hc)addf,f,1d)subf,$0,faddf,g,haddif,f,1答疑:a)f=g+h;b)f=f+h;c)f=g+h;d)f=1-f;5.假定字变量f,g,h,i,j分别对应寄存器$s0,$s1,$s2,$s3,$s4,并且字数组a和b的起始地址分别存放在寄存器$s6,$s7中,恳请分别使用mips编订指令同时实现其功能:a)f=g+h+b[4];b)f=g-a[b[4]];c)f=g+h+b[1];d)f=a[b[g]+1];答疑:a)lw$t0,16($s7)b)lw$t0,16($s7)add$s0,$s1,$t0sll$t0,$t0,2add$s0,$s2,$s0add$t1,$ s6,$t0lw$t2,0($t1)sub$s0,$s1,$t2c)lw$t1,4($s7)d)sll$s1,$s1,2add$s0,$s1,$t0add$ t0,$s7,$s1add$s0,$s0,$s2addi$t0,$t0,1sll$t0,$t0,2add$t1,$t0,$s6lw$s0,0($t1)6.假定变量f,g,h,i,j分别对应寄存器$s0,$s1,$s2,$s3,$s4,并且字数组a和b的起始地址分别存放在寄存器$s6,$s7中,恳请分别使用适当的c语句同时实现以下编订指令序列的功能:a)add$s0,$s0,$s1b)lw$s0,4($s6)add$s0,$s0,$s2add$s0,$s0,$s3add$s0,$s0,$s4c)add$s0,$s0,$s1d)addi$s6,$s6,-20add$s0,$s3,$s2add$s6,$s6,$s1add$s0,$s0,$s3lw$s0,8($s6)答疑:a)f=f+g+h+i+j;b)f=a[1]c)f=h+i+i;d)f=a[g/4-5+2]7.分别指出以下各指令序列执行后的结果,假定$t0=0x55555555,$t1=0x12345678a)sll$t2,$t0,4b)sll$t2,$t0,4c)srl$t2,$t0,3and$t2,$t2,$t1andi$t2,$t2,-1andi$t2,$t2,0xffefd)sll$t2,$t0,1e)sll$t2,$t0,1or$t2,$t2,$t1andi$t2,$t2,0x00f0答疑:a)$t2=0x10145450b)$t2=0x55555550c)$t2=0xaaaad)$t2=0xbabefefae)$t2=0xa08.使用编订指令分别针对相同的i,j值女团顺利完成将$t0中的field域充填至$t1中相对应当的field域中,且$t1的其余位都清0.$t0的构成如下:31i+1xxij+1fieldj0xx$t1的构成分别如a),b)所示:a)3115+i-j0000000…..14+i-j15field14000000000000000i-j-10fieldb)31i-j0000…..1)i=7,j=22)i=24,j=5答疑:1)a)andi$s0,$t0,0xf8b)andi$s0,$t0,0xf8sll$t1,$s0,12slr$t1,$s0,32)a)andi$s0,$t0,0x1fe0b)andi$s0,$t0,0x1fe0sll$t1,$s0,12slr$t1,$s0,69.分别针对以下两个汇编指令段回答问题:指令段a)loop:slt$t2,$0,$t1bne$t2,$0,elsejdoneelse:addi$s2,$s2,2addi,$t1,$t1,-1jloopdone:指令段b)loop:addi$t2,$0,0xaloop2:addi$s2,$s2,2addi$t2,$t2,-1bne$t2,$0,loop2addi$t1,$t1,-1bne$t1,$0,loopdone:问题:1)若指令继续执行前$t1=10,$s2=0,那么在分别继续执行以上指令序列后,$s2的值多少?2)假设$s1,$s2,$t1,$t2分别对应变量a,b,i和temp,那么对应以上编订指令序列的c语句分别就是什么?3)如果$t1初始化为n,针对以上指令序列分别须要继续执行多少条指令?答疑:1)a)$s2=0x142*$t1=20b)$s2=0xc82*10*$t12)a)while(i>0){b)do{b=b+2;for(temp=0xa;tem p!=0;temp--)i--;b=b+2;}i--;}while(i!=0)3)当n〉0时a)循环体内指令执行的次数为n,循环体共3条指令,执行次数为3n,循环条件判断指令执行的次数为n+1,共2条指令,执行次数为2(n+1),最后执行一次退出循环指令,因此共执行5n+3条指令b)双重循环,内循环每次继续执行3*10条指令,外循环一次除了内循环之外除了另外3条指令,因此外循环一次共继续执行33条指令,总共继续执行33n条指令当n<=0时,a)仅执行判断及退出指令,共3条b)n=0,将执行33*232条指令;n<0,将执行33*(232+n)条指令10.2.10将以下c语句切换为mips编订指令序列,假设变量a,b,i,j分别对应寄存器$s0,$s1,$t0,$t1,$s2保存着数组d的起始地址。
第二章指令系统例题习题
一、选择题:
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。