58
TEC-2000 Virtual Machine 使使使使 使使使使使使使使使使使使使 使使使使 使使使 使使使 使使使使 使使使

TEC-2000 Virtual Machine 使用手册

  • Upload
    amil

  • View
    227

  • Download
    8

Embed Size (px)

DESCRIPTION

TEC-2000 Virtual Machine 使用手册. 南京大学计算机科学与技术系 程序设计:李振华 李秦霖 界面制作:袁瑞峰. 开发背景. 大三上学期,我们做计算机组成原理实验,使用的机器是 TEC-2000 单片机(清华大学设计,清华同方制造)。它使用标准芯片,硬件设施比较完备,适合教学和实验。 在此基础上,我们设计并开发了 TEC-2000 虚拟机软件。一方面,它实现了一台虚拟机,运行虚拟机可以取得和原来单片机实际运行一样的效果;另一方面,虚拟机可以通过串口与真实单片机进行通信,与两台单片机通信过程一致。 - PowerPoint PPT Presentation

Citation preview

Page 1: TEC-2000 Virtual Machine 使用手册

TEC-2000 Virtual Machine使用手册

南京大学计算机科学与技术系程序设计:李振华 李秦霖界面制作:袁瑞峰

Page 2: TEC-2000 Virtual Machine 使用手册

开发背景 大三上学期,我们做计算机组成原理实验,使用的

机器是 TEC-2000 单片机(清华大学设计,清华同方制造)。它使用标准芯片,硬件设施比较完备,适合教学和实验。

在此基础上,我们设计并开发了 TEC-2000 虚拟机软件。一方面,它实现了一台虚拟机,运行虚拟机可以取得和原来单片机实际运行一样的效果;另一方面,虚拟机可以通过串口与真实单片机进行通信,与两台单片机通信过程一致。

同时,虚拟机增添了许多原来单片机所没有的功能,给实验编码、运行、调试和观察带来很大的方便。

请注意将 TVM ( TEC-2000 Virtual Machine )文件夹放在 C 盘(或 D 盘)根目录下。

Page 3: TEC-2000 Virtual Machine 使用手册

运行程序 本软件不需要安装,双击 TVM 文件夹下的 TEC Pro.exe 即可运行。

Page 4: TEC-2000 Virtual Machine 使用手册

功能概要 1. 支持 A , G , R , D , E , U , T , P 等命令;

2. 可读入 .ASM 汇编文件或者 .COD 二进制文件执行; 3. 可选择不同的运行方式(全速,单指令,单微指令,

暂停) 4. 支持中断实验(三级中断源),可以设定中断向量; 5. 支持指令集与微指令集的动态扩充; 6. 控件动态显示所有重要信号与数据状态(部分控件

可点击);

Page 5: TEC-2000 Virtual Machine 使用手册

使用流程( 1 ) 1. 首先点击“连接”按钮,选择“与 TEC2000 通信”或者

“使用虚拟机模拟”;

2. 若使用虚拟机模拟,则点击“全速运行”按钮,进入正常工作方式;

3. 为详细了解虚拟机工作情况 , 建议点击“暂停” , 然后单指令或单微指令运行;

4. 若要读入文件,点击“打开文件”按钮,文件格式将自动转换,如要执行文件,再点击“传送”按钮,则文件写入内存,可以执行;

Page 6: TEC-2000 Virtual Machine 使用手册

使用流程( 2 ) 5. 中断实验,请点击“中断向量设定”按钮以设定中断向量

基址,并且编好中断程序写入内存,按钮“ 1”“2”“3” 代表三级中断源;

6. 虚拟机可以执行所有的基本指令和部分扩展指令,如果要扩充指令集或者微指令集,选择“ TEC Pro 控制”菜单下的“微指令扩充 ...” 菜单,注意:只有在微程序模拟的情况下才可以扩充,同时,扩充微指令前请务必仔细设计,否则虚拟机将不能正常工作。

