课程名称:计算机组成原理
课程设计名称:微程序控制器设计简单计算机
使用实验器材:Dais-CMH+计组试验箱、相关软件
实验过程:
源程序区数据:
;基本模型机程序
#LOAD "123.IS" ;预调入指令系统/微程序
#SET RAM 0260h = 1222h ;数据区0260H单元预置数据1222h
data segment ;将程序装载到数据存储器
assume ds:data
org 0
start: in r0, iol ;IO口低字节放入寄存器R0
mov r1, 0260h ;内存0260地址的数据0x01放到R1
bu r0, r0 ;R0求补码:R0取反放回R0 再加1放回R0
add r0, 0260h ;R0加内存0260地址的数据
sub r0, 0260h ;R0减内存0260地址的数据
sta 0261h, r0 ;把R0中的数据放入内存中为0261地址中
exc r0,r0 ;R0高四位与低四位交换
out ioh, 0261h;输出0261h的数
and r0, r1 ;断定方式 R0 R1 相与放到R1
ina ax, io ;将io数据放置ax
inb bx, io ;将io数据放置bx
ADD1 cx, ax,bx ;通过ALU实现ax与bx数值相加
jmp start ;回到开始
data ends
end start
指令系统数据:
;基本模型机指令系统
;助记符 操作数 指令码 长度
;-----------------------------------------------------
IN R0,IOL 20 1 ;将IOL数据读出到寄存器R0
MOV R1,* C4 3 ;将内存中的数据放入R1
BU R0,R0 E0 1 ;R0求补码放回R0
ADD R0,* E5 3 ;直接字节加到寄存器R0
SUB R0,* 40 3 ;直接字节减到寄存器R0
STA *,R0 60 3 ;寄存器R0写入直接内存
EXC R0,R0 00 1 ;交换R0高四位与低四位
OUT IOH,* 80 3 ;直接字节输出到IOH
AND R0,R1 41 1 ;断定方式逻辑与
INA ax,io 45 1 ;将IO端口数据输入到AX
INB bx,io 48 1 ;将IO端口数据输入到BX
ADD1 cx,ax,bx 65 1 ;将ALU运算后得相加放到CX
JMP * A0 3 ;无条件转移
实验截图:
界面:
IO口低字节放入寄存器R0
内存0260地址的数据0x01放到R1
R0求补码:R0取反放回R0再加1放回R0
R0减内存0260地址的数据
把R0中的数据放入内存中为0261地址中
R0高四位与低四位交换
输出0261h的数
R0 R1 相与放到R1
将io数据放置ax;;将io数据放置bx
通过ALU实现ax与bx数值相加
回到开始