指令系统例题1

合集下载

习题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两次。

第三章 指令系统部分练习

第三章 指令系统部分练习

计算机组成原理第三章指令系统试题出题人:曹玉红出题时间:2009-12-15 班级:_____ 姓名:_____ 得分:一、写出下列指令执行后,寄存器或存贮器的内容。

1.指令执行前(AL)=9AH,(CL)=05H,CF=1,(BL)=84H,执行以下指令:1)XOR AL,70H (AL)=_____ 2)N0T AL (AL)=____3)ADC AL,BL (AL)=_____ 4)INC CL (CL)=______5)DIV CL (AL)=_______ 6)RCL BL,CL (BL)=_______7)SBB AL,BL (AL)=_______ 8)MUL CL (AX)=_______9)SAR AL,CL (AL)=_____ 10) LEA AX,[1000H] (AX)=______ 2.判断下列指令是否有误(对的打对号,错的画叉号)1)MOV [BX],[SI] ______ 2)SHR [BX][DI],3 ____ 3)POP 5[CX][BX] 4)NOT CX,AX ____ 5) STI ____ 6) MOV ES:[BP],0500H ____7)POPF AX ___ 8)XCHG AX,BX ___ 9)MOV WORD1,WORD2 ____ 10)MOV 2BH,AX3.写出下列指令:1)使DX寄存器高3 位为1,其余位不变。

()2)清除CX寄存器。

()3)把0496H传送给AX寄存器。

()4)将AL的带符号数乘以BL的带符号数,结果存入AX中。

()5)把DATA的段地址和偏移地址装入DS和BX中。

()二、单项选择题:1.十进制数215的二进制数为( ),十六进制数为( )。

A.11001111 B.11011011 C.10110111 D.11010111A.0CFH B.0DBH C.0B7H D.0D7H2.设X= -0.1011, 则原码为( ),补码为( )。

第五章 指令系统习题

第五章 指令系统习题

第五章指令系统一、选择题1、采用直接寻址,操作数在中。

A、主存B、寄存器C、硬盘D、光盘2、为了缩短指令中某个地址段的位数,有效的方法是采取。

A、立即寻址B、变址寻址C、间接寻址D、寄存器寻址3、指令系统采用不同寻址方式的目的是。

A、实现存储程序和程序控制B、缩短指令长度,扩大寻址空间,提高编程灵活性C、可以直接访问外存D、提供扩展操作码的可能,并降低指令译码难度4、假设寄存器R中的数值为200,主存地址为200和300的地址单元中存放的内容分别是300和400,则方式下访问到的操作数为200。

A、直接寻址200B、寄存器间接寻址(R)C、存储器间接寻址(200)D、寄存器寻址R5、输入输出指令的功能是。

A、进行算术运算和逻辑运算B、进行主存和CPU之间的数据传送C、进行I/O设备和CPU之间的数据传送D、改变程序执行的顺序6、下列关于RISC的描述中,不正确的是。

A、只选用简单的,使用频率高的指令,所以采用RISC的CPU的性能较差,不能运行复杂的指令B、指令长度固定,指令格式和寻址方式少C、采用硬布线逻辑,提高指令执行的速度D、采用指令流水线技术,大部分指令都能在一个机器周期中完成。

7、间接寻址是指。

A、指令中直接给出操作数地址B、指令中直接给出操作数C、指令中间接给出操作数D、指令中间接给出操作数的地址8、基址寻址方式中,操作数的有效地址等于。

A、基址寄存器的内容加上形式地址(偏移量)B、变址寄存器的内容加上形式地址(偏移量)C、程序计数器的内容加上形式地址(偏移量)D、堆栈寄存器的内容加上形式地址(偏移量)8.通常指令编码的第一个字段是__ __A.操作B.指令C.操作码D.控制码9.堆栈常用于 _A.程序转移B.输入输出C.数据移位D.保护程序现场10.在堆栈中保持不变的是_ _A.栈指针B.栈底C.栈顶D.栈中数据11.设寄存器R=1000,地址1000处的值为2000,2000处为3000,PC的值为4000,用相对寻址方式,-2000(PC)的操作数是__ __A.4000 B.3000C.5000 D.700012.直接转移指令的功能是将指令中的地址代码送入__ __A.PC B.累加器C.存储器 D.地址寄存器13.以下的 D 不能支持数值处理。

指令系统习题

指令系统习题