Page 7: TEC-2000 Virtual Machine 使用手册

虚拟机启动

Page 8: TEC-2000 Virtual Machine 使用手册

模式 1 :联接 TEC-2000 单片机

Page 9: TEC-2000 Virtual Machine 使用手册

模式 2 :使用 TEC-2000 虚拟机(组合逻辑控制方式)

Page 10: TEC-2000 Virtual Machine 使用手册

模式 3 :使用 TEC-2000 虚拟机(微程序控制方式)

Page 11: TEC-2000 Virtual Machine 使用手册

虚拟机工作结束

Page 12: TEC-2000 Virtual Machine 使用手册

按钮栏

Page 13: TEC-2000 Virtual Machine 使用手册

菜单栏(按钮栏没有的功能) 文件菜单下的“汇编”菜单。 汇编:用于将汇编 .ASM 文件转成机器码 .COD 和列表文件 .LST (可选),会弹出 DOS窗口,一般敲两次回车即可,用户也可以另外命名。

虚拟机控制菜单下的“微指令扩充”菜单。 微指令扩充:由用户定义新的微指令,在合理的情

况下,新的微指令将加入到虚拟机的指令系统中。

Page 14: TEC-2000 Virtual Machine 使用手册

PCEC 工作面板(接受基本命令和基本指令)

Page 15: TEC-2000 Virtual Machine 使用手册

ASEC 工作面板 (接受汇编扩展指令)

Page 16: TEC-2000 Virtual Machine 使用手册

命令输入及参考帮助

Page 17: TEC-2000 Virtual Machine 使用手册

虚拟机工作全图

Page 18: TEC-2000 Virtual Machine 使用手册

微程序工作图

Page 19: TEC-2000 Virtual Machine 使用手册

微程序定序器(内部图)

Page 20: TEC-2000 Virtual Machine 使用手册

组合逻辑工作图

Page 21: TEC-2000 Virtual Machine 使用手册

运算器(内部图)

Page 22: TEC-2000 Virtual Machine 使用手册

串口 COM1 和 COM2

Page 23: TEC-2000 Virtual Machine 使用手册

内存(内部图)

Page 24: TEC-2000 Virtual Machine 使用手册

TEC-2000 基本命令集 A [adr] ; 从指定(或默认)地址 adr 开始写一小段汇编

程序 U [adr] ; 从指定(或默认)地址 adr 开始反汇编一小段

程序 D [adr] ; 从指定(或默认)地址 adr 开始显示内存 120个存储字的内容

E [adr] ; 从指定(或默认)地址 adr 开始修改存储器内容

G [adr] ; 从指定(或默认)地址 adr 开始运行程序 R [reg] ; 显示 /修改寄存器 reg 的内容 T [adr] ; 从指定(或默认)地址 adr 开始单条执行程序

指令

Page 25: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 1 ) DI ; 关中断,置中断允许位 INTE=0 DW adr ; 写地址为 adr 的内存 EI ; 开中断,置中断允许位 INTE=1 IN i/o port ; 从外设 I/O PORT端口读入数

据到 R0 JR OFFSET ;无条件跳转到 ADR , ADR=

原 PC值 +OFFSET

Page 26: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 2 ) OR DR , SR ; 将 DR 和 SR 做或运算的结果写入

DR ADC DR , SR ; 将 DR+SR+C 的值写入 DR ADD DR , SR ; 将 DR+SR 的值写入 DR AND DR , SR ; 将 DR 和 SR 做与运算的结

果写入 DR ASR DR ; DR 算术右移,最高为保持不变,最低位移入 C

CLC ; 清进位标志位 C=0

Page 27: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 3 ) CMP DR , SR; 用 DR减去 SR DEC DR ;将 DR-1 的值写入 DR INC DR ; 将 DR+1 的值写入 DR JRC OFFSET ; 当 C=1 时,跳转到 ADR , ADR

= 原 PC值 +OFFSET JRS OFFSET ; 当 S=1 时,跳转到 ADR , ADR=

