习题1——指令系统 参考答案

合集下载

第三章 MCS-51指令系统习题答案

第三章 MCS-51指令系统习题答案

第三章 MCS -51指令系统5 题 分析下面程序段的执行功能。

CLR AMOV R2, AMOV R7, #4LOOP: CLR CMOV A, R0RLC AMOV R0, AMOV A, R1RLC AMOV R1, AMOV A, R2RLC AMOV R2, ADJNZ R7, LO OPSJMP $ 答:将R2:R1:R0所表示的24位二进制数左移4位。

(相当×16)6 题 设系统晶振为12MHZ ,阅读下列程序,分析其功能。

START : SETB P1.0NEXT: MOV 30H, #10LOOP2: MOV 31H, #0FAHLOOP1: NOPNOPDJNZ 31H, LOOP1DJNZ 30H, LOOP2CPL P1.0AJMP NEXTSJMP $答:((2+1+1)*250+2+2)*10+2=10.042(ms) 在P1.0引脚上输出周期为20ms的方波。

7 题 阅读下列程序,分析其功能。

MOV R7, #10MOV A, #30HMOV DPTR, #2000HLOOP : MOVX @DPTR, AINC AINC DPLDJNZ R7, LOOPSJMP$R2 R1R0 0 0 0 0答:在外部数据存储器中的以下地址内存放数据:(2000H)=30H(2001H)=31H(2002H)=32H┇┇(2009H)=39H8 题简述下列程序段完成的功能,程序完成后SP指针应指向哪里?MOV SP, #2FHMOV DPTR, #2000HMOV R7, #50HNEXT: MOVX A, @DPTRPUSH AINC DPLDJNZ R7, NEXTSJMP $答:以内部存储器地址30H作为栈底,从30H开始一直到7FH依次存放外部数据存储器中2000H一直到204FH地址中的数据。

7FH作为栈顶。

程序完成后SP=7FH。

9 题分析下列程序段执行结果,程序执行完后,SP指向哪里?MOV SP, #3FHMOV R0, #40HMOV R7, #10HNEXT: POP AMOV @R0, ADEC R0DJNZ R7, NEXTSJMP $答:将栈中3FH,3EH一直到30H地址中的内容依次放入40H,3FH,…,31H单元中。

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答计算机科学与工程学院黄洪波2012年3月一、单项选择题1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。

A.5000H B.5008H C.23008H D.32008H2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。

A.13000H B.23000H C.33000H D.3000H3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。

A.20200H B.30200H C.50200H D.200H4.指令MOV MEM[BX],AX中的MEM是()。

A.原码B.反码C.补码D.移码5.用来作为寄存器间接寻址的寄存器有()个。

A.8 B.6 C.5 D.46.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。

A.CS B.DS C.SS D.ES7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。

A.CS B.DS C.SS D.ES8.段内间接寻址只改变()中的内容。

A.CS B.IP C.CS和IP D.PSW9.段间间接寻址只改变()中的内容。

A.CS B.IP C.CS和IP D.PSW10.下述指令中不改变PSW的指令是()。

A.MOV AX,BX B.AND AL,0FHC.SHR BX,CL D.ADD AL,BL11.下述指令中不影响CF的指令是()。

A.SHL AL,1 B.INC CXC.ADD [BX],AL D.SUB AX,BX12.两个整数补码9CH和7AH相加运算后,会产生()。

A.无溢出且无进位B.无溢出但有进位C.有溢出且有进位D.有溢出但无进位13.指令JMP WORD PTR [BX]属于()寻址。

A.段内直接B.段内间接C.段间直接D.段间间接14.指令MOV AX,[BX+SI+8]的源操作数属于()寻址。

习题1——指令系统 参考答案

习题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,给出下面各指令或指令组执行后相应寄存器/存储单元的结果。

计算机学科专业基础综合组成原理-指令系统(一)

计算机学科专业基础综合组成原理-指令系统(一)

计算机学科专业基础综合组成原理-指令系统(一)(总分:154.00,做题时间:90分钟)一、单项选择题(总题数:40,分数:80.00)1.下列描述中 ____ 是正确的。

(分数:2.00)A.加法指令的执行周期一定要访存B.加法指令的执行周期一定不访存C.指令的地址码给出存储器地址的加法指令,在执行周期一定访存√D.指令的地址码给出存储器地址的加法指令,在执行周期不一定访存解析:指令的地址码部分是操作数的地址,而地址码给出存储器地址,表示加法指令在执行周期中取出操作数要从存储器中得到,所以一定会访问存储器。

