某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格式,指令各字段定义如下: 转移指令采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如表1-4所示。 请回答下列问题: 若操作码0010B表示加法操作(助记符为add

admin2017-11-20  21

问题 某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格式,指令各字段定义如下:

转移指令采用相对寻址方式,相对偏移量用补码表示。寻址方式定义如表1-4所示。

  请回答下列问题:
若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语句“add(R4),(R5)+”(逗号前为第二源操作数,逗号后为第一源操作数和目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元的内容会改变?改变后的内容是什么?

选项

答案要得到汇编语句“add(R4),(R5)+”对应的机器码,只要将其对应的指令代码各个字段拼接起来即可。显然,add对应OP字段,为0010B;(R4)的寻址方式字段为001B,R4的编号为100B;(R5)+的寻址方式字段为010,R5的编号为101B;所以,对应的机器码为0010 001100010101B,用十六进制表示为2315H。 指令“add(R4),(R5)+”的功能为M[R[R5]]←M[R[R5]]+M[R[R4]],R[R5]←R[R5]+1。已知RrR41=1234H,R[R5]=5678H,M[1234H]=5678H,M[5678H]=1234H,因为1234H+5678H=68ACH,所以5678H单元中的内容从1234H改变为68ACH,同时R5中的内容从5678H变为5679H。

解析
转载请注明原文地址:https://kaotiyun.com/show/wNRi777K
0

最新回复(0)