下列关于“程序计数器(PC)”的说法中,错误的是()。
A.程序计数器专门用于保存下一条指令的所在存储单元的地址
B.即便是“NOP指令/空指令”,取指操作结束后,程序计数器的值也将增1
C.若跳转指令的操作数是转移目标指令的地址,则计算机直接从指令寄存器IR中取出下一条指令的存储地址
D.不能通过指令来读出程序计数器的值
下列几项必须在核心态下执行的指令是()。
A.从内存中取数
B.将运算结果装入内存
C.算术运算
D.输入/输出
当计算机操作系统提供了管态(系统态)和目态(用户态)时,()必须在管态下执行。
A.从内存中取数的指令
B.把运算结果送内存的指令
C.算术运算指令
D.输,A/输出指令
基址寄存器的内容为2000H(H表示十六进制)。变址寄存器内容为03A0H,指令的地址码部分是3FH.当前正在执行的指令所在地址为2B00H.请求出变址编址(考虑基址)和相对编址两种情况的访存有效地址(即实际地址)。
(1)设变址编址用于取数指令,相对编址用于转移指令.存储器内存放的内容如下:
地址 内容
003FH 2300H
2000H 2400H
203FH 2500H
233FH 2600H
23A0H 2700H
23DFH 2800H
2B00H 063FH
请写出从存储器中所取的数据以及转移地址。
(2)若采取直接编址,请写出从存储器取出的数据。
写出以下指令中内存操作数的所在地址。
(1)MOVAL,[BX+5]
(2)MOV[BP+5],AX
(3)INCBYTEPTR[SI+3]
(4)MOVDL,ES:[BX+DI]
(5)MOVBX,[BX+SI+2]
为了减少指令条数,典型的面向定点数的RISC计算机不设置“清除寄存器(置O)指令”和“寄存器之间的数据传送指令”,也不设置“将操作数(存放于寄存器中)取反”的指令。设RISC计算机的算术运算指令均为“采用寄存器寻址的三操作数指令”,格式为: OP R1,R2,R3。 它们的两个源操作数R1和R2必须来自不同的通用寄存器,运算结果(目的操作数)可以存入第3个通用寄存器R3,也可以存入与某个源操作数相同的通用寄存器。 请问:
这样的RISC计算机必须进行怎样特别的系统结构设计,才能用算术运算指令实现“清除寄存器Ri”和“将寄存器Ri的值送入寄存器Rj中”以及“将操作数(存放于寄存器Ri中)取反”。
A.00FCH
B.3200H
C.3600H
D.FC00H