原 PC值 +OFFSET JRZ OFFSET ; 当 Z=1 时,跳转到 ADR , ADR=

原 PC值 +OFFSET

Page 28: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 4 ) NOT DR ; 将 DR求反后的值写入 DR OUT I/O PORT ; 将 R0 中的数据写入外

设 I/O PORT端口 RCL DR ; DR 与 C循环左移, C移入最低位,最高位移入 C

RCR DR ; DR 与 C循环右移, C移入最高位,最低位移入 C

RET ; 子程序返回

Page 29: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 5 ) SBB DR , SR ; 将 DR-SR-C 的值写入 D

R SHL DR ; DR 逻辑左移,最低位补 0 ,最高位移入 C

SHR DR ; DR 逻辑右移,最高位补 0 ,最低位移入 C

STC ; 置进位标志位 C=1 SUB DR , SR ; 将 DR-SR 的值写入 DR

Page 30: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 6 ) POP DR ; 弹出栈顶数据送 DR XOR DR , SR ; 将 DR 和 SR 做异或运

算的结果写入 DR CALA ADR ; 调用首地址在 ADR 的子程序 CALR SR ; 调用 SR 指向的子程序 IRET ; 中断返回

Page 31: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 7 ) JMPA ADR ; 无条件跳转到地址 ADR JMPR SR ; 无条件跳转到 SR 指向的地址 JRNC OFFSET ; 当 C=0 时,跳转到 ADR ,

ADR= 原 PC值 +OFFSET JRNS OFFSET ; 当 S=0 时,跳转到 ADR ,

ADR= 原 PC值 +OFFSET JRNZ OFFSET ; 当 Z=0 时,跳转到 ADR ,

ADR= 原 PC值 +OFFSET

Page 32: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 8 ) LDRA DR , [ADR] ;将 ADR 所指向的内存

中的内容写入 DR LDRR DR , [SR] ; 将 SR里地址所指向的

内存中的内容写入 DR LDRX DR , OFFSET[SR] ;将 OFFSET+S

R 所指向的内存中内容写入 DR MVRD DR , DATA ; 将 DATA 写入 DR MVRR DR , SR ; 将 SR 的值写入 DR

Page 33: TEC-2000 Virtual Machine 使用手册

TEC-2000 指令集( 9 ) POPF ; 弹出栈顶数据送状态标志寄存器 PSHF ; 状态标志( C 、 Z 、 V 、 S 、 P

1 、 P0 )入栈 PUSH SR ; SR 入栈 STRA [ADR] , SR ;将 SR 的值写入 ADR 所指向

的内存中 STRR [DR] , SR ;将 SR 的值写入 DR里地址所

指向的内存中 STRX DR,OFFSET[SR] ;将 DR 的值写入 OFFSE

T+SR 所指向的内存中 TEST DR , SR ; DR 和 SR 做与运算

Page 34: TEC-2000 Virtual Machine 使用手册

运行方式 在联机模式下,只能全速运行; 在虚拟机模式下,可以全速运行,也可以暂

停; 虚拟机选用组合逻辑控制时,可以单指令运

行,方便指令调试; 虚拟机选用微程序控制时,可以单微指令运

行,方便指令和微指令调试;

Page 35: TEC-2000 Virtual Machine 使用手册

调试(单指令) 在虚拟机使用组合逻辑控制方式下,可以单

指令运行以进行调试;各总线数据、串口数据、寄存器 R0 、 PC 、

SP 中数据可以从图中直接读出,点击运算器ALU 可以详细查看运算器中每一个信号和寄存器的状态,点击内存将显示整个内存中各内存单元保存的数据;

Page 36: TEC-2000 Virtual Machine 使用手册

调试(单微指令) 在虚拟机使用微指令控制方式下,可以单微

指令运行以进行调试;各总线数据、串口数据、寄存器 R0 、 PC 、

