监控程序与汇编语言程序设计实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DR ← [SR] [DR] ←SR
Z=0时,跳转到ADR
LDRR DR,[SR]; STRR [DR],SR; PUSH SR;
SR入栈
POP DR; 弹出栈顶数据送DR PSHF; 状态标志(C、Z、V、S、P1、P0)入栈 POPF; 弹出栈顶数据送状态标志寄存器 MVRD DR,DATA; IN I/O PORT; DR ←DATA
Y
139
SHIFT SSH SCI
RAM0,Q15 F15, Cy, C
FLAG SST CZVS
2901_15~12
D
2901_7~4
D Y
Cin
/MMREQ, /IOREQ /MRD,/WE, /RD, /WR
Y
58C65
244
/YTOIB
58C65
/CS?
244
/YTOIB /FTOIB
244
D
A口 B口 I8~I0 SSH SCI SST
内部总线 双线选通门 /SWTOIB /YTOIB /IRLTOIB /FTOIB 控制总线 /MIO REQ /WE /GAR 译 码 器
数据 总线
数据总线 控 制 信 号 FPGA芯片 实现的CPU系统
DC1译码器 DC2 译 码 控制器部件 器
内存体
/GIR /GAR…
•
Gal20v8 器件的管脚 情况和编程使用在主教 完成线路方面的教学实 用于提供输入信号,几 辑运算结果。教学计算 24 23 22 21 20 19 18 17 16 15 14 13 实验系统的数字电路和逻辑设计的实验主要 门的芯片用于这项实验 GAL20V8 生器Timing逻辑功能的 1 2 或 3 CPLD 4 5器件 6 7 8 的编程来实现。 9 10 11 12 通过对PLD器件GAL20V8 MACH 验是可行的,此时要受 这2类芯片输入引脚和8或16个手拨开关相连接,提供实验线路的输入信号, 制。输出只能选择接有 只能选择来自指令寄存 输出引脚和发光二极管指示灯相连接,显示实验线路的运行结果。 10/CLK I1 I2 I3 I 4 I5 I6 I7 I8 I9 I10 GND 适的控制方案,指令寄 GAL20V8器件既可实现组合逻辑的逻辑功能,也可以实现时序逻辑的逻辑功 部总线上的数据,内部 开关的输入。这种方案 能。包括输入缓冲门、输出反馈缓冲门、与门阵列、输出逻辑宏单元等 可以通过手拨数据开关 通过指示灯查看结果, 指示灯 前面提到进行此项 T3 T2 T1 T0 件的限制,主要指的是 路连接等是根据教学计 Vcc I13 I/O7 I/O6 I/O5 I/O4 I/O3 I/O2 I/O1 I/O0 I12 /OE 的,线路已经在主板上 改,实验过程中不能和 生冲突,为此我们会做 人员必须严格遵守这些 24 23 22 21 20 19 18 17 16 15 14 13 果做不出来,严重时甚 GAL20V8 线路。 1 2 3 4 5 6 7 8 9 10 11 12 前面提到的合适的 个方面的问题,一是如 的内容送往内部总线, 10/CLK I1 I2 I3 I 4 I5 I6 I7 I8 I9 I10 GND 接收内部总线上的信息 学计算机组成中的知识
教学实验系统的指令系统
ADD DR,SR; DR←DR+SR SUB DR,SR; DR←DR-SR AND DR,SR; DR←DR and SR OR DR,SR; DR←DR or SR XOR DR,SR; DR←DR xor SR CMP DR,SR; DR-SR TEST DR,SR; DR and SR MVRR DR,SR; DR←SR DEC DR; INC DR; DR←DR-1 DR ←DR+1
CLK 1.8432MHz
DC2
DC1
/SWTOIB /YTOIB /IRLTOIB /FTOIB
CK1 CK
Start
Step Reset Start
SCC GAL
/CC C Z S INT# IR3~0 C_M#
Qc Qd Qb Qa C D 161 B A Vcc GND
MIO REQ WE
当前微地址显示
MACH-4
指令寄存器IR 内部总线IB
• LATTICE MACH器件的性能特点: 第一个使用0.25 微米技术制造的CPLD; 高性能、高密度、电可擦除CMOS CPLD; 集成度1,250 至20,000 个PLD 门,32 至 512 个宏单元; 具有可编程低功耗操作模式,可节省功耗; 可提供高速度,可提供-5ns、-5.5ns、-6ns、 -6.5ns、-7ns、-10ns、-12ns;
实验一: 监控程序与汇编 语言程序设计实验
实验目的
• (1)了解教学计算机的指令格式、指令编码、 选择的寻址方式和具体功能。 • (2)了解汇编语言的语句与机器语言的指令之间的对 应关系,了解伪指令在汇编过程中的作用,学习用汇 编语言设计程序的过程和方法。
• (3)学习教学机监控程序的功能、监控命令的使用方 法,体会软件系统在计算机组成中的地位和作用。
R0 ←[I/O PORT],从外设I/0 PORT端口读入数据到R0
OUT I/O PORT;
RET; 子程序返回 CALA ADR;
[I/O PORT] ←R0,将R0中的数据写入外设I/0 PORT端口
教学实验系统的指令系统
• C组:在取指之后可三步完成,其中CALR指令在用两步完成 一次写内存之后,第三步执行寄存器之间的数据传送;而其它 指令在第一步置地址寄存器AR,第二步读内存并传送到地址寄 存器AR,第三步执行另外一次读、写内存的操作。 扩展指令 CALR、LDRA、STRA、LDRX、STRX • D组:完成的是两次读、写内存操作,在取指之后可四步完成。 基本指令 CALA 扩展指令 IRET
实验内容
• 1.学习联机使用TEC-XP 教学实验系统和仿真终端软件 PCEC.
• 2.使用监控程序的R 命令显示/修改寄存器内容、D 命令 显示存储器内容、E 命令修改存储器内容; • 3.使用A 命令写一小段汇编程序,用G 命令连续运行该 程序,用T、P 命令单步运行并观察程序单步执行情况;
TEC-XP实验系统
地 址 总 线
/GIR
实验系统组成框图
教学计算机的硬件组成框图
微程序的、 硬布线的 控 制 器 8 位的 运算器 按键 功能选择开关 8 位的 内存储器 8位的数据开关
逻辑笔线路 中断实验线路
指示灯
2 路串行接口
+5V 直流电源
8 位的 运算器
8 位的 内存储器
通用可编程接口 扩展实验
指示灯
8位的数据开关
教学实验系统的指令格式
• 在字长为16位的教学计算机系统中,指令是 16位的倍数,支持单字指令和双字指令,指令划分为基本指令 和扩展指令两大类。指令格式: 8位 4位 4位
操作码 DR SR IO端口地址 / 相对偏移量
立即数 / 直接内存地址 / 变址偏移量
• 指令操作码由8位组成(IR15-IR8),各位控制作用不同: • 1.IR15、IR14 区分指令组:0X表示A组,10表示B组,11表示 C、D组; IR11区分C、D组:IRH11=0为C组,IRH11=1为D组。 • 2.IR13区分基本和扩展指令:IRH13=0基本指令,IRH13=1扩展指令; • 3.IR12简化控制器实现,暂定该位的值均为0; • 4.IR11-IR8区分同一指令组中的不同指令。
Vcc I13 I/O7 I/O6 I/O5 I/O4 I/O3 I/O2 I/O1 I/O0 I12 /OE
PLD器件
PLD器件
CM3~CM7 PLR3~PLR7
• 教学计算机的控制器主要线路在MACH 芯片内部实现。
GAL3 GAL4,GAL6
GAL1,2,5,7
24 个 微 型 开 关
开 关 门
MAX202
RxD
8251
RAM15 RAM0 Q15 Q0 Cin
内存芯片片选
RAM0,RAM15, Q0 F15,Cy,F=0,OVR IB7~IB4 /CS0, /CS1,...
F=0000 Cy,OVR,F15 Q15 RAM15
IO 芯片片选
/CE0, /CE1,... Y
AB12~0 58C65 58C65
教学实验系统的指令系统
• 依照指令的执行步骤,教学计算机的指令划为4组。
• A组:通用寄存器之间的数据运算或传送,或其它几项特殊的操作, 在取指之后可一步完成。 基本指令 ADD、SUB、AND、OR、XOR、CMP、TEST、MVRR、 DEC、INC、SHL、SHR、JR、JRC、JRNC、JRZ、JRNZ 扩展指令 ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、 CI、JRS、JRNS、JMPR • B组:完成的是一次内存或I/O读、写操作,在取指之后可两步完成,第 一步把要使用的地址传送到地址寄存器AR中,第二步执行内存或 I/O读、写操作。 基本指令 JMPA、LDRR、STRR、PUSH、POP、PSHF、POPF、 MVRD、IN、OUT、RET
D
2901_12~8
D
2901_3~0
Q0 RAM0
/CS1
6116
DB15~8 245
数据总线
6116
/WE
IB15~8
内部总线 /MAP 地址 /GIR
DB7~0 245
/MIO
IB7~0
244
/IRLTOIB
244 符号扩展 244
CLK
WE
2910
/PL
MAPROM
数据 微指令地址
IR15~8
由3个功能子系统组成: 1.利用中小规模电路设计实现的16位字长的教学计算机系统; 2.用中小规模电路设计实现的8位字长的教学计算机系统; 3.用FPGA门阵列器件设计实现的单芯片CPU组成的教学计算机系统。
/GAR 地址寄存器 电平转换
Y
地 址 总 线 译 码 器
C Z V S
运算器部件
2路串行接口
16个手拨数据开关
MACH器件的输出信号都有指示灯显
选用MACH器件完成线路实验之 前,首先需要看清该器件与其他线路的 连接关系,确保电气信号的正确配合。 MACH器件的输入可以来自指令寄 存器IR,IR可以接收内部总线上的数 据,内部总线可以接收16位数据开关的 内容。因此可以通过16位数据开关向 MACH器件提供实验使用的输入信号, 这与前面讲解选用GAL芯片完成线路实 验的方法很类似。 MACH器件的输出可以选用组合逻 辑控制器使用的33个控制信号,一定要 注意这些信号还与其他3组线路的输出 直接连接在一起,不能使他们的输出信 号产生冲突。这3组线路是: (1)3片74LS244芯片的输出,即 脱机运算器实验使用的24位控制信号; (2)6片GAL芯片的输出信号,在 组合逻辑控制器和TEC-2000机型中的微 程序控制器中都要使用; (3)在TEC-2000A机型中的微序 控制器中的微指令寄存器的输出。 为此,要在这3路输出都处于高阻 态的情况下,才能正确地进行MACH器 件的线路实验。可以通过向这3组电路 给出正确的输出使能控制信号(/OE) 来实现,在MACH器件的逻辑表达式部 分已经有了为此目的而设计的内容,不 要轻易地修改,这涉及到教学计算机组 成中的目前尚未讲到的知识,一旦修改 错了,不仅你的实验不能完成,还很可
IR7~0
下地址
CM1
数据
T3~T0 Timing
A3~0 B3~0 I8~I0 SST2~0 SSH SCI1~0
244
/SWTOIB
开关
开关
MACH435
307.2KHz CK2
153.6kHz /Load
SCC CI3~0
数据
CM0
377
CLK2 IR15~IR8 RESET C_M#
晶振 LS04
教学计算机的硬件组成线路
AR15~AR13 AR6~AR4 AR7 地址总线 接串口设备 /RD /WR C/D RESET TxD /CE0 CLK TxC RxC 153.6kHz /CS0
138
/MMREQ
AR15~8
/GAR /IOREQ
Vcc R
ቤተ መጻሕፍቲ ባይዱ
138
/GAR
AR7~0
控制总线 /MIO REQ /WE
SHL DR;
SHR DR; JRC ADR;
DR逻辑左移,最低位补0,最高位移入C
DR逻辑右移,最高位补0,最低位移入C C=1时,跳转到ADR C=0时,跳转到ADR Z=1时,跳转到ADR
JRNC ADR; JRZ ADR;
教学实验系统的指令系统
JRNZ ADR; JMPA ADR;
• DEC 无条件跳转到地址 DR;DR ADR
Z=0时,跳转到ADR
LDRR DR,[SR]; STRR [DR],SR; PUSH SR;
SR入栈
POP DR; 弹出栈顶数据送DR PSHF; 状态标志(C、Z、V、S、P1、P0)入栈 POPF; 弹出栈顶数据送状态标志寄存器 MVRD DR,DATA; IN I/O PORT; DR ←DATA
Y
139
SHIFT SSH SCI
RAM0,Q15 F15, Cy, C
FLAG SST CZVS
2901_15~12
D
2901_7~4
D Y
Cin
/MMREQ, /IOREQ /MRD,/WE, /RD, /WR
Y
58C65
244
/YTOIB
58C65
/CS?
244
/YTOIB /FTOIB
244
D
A口 B口 I8~I0 SSH SCI SST
内部总线 双线选通门 /SWTOIB /YTOIB /IRLTOIB /FTOIB 控制总线 /MIO REQ /WE /GAR 译 码 器
数据 总线
数据总线 控 制 信 号 FPGA芯片 实现的CPU系统
DC1译码器 DC2 译 码 控制器部件 器
内存体
/GIR /GAR…
•
Gal20v8 器件的管脚 情况和编程使用在主教 完成线路方面的教学实 用于提供输入信号,几 辑运算结果。教学计算 24 23 22 21 20 19 18 17 16 15 14 13 实验系统的数字电路和逻辑设计的实验主要 门的芯片用于这项实验 GAL20V8 生器Timing逻辑功能的 1 2 或 3 CPLD 4 5器件 6 7 8 的编程来实现。 9 10 11 12 通过对PLD器件GAL20V8 MACH 验是可行的,此时要受 这2类芯片输入引脚和8或16个手拨开关相连接,提供实验线路的输入信号, 制。输出只能选择接有 只能选择来自指令寄存 输出引脚和发光二极管指示灯相连接,显示实验线路的运行结果。 10/CLK I1 I2 I3 I 4 I5 I6 I7 I8 I9 I10 GND 适的控制方案,指令寄 GAL20V8器件既可实现组合逻辑的逻辑功能,也可以实现时序逻辑的逻辑功 部总线上的数据,内部 开关的输入。这种方案 能。包括输入缓冲门、输出反馈缓冲门、与门阵列、输出逻辑宏单元等 可以通过手拨数据开关 通过指示灯查看结果, 指示灯 前面提到进行此项 T3 T2 T1 T0 件的限制,主要指的是 路连接等是根据教学计 Vcc I13 I/O7 I/O6 I/O5 I/O4 I/O3 I/O2 I/O1 I/O0 I12 /OE 的,线路已经在主板上 改,实验过程中不能和 生冲突,为此我们会做 人员必须严格遵守这些 24 23 22 21 20 19 18 17 16 15 14 13 果做不出来,严重时甚 GAL20V8 线路。 1 2 3 4 5 6 7 8 9 10 11 12 前面提到的合适的 个方面的问题,一是如 的内容送往内部总线, 10/CLK I1 I2 I3 I 4 I5 I6 I7 I8 I9 I10 GND 接收内部总线上的信息 学计算机组成中的知识
教学实验系统的指令系统
ADD DR,SR; DR←DR+SR SUB DR,SR; DR←DR-SR AND DR,SR; DR←DR and SR OR DR,SR; DR←DR or SR XOR DR,SR; DR←DR xor SR CMP DR,SR; DR-SR TEST DR,SR; DR and SR MVRR DR,SR; DR←SR DEC DR; INC DR; DR←DR-1 DR ←DR+1
CLK 1.8432MHz
DC2
DC1
/SWTOIB /YTOIB /IRLTOIB /FTOIB
CK1 CK
Start
Step Reset Start
SCC GAL
/CC C Z S INT# IR3~0 C_M#
Qc Qd Qb Qa C D 161 B A Vcc GND
MIO REQ WE
当前微地址显示
MACH-4
指令寄存器IR 内部总线IB
• LATTICE MACH器件的性能特点: 第一个使用0.25 微米技术制造的CPLD; 高性能、高密度、电可擦除CMOS CPLD; 集成度1,250 至20,000 个PLD 门,32 至 512 个宏单元; 具有可编程低功耗操作模式,可节省功耗; 可提供高速度,可提供-5ns、-5.5ns、-6ns、 -6.5ns、-7ns、-10ns、-12ns;
实验一: 监控程序与汇编 语言程序设计实验
实验目的
• (1)了解教学计算机的指令格式、指令编码、 选择的寻址方式和具体功能。 • (2)了解汇编语言的语句与机器语言的指令之间的对 应关系,了解伪指令在汇编过程中的作用,学习用汇 编语言设计程序的过程和方法。
• (3)学习教学机监控程序的功能、监控命令的使用方 法,体会软件系统在计算机组成中的地位和作用。
R0 ←[I/O PORT],从外设I/0 PORT端口读入数据到R0
OUT I/O PORT;
RET; 子程序返回 CALA ADR;
[I/O PORT] ←R0,将R0中的数据写入外设I/0 PORT端口
教学实验系统的指令系统
• C组:在取指之后可三步完成,其中CALR指令在用两步完成 一次写内存之后,第三步执行寄存器之间的数据传送;而其它 指令在第一步置地址寄存器AR,第二步读内存并传送到地址寄 存器AR,第三步执行另外一次读、写内存的操作。 扩展指令 CALR、LDRA、STRA、LDRX、STRX • D组:完成的是两次读、写内存操作,在取指之后可四步完成。 基本指令 CALA 扩展指令 IRET
实验内容
• 1.学习联机使用TEC-XP 教学实验系统和仿真终端软件 PCEC.
• 2.使用监控程序的R 命令显示/修改寄存器内容、D 命令 显示存储器内容、E 命令修改存储器内容; • 3.使用A 命令写一小段汇编程序,用G 命令连续运行该 程序,用T、P 命令单步运行并观察程序单步执行情况;
TEC-XP实验系统
地 址 总 线
/GIR
实验系统组成框图
教学计算机的硬件组成框图
微程序的、 硬布线的 控 制 器 8 位的 运算器 按键 功能选择开关 8 位的 内存储器 8位的数据开关
逻辑笔线路 中断实验线路
指示灯
2 路串行接口
+5V 直流电源
8 位的 运算器
8 位的 内存储器
通用可编程接口 扩展实验
指示灯
8位的数据开关
教学实验系统的指令格式
• 在字长为16位的教学计算机系统中,指令是 16位的倍数,支持单字指令和双字指令,指令划分为基本指令 和扩展指令两大类。指令格式: 8位 4位 4位
操作码 DR SR IO端口地址 / 相对偏移量
立即数 / 直接内存地址 / 变址偏移量
• 指令操作码由8位组成(IR15-IR8),各位控制作用不同: • 1.IR15、IR14 区分指令组:0X表示A组,10表示B组,11表示 C、D组; IR11区分C、D组:IRH11=0为C组,IRH11=1为D组。 • 2.IR13区分基本和扩展指令:IRH13=0基本指令,IRH13=1扩展指令; • 3.IR12简化控制器实现,暂定该位的值均为0; • 4.IR11-IR8区分同一指令组中的不同指令。
Vcc I13 I/O7 I/O6 I/O5 I/O4 I/O3 I/O2 I/O1 I/O0 I12 /OE
PLD器件
PLD器件
CM3~CM7 PLR3~PLR7
• 教学计算机的控制器主要线路在MACH 芯片内部实现。
GAL3 GAL4,GAL6
GAL1,2,5,7
24 个 微 型 开 关
开 关 门
MAX202
RxD
8251
RAM15 RAM0 Q15 Q0 Cin
内存芯片片选
RAM0,RAM15, Q0 F15,Cy,F=0,OVR IB7~IB4 /CS0, /CS1,...
F=0000 Cy,OVR,F15 Q15 RAM15
IO 芯片片选
/CE0, /CE1,... Y
AB12~0 58C65 58C65
教学实验系统的指令系统
• 依照指令的执行步骤,教学计算机的指令划为4组。
• A组:通用寄存器之间的数据运算或传送,或其它几项特殊的操作, 在取指之后可一步完成。 基本指令 ADD、SUB、AND、OR、XOR、CMP、TEST、MVRR、 DEC、INC、SHL、SHR、JR、JRC、JRNC、JRZ、JRNZ 扩展指令 ADC、SBB、RCL、RCR、ASR、NOT、CLC、STC、EI、 CI、JRS、JRNS、JMPR • B组:完成的是一次内存或I/O读、写操作,在取指之后可两步完成,第 一步把要使用的地址传送到地址寄存器AR中,第二步执行内存或 I/O读、写操作。 基本指令 JMPA、LDRR、STRR、PUSH、POP、PSHF、POPF、 MVRD、IN、OUT、RET
D
2901_12~8
D
2901_3~0
Q0 RAM0
/CS1
6116
DB15~8 245
数据总线
6116
/WE
IB15~8
内部总线 /MAP 地址 /GIR
DB7~0 245
/MIO
IB7~0
244
/IRLTOIB
244 符号扩展 244
CLK
WE
2910
/PL
MAPROM
数据 微指令地址
IR15~8
由3个功能子系统组成: 1.利用中小规模电路设计实现的16位字长的教学计算机系统; 2.用中小规模电路设计实现的8位字长的教学计算机系统; 3.用FPGA门阵列器件设计实现的单芯片CPU组成的教学计算机系统。
/GAR 地址寄存器 电平转换
Y
地 址 总 线 译 码 器
C Z V S
运算器部件
2路串行接口
16个手拨数据开关
MACH器件的输出信号都有指示灯显
选用MACH器件完成线路实验之 前,首先需要看清该器件与其他线路的 连接关系,确保电气信号的正确配合。 MACH器件的输入可以来自指令寄 存器IR,IR可以接收内部总线上的数 据,内部总线可以接收16位数据开关的 内容。因此可以通过16位数据开关向 MACH器件提供实验使用的输入信号, 这与前面讲解选用GAL芯片完成线路实 验的方法很类似。 MACH器件的输出可以选用组合逻 辑控制器使用的33个控制信号,一定要 注意这些信号还与其他3组线路的输出 直接连接在一起,不能使他们的输出信 号产生冲突。这3组线路是: (1)3片74LS244芯片的输出,即 脱机运算器实验使用的24位控制信号; (2)6片GAL芯片的输出信号,在 组合逻辑控制器和TEC-2000机型中的微 程序控制器中都要使用; (3)在TEC-2000A机型中的微序 控制器中的微指令寄存器的输出。 为此,要在这3路输出都处于高阻 态的情况下,才能正确地进行MACH器 件的线路实验。可以通过向这3组电路 给出正确的输出使能控制信号(/OE) 来实现,在MACH器件的逻辑表达式部 分已经有了为此目的而设计的内容,不 要轻易地修改,这涉及到教学计算机组 成中的目前尚未讲到的知识,一旦修改 错了,不仅你的实验不能完成,还很可
IR7~0
下地址
CM1
数据
T3~T0 Timing
A3~0 B3~0 I8~I0 SST2~0 SSH SCI1~0
244
/SWTOIB
开关
开关
MACH435
307.2KHz CK2
153.6kHz /Load
SCC CI3~0
数据
CM0
377
CLK2 IR15~IR8 RESET C_M#
晶振 LS04
教学计算机的硬件组成线路
AR15~AR13 AR6~AR4 AR7 地址总线 接串口设备 /RD /WR C/D RESET TxD /CE0 CLK TxC RxC 153.6kHz /CS0
138
/MMREQ
AR15~8
/GAR /IOREQ
Vcc R
ቤተ መጻሕፍቲ ባይዱ
138
/GAR
AR7~0
控制总线 /MIO REQ /WE
SHL DR;
SHR DR; JRC ADR;
DR逻辑左移,最低位补0,最高位移入C
DR逻辑右移,最高位补0,最低位移入C C=1时,跳转到ADR C=0时,跳转到ADR Z=1时,跳转到ADR
JRNC ADR; JRZ ADR;
教学实验系统的指令系统
JRNZ ADR; JMPA ADR;
• DEC 无条件跳转到地址 DR;DR ADR