指令系统习题及参考答案
4、解: (1) MOV MOV ROR CL,4 BX,AX BX,CL
SHR
(2) MOV MOV
BH,CL
CL,4 DX,AX
ROR
SHR XCHG
DX,CL
DH,CL DH,DL
MOV
CX,DX
指令系统习题及参考答案
(3)
MOV
MOV SAL
CL,1
DX,AX DX,CL CL,4 BX,AX BX,CL BL,BH BH,0
2、判别下列语句是否有错并说明理由:
(1) MOV (2) MOV [SI],’A’ AL,BX
(3) MOV
(4) INC (5) MOV (6) MOV (7) MOV (8) MUL (9) PUSH (10) POP
BL,SI+2
[BX] 256,AL AX,BYTE PTR ALFA ALFA,BATA -25 20A0H CS
指令系统习题及参考答案
9、解: mov ax,a cwd mov ;扩展运算符号位到DX c,ax ;存商
idiv b mov d,dx;存余数
8、在A字单元有一个有符号被除数,在B字单元 有一个有符号除数,求其商存于C字单元中, 余数存D字单元中,试编程实现之。
指令系统习题及参考答案
指令系统习题参考答案
2、解: (1)MOV (2)MOV (3) MOV (4) INC (5) MOV [SI],'A' ;错,类型不明确,应改为:MOV BYTE PTR [SI],'A‘ AL,BX ;错,类型不匹配 (8位与16位) BL,SI+2 ;错,应改为 MOV BL,[SI+2] [BX] ;错,类型不明确,应改为:INC BYTE PTR [BX] 或 INC BX 256,AL ;错,立即数只能作源操作数,且256也超出了一个字节范围

51作业(指令系统)

51作业(指令系统)

指令系统作业一、基础知识1.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A、R0和内部RAM中50H、51H、52H单元的内容为何值?MOV A,59HMOV R0,AMOV A,#00HMOV @R0,AMOV A,#25HMOV 51H,AMOV 52H,#70H2.执行下列程序后,A和B寄存器的内容是多少?MOV SP,#3AHMOV A,#20HMOV B,#30HPUSH ACCPUSH BPOP ACCPOP B3.假定外部RAM2000H单元的内容为80H,那么执行下列程序后,A的内容是多少?MOV P2,#20HMOV R0,#00HMOVX A,@R04.假定累加器A的内容为30H。

1000H:MOVC A,@A十PC执行指令后,把程序存储器的哪个单元的内容送累加器A中?5.假定DPTR的内容为8100H,累加器的内容为40H,执行下列指令后,送入的是程序存储器的哪个元的内容?MOVC A,@A十DPTR6.假定(SP)=60H,(ACC)=30H,(B)=70H,(60H)=0FDH,执行下列程序后,SP、60H、61H、62H的内容各是多少?PUSH ACCPUSH B7.假定(SP)=62H,(60H)=0FDH,(61H) =50H,(62H)=7AH,执行下列程序后SP、60H、61H、62H及DPTR的内容各是多少?8.假定(A)=85H,(R0)=20H,(20H) =0AFH,下列执行指令后累加器A的内容及Cy、AC、OV、P的内容是多少?9.假定(A)=85H,(20H)= 0FEH,(Cy)= 1,执行下列指令后累加器A的内容及Cy、AC、OV、P的内容是多少?ADD A,20H10.假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)= 40H,(40H)=00H,执行下列指令后,上述寄存器和存储单元的内容是多少?INC AINC R3INC 30HINC @ R011.假定(A)=56H,(R5)=67H,执行下列指令后A和Cy的内容是多少?A DD A, R5DA A12.假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)= 40H,(40H)=0FFH,执行下列指令后,上述寄存器和存储单元的内容是多少?DEC ADEC R7DEC 30HDEC @R113.分析下列指令序列,写出它所实现的逻辑表达式。

(完整word版)指令系统练习题

指令系统练习题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字单元中,试编程实现之。

第3章答案指令系统1-40

第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,指出下列指令的本质区别。

51作业(指令系统)

指令系统作业一、基础知识1.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A、R0和内部RAM中50H、51H、52H单元的内容为何值?MOV A,59HMOV R0,AMOV A,#00HMOV @R0,AMOV A,#25HMOV 51H,AMOV 52H,#70H2.执行下列程序后,A和B寄存器的内容是多少?MOV SP,#3AHMOV A,#20HMOV B,#30HPUSH ACCPUSH BPOP ACCPOP B3.假定外部RAM2000H单元的内容为80H,那么执行下列程序后,A的内容是多少?MOV P2,#20HMOV R0,#00HMOVX A,@R04.假定累加器A的内容为30H。