2.基址寻址方式中,操作数的有效地址是 ____ 。

(分数:2.00)A.基址寄存器内容加上形式地址(位移量) √B.程序计数器内容加上形式地址C.变址寄存器内容加上形式地址D.寄存器内容加上形式地址解析:根据基址寻址方式的定义,操作数的有效地址是基址寄存器的内容加上形式地址(位移量)。

3.与本指令的地址有关的寻址方式是 ____ 。

(分数:2.00)A.立即寻址B.寄存器寻址C.相对寻址√D.直接寻址解析:题中四种寻址方式只有相对寻址需要用程序计数器的内容,也就是本指令的地址,所以答案选C。

4.子程序调用指令执行时,要把当前程序计数器(PC)的内容存到 ____ 。

(分数:2.00)A.通用寄存器B.堆栈√C.指令寄存器D.数据缓冲器解析:子程序调用指令执行时,为了在子程序结束后正确返回到主程序中,所以要把当前PC的内容放入堆栈保存起来。

5.存储器按字节编址,在向上生成(地址码减小方向)堆栈中,若约定为实顶栈(即堆栈指针随时指向实有数据的堆顶),设SP=1428H,AX为16位累加寄存器,则执行一条指令PUSH AX后,SP内容为 ____ 。

(分数:2.00)A.1427B.142AC.1430D.1426 √解析:据题意,应该先使(SP)-1,再写入数据,而AX为16位寄存器,占用2个堆栈单元,所以SP的内容减1两次。

计算机组成原理,指令系统,练习题

计算机组成原理,指令系统,练习题

单项选择题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、变址寻址方式中,操作数的有效地址等于______。

〔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、指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。

指令系统练习题及答案(1)

指令系统练习题及答案(1)

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.。

指令系统习题解答

指令系统习题解答

指令系统习题解答公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]指令系统习题解答一、选择题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 改变程序执行顺序为SP指示器的6、堆栈寻址方式中,设A为通用寄存器,SP为堆栈指示器,MSP栈顶单元,如果操作的动作是:(A)→M,(SP)- 1 →SP ,那么出栈的动SP作应是______。

(B)A (M)→A,(SP) + 1→SP ;SP)→A ;B (SP) + 1→SP ,(MSP)→A ;C (SP) - 1→SP ,(MSPD (M)→A ,(SP) - 1→SP ;SP7.指令周期是指______。

(C)A CPU从主存取出一条指令的时间;B CPU执行一条指令的时间;C CPU从主存取出一条指令加上CPU执行这条指令的时间;D 时钟周期时间;8、指令系统采用不同寻址方式的目的是______。

(B)A 实现存贮程序和程序控制;B 缩短指令长度,扩大寻址空间,提高编程灵活性;C 可直接访问外存;D 提供扩展操作码的可能并降低指令译码的难度9、指令的寻址方式有顺序和跳跃两种方式,采用跳跃寻址方式,可以实现______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《汇编语言》习题1——指令系统参考答案
习题1-1 在8086CPU中,如果SS的内容设置为1A4BH,堆栈的长度为100H字节,问SP寄存器的初始化值为多少?SP初始指向哪个主存物理地址?
答:SP寄存器的初始化值为:100H
SP初始指向的主存物理地址是: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) MOV AL,BH
答:(AL) = 12H
(2) MOV CX,-10H[BX][SI]
MOV DX, [BP]
答:
DS:1A260H
BX:1200H SS:20B00H
SI:0034H BP:5700H
-10H ---------------------
--------------------- 26200H
1B484H
所以,(CX)= 1234H,(DX)= 5678H
(3)LEA SI,34H[BX]
MOV [SI],8765H
答:1200H+34H=1234H, (SI)=1234H
(DS)+(SI)=1A260H+1234H=1B494H
所以,(SI)=1234H, (1B494H)=8765H
习题1-5 在8086中,假设(SS)=1F00H,(SP)=1120H,(BX)=11ABH。

在执行下面指令后,堆栈中栈顶的4个字节内容分别是什么?栈顶单元的偏移量是多少?PUSH BX
ADD BX,1200H
PUSH BX
答:(1)栈顶的4个字节内容是:11AB23ABH
(2)栈顶单元的偏移量是:111CH。

相关文档
最新文档