level 1
_苏小轩_
楼主
假设模型计算机的系统结构框图如图7.23(书P279)所示,在该计算机上运行如下程序,该程序的功能为:将数字0-5存放在内存单元10H——15H中,并计算这些数据的累加和,保存在内存单元20H中,并把结果输出至地址为00H的外设端口。
助记符 功能说明
CLR [20H]; 将内存单元20H清0
MOV R2, 05H; 将9置入寄存器R2中
MOV R3, 05H; 将9置入寄存器R3中
ANL R1, R1; 清标志位FC
LL:STA [R3+10H],R2; 将寄存器R2内容存入内存单元
ADD [20H],R2; 累加,并将结果存入内存单元20H
DEC R3; 寄存器R3内容减1
DEC R2; 寄存器R2内容减1
JNC LL; 若寄存器R2减1,无借位,则转到LL处继续执行
OUT [PORTAR],[20H] 将内存单元20H中的结果输出至地址为00H的外设端口。
HLT; 若寄存器R2减1,有借位,停止运行
要求:
1)请自行设计上述指令所对应的机器指令系统(格式请参照P248~P249的格式1~格式4)。(这个只需要举一个例子即可)
2)请画出该指令系统的微程序流程图,并标明每条指令的微地址。
3)请设计微指令代码(微指令格式和微指令字段编码参见P306的表7.11和表7.12)
4) 按设计的指令系统,写出上述程序中,每条指令的机器码以及他们在内存中的地址。
2014年05月28日 13点05分
1
助记符 功能说明
CLR [20H]; 将内存单元20H清0
MOV R2, 05H; 将9置入寄存器R2中
MOV R3, 05H; 将9置入寄存器R3中
ANL R1, R1; 清标志位FC
LL:STA [R3+10H],R2; 将寄存器R2内容存入内存单元
ADD [20H],R2; 累加,并将结果存入内存单元20H
DEC R3; 寄存器R3内容减1
DEC R2; 寄存器R2内容减1
JNC LL; 若寄存器R2减1,无借位,则转到LL处继续执行
OUT [PORTAR],[20H] 将内存单元20H中的结果输出至地址为00H的外设端口。
HLT; 若寄存器R2减1,有借位,停止运行
要求:
1)请自行设计上述指令所对应的机器指令系统(格式请参照P248~P249的格式1~格式4)。(这个只需要举一个例子即可)
2)请画出该指令系统的微程序流程图,并标明每条指令的微地址。
3)请设计微指令代码(微指令格式和微指令字段编码参见P306的表7.11和表7.12)
4) 按设计的指令系统,写出上述程序中,每条指令的机器码以及他们在内存中的地址。