1000H:MOVC A,@A十PC执行指令后,把程序存储器的哪个单元的内容送累加器A中?5.假定DPTR的内容为8100H,累加器的内容为40H,执行下列指令后,送入的是程序存储器的哪个元的内容?MOVC A,@A十DPTR6.假定(SP)=60H,(ACC)=30H,(B)=70H,(60H)=0FDH,执行下列程序后,SP、60H、61H、62H的内容各是多少?PUSH ACCPUSH B7.假定(SP)=62H,(60H)=0FDH,(61H) =50H,(62H)=7AH,执行下列程序后SP、60H、61H、62H及DPTR的内容各是多少?8.假定(A)=85H,(R0)=20H,(20H) =0AFH,下列执行指令后累加器A的内容及Cy、AC、OV、P的内容是多少?9.假定(A)=85H,(20H)= 0FEH,(Cy)= 1,执行下列指令后累加器A的内容及Cy、AC、OV、P的内容是多少?ADD A,20H10.假定(A)=0FFH,(R3)=0FH,(30H)=0F0H,(R0)= 40H,(40H)=00H,执行下列指令后,上述寄存器和存储单元的内容是多少?INC AINC R3INC 30HINC @ R011.假定(A)=56H,(R5)=67H,执行下列指令后A和Cy的内容是多少?A DD A, R5DA A12.假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)= 40H,(40H)=0FFH,执行下列指令后,上述寄存器和存储单元的内容是多少?DEC ADEC R7DEC 30HDEC @R113.分析下列指令序列,写出它所实现的逻辑表达式。

计算机组成原理指令系统例题

计算机组成原理指令系统例题计算机组成原理涉及到很多方面,其中指令系统就是其中的一部分。

指令系统是计算机硬件和软件之间的桥梁,它决定了计算机可以完成哪些操作,以及如何完成这些操作。

在计算机的指令系统中,常常会涉及到指令的格式、寻址方式、指令执行周期等内容。

下面我们就来看一道指令系统的例题以加深理解。

例题:有一个带有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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:已知指令字长为12位,每个地址3位。试采用扩展操作码 的方式,设计4条三地址指令、16条二地址指令、64条单地址 指令和16条零地址指令。 (1)画出操作码扩展图; (2)画出指令译码逻辑; (3)计算操作码平均长度。 [解]: (1)操作码扩展图:
000
××× ××× ×××
4条三地 址指令 16条二地 址指令 64条单地 址指令 16条零地 址指令
4:16译码器 …
6:64译码器 …
4:16译码器 …
(4条)
(16条)
(64条)
(16条)
(3)操作码平均长度L:
L 各类指令操作码的总位 指令总条数 4 16 64 16 8 .7 长
4 3 16 6 64 9 16 12
使用操作码扩展方法的基本原则: (1) 使用频率高的指令,应分配短的操作码;使用频率低的指令 则相应地分配较长的操作码。
又已知二地址指令N条,∴剩下的组合[(24-M)×24-N]可用于扩展; ∵ 没有零地址指令, ∴ 单地址指令的条数为: [(24-M)×24-N] ×24
例:某指令系统字长16位,每个地址码位长为6位,若已知有 二地址指令M条;零地址指令N条,问:系统可有单地址指令 多少条?
[解]:设:有单地址指令X条 指令字长16位,地址码6位,∴ 二地址指令可有:24条 已知有二地址指令M条,可用于扩展: (24-M) ∴单地址指令可有: (24-M)×26 已设:有单地址指令X条,可用于扩展: [(24-M)×26-X] ∴零地址指令N条为: [(24-M)×26-X]×26 =N
(2) 应尽量减少操作码的平均码长,有效地缩短操作码在程序 中的长度,既节省存储空间、又可缩短指令的平均译码时 间,提高程序的运行速度,减小控制器的复杂性。
例:某计算机的指令系统指令字长16位,操作数地址需4位, 采用操作码扩展法增加指令条数。已知该系统已有三地址指 令M条、二地址指令N条、没有零地址指令,问:最多还有 多少条单地址指令? [解]: 已知指令字长16位,操作数地址需4位,则: 对于三地址指令:操作码长度为(16-4×3)=4 位; (可有24条指令) 对于二地址指令:操作码可扩展4 位; 对于单地址指令:操作码又可扩展4 位。 ∵已知三地址指令M条,∴剩下的组合(24-M)可用于扩展;

ห้องสมุดไป่ตู้
011 100
101 110
×××
110 111
111
000 : 111 000 : 111 000 : 000
××× ×××
×××
××× ×××
××× ×××
000
111 000
001
×××
000 111
(2)指令译码逻辑图:
(地址码) (操作码)
×××
译码 启动 3:8译码器
×××
×××
×××
可解得: X= (24-M)×26-N/26
相关文档
最新文档