SP 中数据可以从图中直接读出,点击运算器ALU 可以详细查看运算器中每一个信号和寄存器的状态,点击内存将显示整个内存中各内存单元保存的数据;

点击微程序定序器 AM2910 可以查看微程序中所有控制信号和状态位;

Page 37: TEC-2000 Virtual Machine 使用手册

保存文件 虚拟机所能识别的文件格式有 .ASM (汇

编)、 .COD ( 16位机器码)、 .LST (列表文件)

列表文件只在汇编时才可能生成(可选,用户指定)。

建议文件保存在 TVM 文件夹根目录下。

Page 38: TEC-2000 Virtual Machine 使用手册

打开文件 若打开 .ASM 汇编文件,虚拟机自动切换到

ASEC 编辑面板,在这里可以对汇编文件进行编辑;

若打开 .COD 机器码文件,虚拟机同样将自动切换到 ASEC 编辑面板,同时将机器码自动转换为 .ASM 汇编文件显示以方便阅读。

.LST 文件是作为列表文件使用的,所以不能打开。

Page 39: TEC-2000 Virtual Machine 使用手册

机器码传送 若当前打开的是 .ASM 汇编文件,请先点击

文件菜单中的“汇编”将它转成 .COD 机器码;然后点击“传送”将机器码写入内存;

若当前打开的是 .COD 文件,虚拟机直接将文件中的机器码写入内存;

注意:只有文件的机器码写入内存才能执行,否则文件仅处于编辑状态。

Page 40: TEC-2000 Virtual Machine 使用手册

中断向量设定

Page 41: TEC-2000 Virtual Machine 使用手册

三级中断 虚拟机支持中断实验。 中断实验前请先设计好中断程序,建议用汇

编扩展指令写。如程序中所设中断向量与虚拟机实际中断向量不符,请设定中断向量使两者一致;

三级中断优先级逐次升高, 3 级最高,不能被屏蔽; 1 级最低,可以被高级的屏蔽。

Page 42: TEC-2000 Virtual Machine 使用手册

版本、制作组、功能和使用说明版本: TEC-2000 Virtual Machine 1.0 制作组:

程序设计:李振华 李秦霖界面制作:袁瑞峰

功能和使用说明见 PPT4 、 5 、 6 ,也可以运行虚拟机后点击按钮栏最后一个按钮。

Page 43: TEC-2000 Virtual Machine 使用手册

微指令扩充界面

Page 44: TEC-2000 Virtual Machine 使用手册

微指令扩充说明 微指令是控制器的核心部分,所以扩充之前

请务必仔细设计,否则可能破坏虚拟机指令系统;

按照上图所示格式进行微指令编码,各种编码在下拉列表中都显示出了它的功能,请仔细参照这些功能说明进行编码;

可以查看已经编好的微指令,若确定无误,点击右下方“确定”按钮,若发现错误,点击“删除”按钮。

Page 45: TEC-2000 Virtual Machine 使用手册

工作例程 1 : A 命令功能:简单的 A 命令程序,顺次输出字符 0 - 9 。>A 2000H 2000: MVRD R0,30 2002: MVRD R1,0A 2004: OUT 80 2005: INC R0 2006: DEC R1 2007: JRNZ 2004 2008: RET

Page 46: TEC-2000 Virtual Machine 使用手册

工作例程 1 :运行结果 >G 2000 0123456789 // 运行结果输出 R0=003A R1=0000 R2=0000 R3=0000

SP=2780 PC=2000 R6=0000 R7=0000 R8=0000

R9=0000 R10=0000 R11=0000 R12=0000 R13=0000 R14=2612 R15=0000 F=11000000

Page 47: TEC-2000 Virtual Machine 使用手册

工作例程 2 :读入汇编程序功能:汇编程序,与例程 1 功能相同,顺次输出字符

0 - 9 。 ORG 2000H MVRD R0,0030H MVRD R1,000AH L:OUT 80H INC R0 DEC R1 JRNZ L RET END

Page 48: TEC-2000 Virtual Machine 使用手册

