问答题 已知指令格式中形式地址用D表示,程序计数器用PC表示,基址寄存器和变址寄存器都用R。请依据下述指定的寻址方式,用字符表达式表示有效地址EA的计算值:
问答题 立即寻址EA=______。
【正确答案】EA=(PC)。
【答案解析】
问答题 直接寻址EA=______。
【正确答案】EA=D。
【答案解析】
问答题 一次间接寻址EA=______。
【正确答案】EA=(D)。
【答案解析】
问答题 变址寻址EA=______。
【正确答案】EA=(R)+D。
【答案解析】
问答题 基址寻址EA=______。
【正确答案】EA=(R)+D。
【答案解析】
问答题 相对寻址EA=______。
【正确答案】EA=(PC)+D。
【答案解析】
问答题 先变址后间接寻址EA=______。
【正确答案】EA=((R)+D)。
【答案解析】
问答题 先间址后变址寻址EA=______。
【正确答案】EA=(R)+(D)。
注:考生容易出错的是后两种情况,这里的“先”“后”指的是表达式的先后计算顺序,记住这点,就不会出错了。比如EA=(R)+(D)这个表达式,需要先求(D)即先间址。而EA=((R)+D)这个表达式,需要先求D+(R)即先变址。
【答案解析】
问答题 某模型机共有64种操作码,位数固定,且具有以下特点: ·采用一地址或二地址格式。 ·有寄存器寻址、直接寻址和相对寻址(位移量为-128~+127)3种寻址方式。 ·有16个通用寄存器,算术运算和逻辑运算的操作数均在寄存器中,其结果也在寄存器中。 ·取数/存数指令在通用寄存器和存储器之间传送数据。 ·存储器容量为1MB,按字节编址。 ·机器字长为16位。 要求设计算术逻辑指令、取数/存数指令和相对转移指令的格式,分别给出指令字长,并指明每个字段含义。
【正确答案】1)算术逻辑指令格式为“寄存器—寄存器”型,取单字长为16位。
由于通用寄存器有16个,[*],即一个寄存器地址需要占4位。寻址方式有3种,[*],即寻址方式需要占2位。操作码有64种,[*],即操作码占6位。因此指令格式如图1所示。
[*]

图1 指令格式(一)

OP为操作码,M为寻址特征,Ri、Rj分别是源操作数和目的操作数的寄存器编号。
2)取数/存数指令格式为“寄存器—存储器”型,取双字长为32位。
由1)中可得,一个寄存器需要占4位。存储器容量为1M,[*],即一个存储器地址需要20位。由1)知寻址特征占2位,操作码占6位,所以格式如图2所示。
[*]

图2 指令格式(二)

OP为操作码;M为寻址特征;Ri为源操作数地址(存数指令)或目的操作数地址(取数指令);A1和A2共20位,为存储器地址,可直接访问按字节编址的1MB存储器。
3)相对转移指令为一地址格式,取单字长为16位。其中位移量为-128~+127,[*],采用补码表示,对应-128~+127。其他跟1)相同,所以格式如图3所示。
[*]

图3 指令格式(三)
【答案解析】