第4章指令系统-堆栈寻址和习题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
式种类相对CISC少
第4章 指令系统
【通考真题3】 某计算机字长16位,主存地址空间大小为
128KB,按字编址,采用定长指令格式,指令各 字段定义如下:
转移指令采用相对寻址方式,相对偏移是用补码 表示,寻址方式定义如下:
第4章 指令系统
(1)该指令系统最多可有多少条指令?该计算机最多 有多少个通用寄存器?存储器地址寄存器(MAR)和 存储器数据寄存器(MDR)至少各需多少位?(16,8, 16,16)
A.先使(SP)+1,再读出数据 B.先读出数据,再使(SP)+1 C.先使(SP)-1 ,再读出数据 D.先读出数据,再使(SP)-1
第4章 指令系统
【通考真题1】 某机器字长16位,主存按字节编址,
转移指令采用相对寻址,由两个字节组 成,第一个字节为操作码字段,第二字 节为相对位移量字段。假定取指令时, 每取一个字节PC自动加1。若某转移指令 所在主存地址为2000H,相对位移量字段 的内容为06H,则该转移指令成功转移后 的目标地址是( )
第4章 指令系统
【例4.6】在一个36位长的指令系统中, 设计一个扩展操作码,使之能表示 下列指令:
(1)7条具有两个15位地址和一个3位 地址的指令;
(2)500条具有一个15位地址和一个3 位地址的指令;
(3)50条无地址指令。
(1) (2) (3)
OP (3) 000 … 010
A.2006H B.2007H C.2008H D.2009H
第4章 指令系统
【通考真题2】 下列关于RISC的叙述中,错误的是( )
A.RISC普遍采用微程序控制器 B.RISC大多数指令在一个时钟周期内
完成 C.RISC 的 内 部 通 用 寄 存 器 数 量 相 对
CISC多 D.RISC的指令数、寻址方式和指令格
第4章 指令系统
【例4.4】设机器字长32位,一个容量 为16MB的存储器,CPU按半字寻址, 其寻址单元数是( )
A.224 B.223 C.222 D.221
【例4.5】设机器字长32位,一个容量 为16MB的存储器,若按双字编址, 其寻址单元数是( )
A.8MB B.2M C.4M D.16M
第4章 指令系统例题
【例4.1】某计算机存储器按字(16位)编址,每取 出一条指令后PC值自动加1,说明其指令长度 是( )。
A.1个字节 B.2个字节 C.3个字节 D.4个字节
第4章 指令系统
【例4.2】在关于一地址运算类指令的叙述中, 正确的是( )
A.仅有一个操作数,其地址由指令的地址码提 供
第4章 指令系统
【例4.9】在变址寄存器寻址方式中, 若 变 址 寄 存 器 的 内 容 是 4E3CH , 指 令中的形式地址是63H,则它对应的 有效地址是( )
A.63H B.4D9FH C.4E3CH D.4E9FH
第4章 指令系统
【例4.10】一条双字长的LOAD指令存储在地址为200和201的存
储位置,该指令将指定的内容装入累加器AC中。指令的第一个字
指定操作码和寻址方式,第二字是地址部分。寄存器与主存内容
示意图如图所示,指令的寻址方式字段可指定任何一种寻址方式。
问在下列寻址方式中,装入AC的值。
(1)直接寻址 (2)立即寻址 (3)间接寻址 (4)相对寻址 (5)变址寻址 (6)寄存器R1寻址
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(3)寄存器寻址的二地址指令8条。
OP(8)
11110000 11110001 …… 11110111
(2)转移指令的目标地址范围是多少?(0~216-1)
(3)若操作码0010B表示加法操作(助记符add),寄存 器R4和R5的编号分别为100B和101B,R4的内容 为 1234H , R5 的 内 容 为 5678H , 地 址 1234H 的 内 容为5678H,地址5678H中的内容为1234H,则汇 编语句为”add(R4),(R5)+”(逗号前为源操作数,逗 号后为目的操作数)对应的机器码是什么(用十六进 制表示)?该指令执行后,哪些寄存器和存储单元 的内容会改变?改变后的内容是什么?(2315H, (R5)=5679H,存储单元5678H的内容变为68ACH)
Ri(4)
Rj(4)
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(4)直接寻址的一地址指令12条。
OP(9)
111110000 111110001 …… 111111011
… 000000000000000000
第4章 指令系统
【例4.7】某机字长16位,存储器直接寻址空间 128字,变址时的位移量为-64~63,16个通用寄存 器可作为变址寄存器。设计一套指令系统格式, 满足下列寻址类型的要求。 (1)直接寻址的二地址指令3条。 (2)变址寻址的一地址指令6条。 (3)寄存器寻址的二地址指令8条。 (4)直接寻址的一地址指令12条。 (5)零地址指令32条。 试问还有多少种代码未用?若安排寄存器寻址
POP A 后
主存
栈顶
15
200H
X
栈底
(3) SP 的修改与主存编址方法有关
① 按 字 编址
进栈 (SP)– 1 SP
出栈 (SP)+ 1 SP
② 按 字节 编址
存储字长 16 位 进栈 (SP)– 2 SP
出栈 (SP)+ 2 SP 存储字长 32 位 进栈 (SP)– 4 SP
出栈 (SP)+ 4 SP
第4章 指令系统
【例4.8】假设寄存器R中的数值为200,主存地 址为200和300的地址单元中存放的内容分别是 300和400,若访问到的操作数是200,则寻址 方式是( )
A.直接寻址200 B.寄存器间接寻址(R) C.存储器间接寻址(200) D.寄存器寻址R
分析:直接寻址200和寄存器间接寻址(R)获得的 操作数是300,存储器间接寻址(200)获得操作 数是400,寄存器寻址R获得操作数200.
第4章 指令系统
某机字长16位,存储器直接寻址空间128字,变 址时的位移量为-64~63,16个通用寄存器可作为 变址寄存器。设计一套指令系统格式,满足下列 寻址类型的要求。
试问还有多少种代码未用?若安排寄存器寻址的 一地址指令,还能容纳多少条?(480,30)
OP(12)
Ri(4)
1111111000011111 1111111111111111
A.(MSP)A, (SP)+1SP B. (SP)+1SP , (MSP)A C. (SP)-1SP , (MSP)A D.以上都不对
第4章 指令系统
【例4.12】在向上生成(地址码减小方 向)堆栈中,若约定为实顶栈(即堆栈 指针随时指向实有数据的堆栈),则 正确的弹出数据操作为( )
出栈
栈顶 栈顶
… …
栈底
栈底
(2) 堆栈寻址举例
主存
ACC 15
栈顶
SP
200H
200H
X
PUSH A 前
栈底
ACC 15 SP 1FFH
主存
栈顶 1FFH 15 200H X
PUSH A 后
栈底
ACC Y SP 1FFH
栈顶 1FFH
200H
主存
15 X
POP A 前
栈底
ACC 15 SP 200H
OP1 (3)
A1 (15) OP2(15)
000000000000000
111
…
000000111110011
OP1 (3)
OP2(15)
000000111110100
111
…
000001000100101
第4章 指令系统
A2 (15)
A3 (3)
A1 (15)
A2 (3)
OP3(18) 000000000000000000
(800) (500) (300) (325) (900) (400)
(7)寄存器R1间接寻址
(700)
第4章 指令系统
【例4.11】堆栈寻址中,设A为累加器, SP为堆栈指示器,MSP为SP指示的 栈顶单元,如果进栈操作的动作顺 序是(A)MSP,(SP)-1SP,那么 出栈操作动作顺序应为( )
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(2)变址寻址的一地址指令6条。
OP(5)
11000 11001 …… 11101
Rx(4)
A(7)
B.可能有一个操作数,也可能有两个操作数 C.一定有两个操作数,另一个是隐含的 D.指令的地址码字段存放的一定是操作码
第4章 指令系统
【例4.3】一个计算机系统采用32位单字长指令, 地址码为12位,如果定义了250条二地址指令, 那么单地址指令的条数有( )
A.4K B.8K C.16K D.24K
A(7)
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(5)零地址指令32条。
OP(16)
1111111000000000 1111111000000001 …… 1111111000011111
的一地址指令,还能容纳多少条?
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(1)直接寻址的二地址指令3条。
OP(2)
00 01 10
A1(7)
A2(7)
10. 堆栈寻址
(1) 堆栈的特点
硬堆栈 堆栈
软堆栈
多个寄存器 指定的存储空间
先进后出(一个入出口) 栈顶地址 由 SP 指出
进栈 (SP)– 1 SP 出栈 (SP)+ 1 SP
SP
1FFFH 2000 H
12F0F00F H
–1
进栈
栈顶ห้องสมุดไป่ตู้栈顶
SP
1FFFH 2000 H
12F0F00F HH
+1
第4章 指令系统
【通考真题3】 某计算机字长16位,主存地址空间大小为
128KB,按字编址,采用定长指令格式,指令各 字段定义如下:
转移指令采用相对寻址方式,相对偏移是用补码 表示,寻址方式定义如下:
第4章 指令系统
(1)该指令系统最多可有多少条指令?该计算机最多 有多少个通用寄存器?存储器地址寄存器(MAR)和 存储器数据寄存器(MDR)至少各需多少位?(16,8, 16,16)
A.先使(SP)+1,再读出数据 B.先读出数据,再使(SP)+1 C.先使(SP)-1 ,再读出数据 D.先读出数据,再使(SP)-1
第4章 指令系统
【通考真题1】 某机器字长16位,主存按字节编址,
转移指令采用相对寻址,由两个字节组 成,第一个字节为操作码字段,第二字 节为相对位移量字段。假定取指令时, 每取一个字节PC自动加1。若某转移指令 所在主存地址为2000H,相对位移量字段 的内容为06H,则该转移指令成功转移后 的目标地址是( )
第4章 指令系统
【例4.6】在一个36位长的指令系统中, 设计一个扩展操作码,使之能表示 下列指令:
(1)7条具有两个15位地址和一个3位 地址的指令;
(2)500条具有一个15位地址和一个3 位地址的指令;
(3)50条无地址指令。
(1) (2) (3)
OP (3) 000 … 010
A.2006H B.2007H C.2008H D.2009H
第4章 指令系统
【通考真题2】 下列关于RISC的叙述中,错误的是( )
A.RISC普遍采用微程序控制器 B.RISC大多数指令在一个时钟周期内
完成 C.RISC 的 内 部 通 用 寄 存 器 数 量 相 对
CISC多 D.RISC的指令数、寻址方式和指令格
第4章 指令系统
【例4.4】设机器字长32位,一个容量 为16MB的存储器,CPU按半字寻址, 其寻址单元数是( )
A.224 B.223 C.222 D.221
【例4.5】设机器字长32位,一个容量 为16MB的存储器,若按双字编址, 其寻址单元数是( )
A.8MB B.2M C.4M D.16M
第4章 指令系统例题
【例4.1】某计算机存储器按字(16位)编址,每取 出一条指令后PC值自动加1,说明其指令长度 是( )。
A.1个字节 B.2个字节 C.3个字节 D.4个字节
第4章 指令系统
【例4.2】在关于一地址运算类指令的叙述中, 正确的是( )
A.仅有一个操作数,其地址由指令的地址码提 供
第4章 指令系统
【例4.9】在变址寄存器寻址方式中, 若 变 址 寄 存 器 的 内 容 是 4E3CH , 指 令中的形式地址是63H,则它对应的 有效地址是( )
A.63H B.4D9FH C.4E3CH D.4E9FH
第4章 指令系统
【例4.10】一条双字长的LOAD指令存储在地址为200和201的存
储位置,该指令将指定的内容装入累加器AC中。指令的第一个字
指定操作码和寻址方式,第二字是地址部分。寄存器与主存内容
示意图如图所示,指令的寻址方式字段可指定任何一种寻址方式。
问在下列寻址方式中,装入AC的值。
(1)直接寻址 (2)立即寻址 (3)间接寻址 (4)相对寻址 (5)变址寻址 (6)寄存器R1寻址
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(3)寄存器寻址的二地址指令8条。
OP(8)
11110000 11110001 …… 11110111
(2)转移指令的目标地址范围是多少?(0~216-1)
(3)若操作码0010B表示加法操作(助记符add),寄存 器R4和R5的编号分别为100B和101B,R4的内容 为 1234H , R5 的 内 容 为 5678H , 地 址 1234H 的 内 容为5678H,地址5678H中的内容为1234H,则汇 编语句为”add(R4),(R5)+”(逗号前为源操作数,逗 号后为目的操作数)对应的机器码是什么(用十六进 制表示)?该指令执行后,哪些寄存器和存储单元 的内容会改变?改变后的内容是什么?(2315H, (R5)=5679H,存储单元5678H的内容变为68ACH)
Ri(4)
Rj(4)
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(4)直接寻址的一地址指令12条。
OP(9)
111110000 111110001 …… 111111011
… 000000000000000000
第4章 指令系统
【例4.7】某机字长16位,存储器直接寻址空间 128字,变址时的位移量为-64~63,16个通用寄存 器可作为变址寄存器。设计一套指令系统格式, 满足下列寻址类型的要求。 (1)直接寻址的二地址指令3条。 (2)变址寻址的一地址指令6条。 (3)寄存器寻址的二地址指令8条。 (4)直接寻址的一地址指令12条。 (5)零地址指令32条。 试问还有多少种代码未用?若安排寄存器寻址
POP A 后
主存
栈顶
15
200H
X
栈底
(3) SP 的修改与主存编址方法有关
① 按 字 编址
进栈 (SP)– 1 SP
出栈 (SP)+ 1 SP
② 按 字节 编址
存储字长 16 位 进栈 (SP)– 2 SP
出栈 (SP)+ 2 SP 存储字长 32 位 进栈 (SP)– 4 SP
出栈 (SP)+ 4 SP
第4章 指令系统
【例4.8】假设寄存器R中的数值为200,主存地 址为200和300的地址单元中存放的内容分别是 300和400,若访问到的操作数是200,则寻址 方式是( )
A.直接寻址200 B.寄存器间接寻址(R) C.存储器间接寻址(200) D.寄存器寻址R
分析:直接寻址200和寄存器间接寻址(R)获得的 操作数是300,存储器间接寻址(200)获得操作 数是400,寄存器寻址R获得操作数200.
第4章 指令系统
某机字长16位,存储器直接寻址空间128字,变 址时的位移量为-64~63,16个通用寄存器可作为 变址寄存器。设计一套指令系统格式,满足下列 寻址类型的要求。
试问还有多少种代码未用?若安排寄存器寻址的 一地址指令,还能容纳多少条?(480,30)
OP(12)
Ri(4)
1111111000011111 1111111111111111
A.(MSP)A, (SP)+1SP B. (SP)+1SP , (MSP)A C. (SP)-1SP , (MSP)A D.以上都不对
第4章 指令系统
【例4.12】在向上生成(地址码减小方 向)堆栈中,若约定为实顶栈(即堆栈 指针随时指向实有数据的堆栈),则 正确的弹出数据操作为( )
出栈
栈顶 栈顶
… …
栈底
栈底
(2) 堆栈寻址举例
主存
ACC 15
栈顶
SP
200H
200H
X
PUSH A 前
栈底
ACC 15 SP 1FFH
主存
栈顶 1FFH 15 200H X
PUSH A 后
栈底
ACC Y SP 1FFH
栈顶 1FFH
200H
主存
15 X
POP A 前
栈底
ACC 15 SP 200H
OP1 (3)
A1 (15) OP2(15)
000000000000000
111
…
000000111110011
OP1 (3)
OP2(15)
000000111110100
111
…
000001000100101
第4章 指令系统
A2 (15)
A3 (3)
A1 (15)
A2 (3)
OP3(18) 000000000000000000
(800) (500) (300) (325) (900) (400)
(7)寄存器R1间接寻址
(700)
第4章 指令系统
【例4.11】堆栈寻址中,设A为累加器, SP为堆栈指示器,MSP为SP指示的 栈顶单元,如果进栈操作的动作顺 序是(A)MSP,(SP)-1SP,那么 出栈操作动作顺序应为( )
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(2)变址寻址的一地址指令6条。
OP(5)
11000 11001 …… 11101
Rx(4)
A(7)
B.可能有一个操作数,也可能有两个操作数 C.一定有两个操作数,另一个是隐含的 D.指令的地址码字段存放的一定是操作码
第4章 指令系统
【例4.3】一个计算机系统采用32位单字长指令, 地址码为12位,如果定义了250条二地址指令, 那么单地址指令的条数有( )
A.4K B.8K C.16K D.24K
A(7)
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(5)零地址指令32条。
OP(16)
1111111000000000 1111111000000001 …… 1111111000011111
的一地址指令,还能容纳多少条?
第4章 指令系统
某机字长16位,存储器直接寻址空间128字, 变址时的位移量为-64~63,16个通用寄存器可 作为变址寄存器。设计一套指令系统格式,满 足下列寻址类型的要求。
(1)直接寻址的二地址指令3条。
OP(2)
00 01 10
A1(7)
A2(7)
10. 堆栈寻址
(1) 堆栈的特点
硬堆栈 堆栈
软堆栈
多个寄存器 指定的存储空间
先进后出(一个入出口) 栈顶地址 由 SP 指出
进栈 (SP)– 1 SP 出栈 (SP)+ 1 SP
SP
1FFFH 2000 H
12F0F00F H
–1
进栈
栈顶ห้องสมุดไป่ตู้栈顶
SP
1FFFH 2000 H
12F0F00F HH
+1