工作例程 2 :汇编程序码转机器码并送入内存

上述汇编 .ASM 文件的机器码: (16 进制 ) 0100 2009 0088 0000 3088 1000 0A86 8009 0008 1047 FC8F 00 点击“传送”按钮将上述机器码写入内存

( 2000H地址开始)。

Page 49: TEC-2000 Virtual Machine 使用手册

工作例程 2 :运行结果 >G 2000 0123456789 R0=003A R1=0000 R2=0000 R3=0000

SP=2780 PC=2000 R6=0000 R7=0000 R8=0000

R9=0000 R10=0000 R11=0000 R12=0000 R13=0000 R14=2612 R15=0000 F=11000000

Page 50: TEC-2000 Virtual Machine 使用手册

工作例程 3 :中断实验 主程序不断输出字符 0 ,此时可以点击三级中断按钮,若进

入 1 级中断则不断输出 1 ,进入 2 级中断则不断输出 2 ,进入 3 级中断则不断输出 3 。进入 i 级中断处理时,只有键入对应数字键才能退出该级中断处理。

代码: ORG 2000H MVRD R1,0030H MVRD R2,0031H MVRD R3,0032H MVRD R6,0033H MVRD R7,00FFH

Page 51: TEC-2000 Virtual Machine 使用手册

中断实验代码( 2 ) DW 6E00H A:MVRD R0,0030H OUT 80H IN 81H SHR R0 SHR R0 JRNC A IN 80H AND R0,R7 SUB R0,R1 JRNZ A RET

Page 52: TEC-2000 Virtual Machine 使用手册

中断实验代码( 3 ) ORG 2040H DW 6F00H PUSH R0 PSHF DW 6E00H B:MVRD R0,0031H OUT 80H IN 81H SHR R0 SHR R0 JRNC B IN 80H AND R0,R7 SUB R0,R2 JRNZ B DW 6F00H POPF POP R0 DW 6E00H DW 0EF00H RET

Page 53: TEC-2000 Virtual Machine 使用手册

中断实验代码( 4 ) ORG 2080H DW 6F00H PUSH R0 PSHF DW 6E00H C:MVRD R0,0032H OUT 80H IN 81H SHR R0 SHR R0 JRNC C IN 80H AND R0,R7 SUB R0,R3 JRNZ C DW 6F00H POPF POP R0 DW 6E00H DW 0EF00H RET

Page 54: TEC-2000 Virtual Machine 使用手册

中断实验代码( 5 ) ORG 20C0H DW 6F00H PUSH R0 PSHF DW 6E00H D:MVRD R0,0033H OUT 80H IN 81H SHR R0 SHR R0 JRNC D IN 80H AND R0,R7 SUB R0,R6 JRNZ D DW 6F00H POPF POP R0 DW 6E00H DW 0EF00H RET

Page 55: TEC-2000 Virtual Machine 使用手册

中断实验代码( 6 ) ORG 2104H JMPA 2040H RET ORG 2108H JMPA 2080H RET ORG 210CH JMPA 20C0H RET

END

Page 56: TEC-2000 Virtual Machine 使用手册

工作例程 3 :中断屏蔽 G 2000 //逐次点击 1 , 2 , 3 级中断

按钮 00000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333

Page 57: TEC-2000 Virtual Machine 使用手册

工作例程 3 :中断退出逐次键入 3 、 2 、 1 、 0 。 3333333333333333333333333333333333333333

222222222222222222222222222222222222222221111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000

R0=0000 R1=0030 R2=0031 R3=0032 SP=2780 PC=2000 R6=0033 R7=00FF R8=0000

R9=0000 R10=0000 R11=0000 R12=0000 R13=0000 R14=2612 R15=0000 F=11000000

>

Page 58: TEC-2000 Virtual Machine 使用手册

参考资料《 TEC-2000 教学计算机系统 技术说明与实

验指导( 16位机)》 清华同方股份有限公司 清华大学计算机系

END