当前位置: 首页 > news >正文

【机组】单元模块实验的综合调试与驻机键盘和液晶显示器的使用方式

🌈个人主页:Sarapines Programmer
🔥 系列专栏:《机组 | 模块单元实验》

⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。

目录

1. 综合实验的调试

1.1  实验目的

1.2  实验连线

1.3  指令系统

1.4  微指令表

1.5  程序调试

实验一:实现普通的加、减法指令

实验二:带进位运算的模型机

实验三:数据传送实验

实验四:移位实验

实验五:转移实验

2. 驻机键盘和液晶显示器的使用方式

2.1  键盘定义

2.2 操作方法

2.2.1  读/写控存微指令(保存在6264)

2.2.2  读/写内存单元指令或数据(保存在6264)

2.2.3  控存块微代码信息与flash memory数据交换操作

2.2.4  从flash memory读回控存块

2.2.5  控存块数据写入flash memory

2.2.6  从flash memory读回到内存RAM块

2.2.7  内存块保存到flash memory中

2.2.8  微单步运行程序

2.2.9  连续运行程序

2.2.10  寄存器显示

 📝总结


1. 综合实验的调试

1.1  实验目的

1、通过使用调试软件,了解程序编译、加载的过程。

2、通过微单步、单拍调试,理解模型机中的数据流向。

1.2  实验连线

各模块控制信号连接表:(或者使用提供的连线板)

1.3  指令系统

指令助记符

指令功能

指令编码

微周期

微操作

取指微指令

T0:

PC->地址总线->RAM       RAM->数据总线->IR1

ADD A,R0

ADD A,R1

ADD A,R2

ADD A,R3

(A)+(Ri)->A

0C

0D

0E

0F

T0:

T1:

T2:

T3:

A->数据总线->DR1

Ri->数据总线->DR2

ALU->数据总线->A、置CY

取指微指令

SUB A,R0

SUB A,R1

SUB A,R2

SUB A,R3

(A)-(Ri)->A

1C

1D

1E

1F

T0:

T1:

T2:

T3:

A->数据总线->DR1

Ri->数据总线->DR2

ALU->数据总线->A、置CY

取指微指令

MOV A,@R0

MOV A,@R1

MOV A,@R2

MOV A,@R3

(Ri)->A

2C

2D

2E

2F

T0:

T1:

T2:

Ri->数据总线->IR2

IR2->地址总线->RAM->A

取指微指令

MOV A,R0

MOV A,R1

MOV A,R2

MOV A,R3

(Ri)->A

3C

3D

3E

3F

T0:

T1:

Ri->数据总线->A

取指微指令

MOV R0,A

MOV R1,A

MOV R2,A

MOV R3,A

(A)->Ri

4C

4D

4E

4F

T0:

T1:

A->数据总线->Ri

取指微指令

MOV A,#data

Data->A

5F

T0:

T1:

RAM->数据总线->A

取指微指令

MOV R0,#data

MOV R1,#data

MOV R2,#data

MOV R3,#data

Data->Ri

6C

6D

6E

6F

T0:

T1:

RAM->数据总线->A

取指微指令

LDA addr

(addr)->A

7F

T0:

T1:

T2:

RAM->数据总线->IR2

IR2->地址总线,RAM->A

取指微指令

STA addr

(A)->addr

8F

T0:

T1:

T2:

RAM->数据总线->IR2

IR2->地址总线,A->RAM

取指微指令

RLC A

C、A左移1位

AF

T0:

T1:

A<<1、置CY

取指微指令

RRC A

C、A右移1位

9F

T0:

T1:

A>>1、置CY

取指微指令

JZ addr

A=0 ,Addr->PC

B3

T0:

T1:

条件成立:RAM->PC

取指微指令

JC addr

Cy=0,Addr->PC

B7

T0:

T1:

条件成立:RAM->PC

取指微指令

JMP addr

Addr->PC

BF

T0:

T1:

RAM->PC

取指微指令

ORL A,#data

(A)或data->A

CF

T0:

T1:

T2:

T3:

A->数据总线->DR1

RAM->数据总线->DR2

ALU->数据总线->A

取指微指令

ANL A,#data

(A) 与data->A

DF

T0:

T1:

T2:

T3:

A->数据总线->DR1

RAM->数据总线->DR2

ALU->数据总线->A

取指微指令

HALT

停机

FF

T0:

停机

1.4  微指令表

指令助记符

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

微地址

MLD

WM

RM

EIR1

EIR2

IR2-O

PC-O

ELP

RR

WR

HALT

X0

X1

ERA

RA-O

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

16进制

有效值

0

0

0

0

0

0

0

0

0

0

0

*

*

0

0

0

0

0

*

*

*

*

*

*

00H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

取指微指令

01H

02H

ADD A,RI

03H

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

1

1

1

1

1

0

0

1

FFFCF9

 

04H

1

1

1

1

1

1

1

1

0

1

1

1

1

1

1

1

0

1

1

1

1

0

0

1

FF7F79

 

05H

1

1

1

1

1

1

1

1

1

1

1

1

1

0

1

1

1

0

1

0

1

0

0

1

FFFBA9

 

06H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

SUB A,RI

07H

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

1

1

0

1

0

1

1

0

FFFCD6

 

08H

1

1

1

1

1

1

1

1

0

1

1

1

1

1

1

1

0

1

0

1

0

1

1

0

FF7F56

 

09H

1

1

1

1

1

1

1

1

1

1

1

1

1

0

1

1

1

0

0

0

0

1

1

0

FFFB86

 

0AH

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

MOV A,@RI

0BH

1

1

1

1

0

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

F77FFF

 

0CH

1

1

0

1

1

0

1

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

DBFBFF

 

0DH

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

 

0EH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOV A,RI

0FH

1

1

1

1

1

1

1

1

0

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

FF7BFF

 

10H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

 

11H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MOV RI,A

13H

1

1

1

1

1

1

1

1

1

0

1

1

1

1

0

1

1

1

1

1

1

1

1

1

FFBDFF

 

14H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

 

15H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

指令助记符

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

微地址

MLD

WM

RM

EIR1

EIR2

IR2-O

PC-O

ELP

RR

WR

HALT

X0

X1

ERA

RA-O

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

16进制

有效值

0

0

0

0

0

0

0

0

0

0

0

*

*

0

0

0

0

0

*

*

*

*

*

*

MOV A,#data

17H

1

1

0

1

1

1

0

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

DDFBFF

18H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

19H

1AH

MOV Ri,#data

1BH

1

1

0

1

1

1

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

DDBFFF

1CH

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

1DH

1EH

LDA A,addr

1FH

1

1

0

1

0

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

D5FFFF

20H

1

1

0

1

1

0

1

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

DBFBFF

21H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

22H

STA addr

23H

1

1

0

1

0

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

D5FFFF

24H

1

0

1

1

1

0

1

1

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

BBFDFF

25H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

26H

RRC

27H

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

1

1

1

1

0

1

1

1

1

FFF1EF

 

28H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

 

29H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2AH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RLC

2BH

1

1

1

1

1

1

1

1

1

1

1

0

1

0

0

1

1

1

1

0

1

1

1

1

FFE9EF

 

2CH

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

 

2DH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2EH

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

指令助记符

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

微地址

MLD

WM

RM

EIR1

EIR2

IR2-O

PC-O

ELP

RR

WR

HALT

X0

X1

ERA

RA-O

EDR1

EDR2

ALU-O

CN

M

S3

S2

S1

S0

16进制

有效值

0

0

0

0

0

0

0

0

0

0

0

*

*

0

0

0

0

0

*

*

*

*

*

*

JZ addr

2FH

1

1

0

1

0

1

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

D4FFFF

JC addr

30H

0

1

0

0

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

JMP addr

31H

32H

ORL A,#data

33H

 1

1

1

1

1

1

   1

1 

1

1

1

 1

 1

1 

0 

0 

1 

1 

1

1 

1 

1 

1 

0

FFFCFE

34H

1

1

0

1

1

1

0

1

1

1

1

1

1

1

1

1

0

1

1

1

1

1

1

0

DDFF7E

35H

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

1

1

0

1

1

1

1

1

0

FFFBBE

36H

0

1

0

0

1

1

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

ANL A,#data

37H

 1

1

1

1

1

1

   1

1 

1

1

1

 1

 1

1 

0 

0 

1 

1 

1

1 

1 

0 

1 

1

FFFCFB

38H

1

1

0

1

1

1

0

1

1

1

1

1

1

1

1

1

0

1

1

1

1

0

1

1

DDFF7B

39H

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

1

1

0

1

1

1

0

1

1

FFFBBB

3AH

0

1

0

0

1

1

0

0

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4DFFFF

3BH

3CH

3DH

3EH

HALT

3FH

1

1

1

1

1

1

1

1

1

1

0

1

1

1

1

1

1

1

1

1

1

1

1

1

FFDFFF

1.5  程序调试

(实验程序要使用16进制的数字后必须带H,不然程序会默认是10进制的)

实验一:实现普通的加、减法指令

在软件HKCPT中,输入以下程序,并且编译、加载到实验平台中。

或通过键盘(键盘使用方法见第四章)输入微程序及以下程序:

内存地址

指令助记符

指令码或立即数

说明

00H

MOV A,#55

5FH

立即数55H->A

01H

55H

02H

MOV R0,#66

6CH

立即数66H->寄存器R0

03H

66H

04H

ADD A,R0

0CH

A内容+R0内容->A

05H

MOV R1,#33

6DH

立即数33H->寄存器R1

06H

33H

07H

SUB A,R1

1DH

A内容-R1内容->A

08H

STA  10

8FH

将A内容写入RAM地址10H

09H

10H

0AH

HALT

FFH

停机

运行结果为:RAM 10H单元中的内容为88H

运行程序:通过软件HKCPT的微单步功能可观察各个变量的变化。

微单步运行过程显示如下:

微地址

数据流程

数据总线

地址总线

操作寄存器

00H

取指微指令 RAM->BUS->IR1

5FH

00H

IR1=5FH

MOV A,#55

17H

BUS-> A

55H

01H

A=55H

18H

取指微指令 RAM->BUS->IR1

6CH

02H

IR1=6CH

MOV R0,#66

1BH

RAM->寄存器R0

66H

03H

寄存器R0=66H

1CH

取指微指令 RAM->BUS->IR1

0CH

04H

IR1=0CH

ADD A,R0

03H

A->锁存器DR1

55H

无效

DR1=55H

04H

寄存器R0->锁存器DR2

66H

无效

DR2=66H

05H

ALU-> A

BBH

无效

A=BBH

06H

取指微指令 RAM->BUS->IR1

6DH

05H

IR1=6DH

MOV R1,#33

1BH

RAM->寄存器R1

33H

06H

寄存器R1=33

1CH

取指微指令 RAM->BUS->IR1

1DH

07H

IR1=1DH

SUB A,R1

07H

A->锁存器DR1

BBH

无效

DR1=BBH

08H

寄存器R1->锁存器DR2

33H

无效

DR2=33H

09H

ALU->A

88H

无效

A=88H

0AH

取指微指令 RAM->BUS->IR1

8FH

08H

IR1=8FH

STA 10

23H

RAM->BUS->IR2

10H

09H

IR2=10H

24H

A->RAM(10H)

88H

10H

RAM(10)=88H

25H

取指微指令 RAM->BUS->IR1

7FH

0AH

IR1=7FH

1FH

10H

0BH

20H

88H

10H

21H

FFH

0CH

IR1=FFH

HALT

3FH

置模型机为停止状态

无效

无效

置停止状态

如果在运行微单步时,发现有错误或对微单步中的时序过程不清楚,可用时序单元中的按钮来手动给出4个节拍。

微周期

数据流程

节拍

数据总线

地址总线

操作寄存器

T0:

取指微指令

RAM->BUS->IR1

PLS1:微地址清零

PLS2:置模型机运行

PLS3:取指微指令输出

PLS4:BUS->IR1

无效

无效

5FH

5FH

无效

无效

00H

00H

微地址:00H

PC=00H

锁存微指令

IR=5FH

MOV A,#55

T0:

BUS->A

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->A

5FH

5FH

55H

55H

00H

00H

01H

01H

微地址:17H

PC=01H

锁存微指令

A=55H

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC+1

PLS3:取指微指令输出

PLS4:BUS->IR1

55H

55H

6CH

6CH

01H

01H

02H

02H

微地址:18H

PC=02H

锁存微指令

IR1=6CH

MOV R0,#66

T0:

RAM->寄存器R0

PLS1:置微地址

PLS2:PC+1

PLS3:取指微指令输出

PLS4:BUS->寄存器R0

6CH

6CH

66H

66H

02H

02H

03H

03H

微地址:1BH

PC=03H

锁存微指令

寄存器R0=66H

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC+1

PLS3:取指微指令输出

PLS4:BUS->IR1

66H

66H

0CH

0CH

03H

03H

04H

04H

微地址:1CH

PC=04H

锁存微指令

IR1=0CH

ADD A,R0

T0:

A->锁存器DR1

PLS1:置微地址

PLS2:PC+1

PLS3:取指微指令输出

PLS4:BUS->锁存器DR1

0CH

0CH

55H

55H

04H

04H

无效

无效

微地址:03H

PC=05H

锁存微指令

DR1=55H

T1:

寄存器R0->锁存器DR2

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->锁存器DR2

55H

55H

66H

66H

无效

无效

无效

无效

微地址:04H

PC=05H

锁存微指令

DR2=66H

T2:

ALU->A

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->A

66H

66H

BBH

BBH

无效

无效

无效

无效

微地址:05H

PC=05H

锁存微指令

A=BBH

T3:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->IR1

BBH

BBH

6DH

6DH

无效

无效

05H

05H

微地址:06H

PC=05H

锁存微指令

IR1=6DH

MOV R1,#33

T0:

RAM->寄存器R1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR1

6DH

6DH

33H

33H

05H

05H

06H

06H

微地址:1BH

PC=06H

锁存微指令

寄存器R1=33

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR1

33H

33H

1DH

1DH

06H

06H

07H

07H

微地址:1CH

PC=07H

锁存微指令

IR1=1DH

SUB A,Ri

T0:

A->锁存器DR1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->DR1

1DH

1DH

BBH

BBH

07H

07H

无效

无效

微地址:07H

PC=08H

锁存微指令

DR1=BBH

T1:

寄存器R1->锁存器DR2

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->DR2

BBH

BBH

33H

33H

无效

无效

无效

无效

微地址:08H

PC=08H

锁存微指令

DR2=33H

T2:

ALU->A

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:ALU->A

33H

33H

88H

88H

无效

无效

无效

无效

微地址:09H

PC=08H

锁存微指令

A=88H

T3:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->IR1

88H

88H

8FH

8FH

无效

无效

08H

08H

微地址:0AH

PC=08H

锁存微指令

IR1=8FH

STA 10

T0:

RAM->BUS->IR2

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR2

8FH

8FH

10H

10H

08H

08H

09H

09H

微地址:23H

PC=09H

锁存微指令

IR2=10H

T1:

A->RAM(10H)

PLS1:微地址+1

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->RAM

10H

10H

88H

88H

09H

09H

10H

10H

微地址:24H

PC=0AH

锁存微指令

RAM(10)=88H

T2:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->IR1

88H

88H

FFH

FFH

10H

10H

0AH

0AH

微地址:25H

PC=0AH

锁存微指令

IR1=FFH

HALT

T0:

置模型机为停止状态

PLS1:置微地址

PLS2:停机

PLS3:微指令输出

PLS4:BUS->IR2

FFH

无效

0AH

无效

微地址:3FH

PC=0BH

实验二:带进位运算的模型机

(实验程序要使用16进制的数字后必须带H,不然程序会默认是10进制的。)

本实验提供了4条带进位的运算指令:RRC(带进位的右移),RLC(带进位的左移),ADD A,Ri(加法指令,可有进位溢出),JC addr (条件跳转),JMP addr(无条件跳转)。

RRC  A        将A寄存器中的内容带进位位一起循环右移。

RLC  A         将A寄存器中的内容带进位位一起循环左移

ADD A,Ri     将A寄存器的内容与Ri的内容相加,如果加法溢出将进位到CY。

JC addr       条件跳转指令,如果进位位CY溢出,跳转到addr。

JMP addr    无条件跳转指令,跳转到addr

本实验的指令如下:

用软件HKCPT来编辑、编译、加载实验平台,或通过键盘(键盘使用方法见第四章)把以下程序以16进制输入程序存储器,在调试时请关注进位位CY、A寄存器中的值。

内存地址

指令助记符

指令码

说明

00H

MOV A,#81

5FH

立即数81H->A

01H

81H

02H

RRC A

9FH

A >>1

03H

MOV A,#18

5FH

立即数18H-> A

04H

18H

05H

RLC A

AFH

A<<1

06H

MOV R0,#40

6CH

立即数40H->寄存器R0

07H

40H

08H

MOV A,#18

5FH

立即数18H-> A

09H

18H

0AH

RLC A

AFH

A<<1

0BH

ADD A,R0

0CH

(A)+(R0)->A

0CH

JC 10

B7H

CY有进位 跳转到0FH

0DH

10H

0EH

JMP 0A

BFH

跳转到0AH

0FH

0AH

10H

STA 20

8FH

将A内容写入RAM地址20H

11H

20H

12H

HALT

FFH

停机

运行结果为:RAM 20H单元中的内容为20H

运行程序:

通过软件HKCPT的微单步功能可观察各个变量的变化。

微单步运行过程显示如下:

微地址

数据流程

数据总线

地址总线

操作寄存器

00H

取指微指令 RAM->BUS->IR1

5FH

00H

IR1=5FH

MOV A,#81

17H

BUS-> A

81H

01H

A=81H

18H

取指微指令 RAM->BUS->IR1

9FH

02H

IR1=9FH

RRC A

27H

A>>1

40H

无效

A=40,CY溢出

28H

取指微指令 RAM->BUS->IR1

5FH

03H

IR1=5FH

MOV A,#18

17H

BUS-> A

18H

04H

A=18H

18H

取指微指令 RAM->BUS->IR1

AFH

05H

IR1=AFH

RLC A

2BH

A<<1

31H

无效

A=31H CY无溢出

2CH

取指微指令 RAM->BUS->IR1

6CH

06H

IR1=6CH

MOV R0,#40

1BH

BUS->寄存器R0

40H

07H

R0=40H

1CH

取指微指令 RAM->BUS->IR1

5FH

08H

IR1=5FH

MOV A,#18

17H

BUS-> A

18H

09H

A=18H

18H

取指微指令 RAM->BUS->IR1

AFH

0AH

IR1=AFH

RLC A

2BH

(A)<<1

30H

无效

A=30H

2CH

取指微指令 RAM->BUS->IR1

0CH

0BH

IR1=0CH

ADD A,R0

03H

A->锁存器DR1

30H

无效

DR1=30H

04H

寄存器R0->锁存器DR2

40H

无效

DR2=40H

05H

ALU-> A

70H

无效

ALU=70 CY无溢出

06H

取指微指令 RAM->BUS->IR1

B7H

0CH

IR1=B7H

JC 0F

2FH

RAM->BUS->IR2

10H

0DH

IR2=10H

30H

取指微指令 RAM->BUS->IR1

BFH

0EH

IR1=BFH  CY无溢出

JMP 0A

2FH

RAM->BUS->IR2

0AH

0FH

IR2=0AH

30H

取指微指令 RAM->BUS->IR1

AFH

0AH

IR1=AFH  跳转0AH

RLC A

2BH

(A)<<1

E0H

无效

A=E0H

2CH

取指微指令 RAM->BUS->IR1

0CH

0BH

IR1=0CH

ADD A,R0

03H

A->锁存器DR1

E0H

无效

DR1=E0H

04H

寄存器R0->锁存器DR2

40H

无效

DR2=40H

05H

ALU-> A

20H

无效

ALU=20H CY有溢出

06H

取指微指令 RAM->BUS->IR1

B7H

0CH

IR1=B7H

JC 0F

2FH

RAM->BUS->IR2

10H

0DH

IR2=10H

30H

取指微指令 RAM->BUS->IR1

8FH

10H

IR1=8FH  CY有溢出

STA 20

23H

RAM->BUS->IR2

20H

11H

IR2=20H

24H

A->RAM(20H)

20H

20H

RAM(20)=20

25H

取指微指令 RAM->BUS->IR1

FFH

12H

IR1=FFH

HALT

3FH

置模型机为停止状态

无效

无效

置停止状态

如果在运行微单步时,发现有错误或对微单步中的时序过程不清楚,可用时序单元中的按钮来手动给出4个节拍。

微周期

数据流程

节拍

数据总线

地址总线

操作寄存器

T0:

取指微指令

RAM->BUS->IR1

PLS1:微地址清零

PLS2:置模型机运行

PLS3:取指微指令输出

PLS4:BUS->IR1

无效

无效

5FH

5FH

无效

无效

00H

00H

微地址:00H

PC=00H

锁存微指令

IR=5FH

MOV A,#81

T0:

BUS-> A

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS-> A

5FH

5FH

81H

81H

00H

00H

01H

01H

微地址:17H

PC=01H

锁存微指令

A=81H

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC+1

PLS3:取指微指令输出

PLS4:BUS->IR1

55H

55H

9FH

9FH

01H

01H

02H

02H

微地址:18H

PC=02H

锁存微指令

IR1=9FH

RRC A

T0:

A>>1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->寄存器R0

9FH

9FH

无效

无效

03H

03H

无效

无效

微地址:27H

PC=03H

锁存微指令

A=40H  CY=1

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC+1

PLS3:取指微指令输出

PLS4:BUS->IR1

无效

无效

5FH

5FH

无效

无效

03H

03H

微地址:28H

PC=03H

锁存微指令

IR1=5FH

MOV A,#18

T0:

RAM->BUS->A

PLS1:置微地址

PLS2:PC+1

PLS3:取指微指令输出

PLS4:BUS->锁存器DR1

5FH

5FH

18H

18H

03H

03H

04H

04H

微地址:17H

PC=04H

锁存微指令

A=18H

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->锁存器DR2

18H

18H

AFH

AFH

04H

04H

05H

05H

微地址:18H

PC=05H

锁存微指令

IR1=AFH

RLC A

T0:

A<<1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR1

AFH

AFH

无效

无效

05H

05H

无效

无效

微地址:2BH

PC=06H

锁存微指令

A=31H

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->IR1

无效

无效

6CH

6CH

无效

无效

06H

06H

微地址:2CH

PC=06H

锁存微指令

IR1=6CH

MOV R0,#40

T0:

RAM->BUS->寄存器R0

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->DR1

6CH

6CH

40H

40H

06H

06H

07H

07H

微地址:1BH

PC=07H

锁存微指令

A=40H

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->DR2

40H

40H

5FH

5FH

07H

07H

08H

08H

微地址:1CH

PC=08H

锁存微指令

IR1=5FH

MOV A,#18

T0:

RAM->BUS-> A

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->A

8FH

8FH

18H

18H

08H

08H

09H

09H

微地址:17H

PC=09H

锁存微指令

A=18H

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->RAM

18H

18H

AFH

AFH

09H

09H

0AH

0AH

微地址:18H

PC=0AH

锁存微指令

IR1=AFH

RLC A

T0:

A>>1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->A

AFH

AFH

无效

无效

0AH

0AH

无效

无效

微地址:2BH

PC=0BH

锁存微指令

A=30H

T1:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->RAM

无效

无效

0CH

0CH

无效

无效

0BH

0BH

微地址:2CH

PC=0BH

锁存微指令

IR1=0CH

ADD A,R0

T0:

A->BUS->锁存器DR1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->A

0CH

0CH

30H

30H

0BH

0BH

无效

无效

微地址:03H

PC=0CH

锁存微指令

DR1=30H

T1:

R0->BUS->锁存器DR2

PLS1:微地址+1

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->RAM

30H

30H

40H

40H

无效

无效

无效

无效

微地址:04H

PC=0CH

锁存微指令

DR2=40H

T2:

ALU->BUS->A

PLS1:置微地址

PLS2:停机

PLS3:微指令输出

PLS4:BUS->IR2

40H

40H

70H

70H

无效

无效

无效

无效

微地址:05H

PC=0CH

锁存微指令

A=70 CY=0

T3:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->RAM

70H

70H

B7H

B7H

无效

无效

0CH

0CH

微地址:06H

PC=0CH

锁存微指令

A=70 CY=0

JC 10

T0:

RAM->BUS->IR2

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR2

B7H

B7H

10H

10H

0CH

0CH

0DH

0DH

微地址:2FH

PC=0DH

锁存微指令

IR2=10H

T1:

因CY=0 不跳转

取指

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->A

10H

10H

BFH

BFH

0DH

0DH

0EH

0EH

微地址:30H

PC=0EH

锁存微指令

无操作

JMP 0A

T0:

RAM->BUS->IR2

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR2

BFH

B7H

0AH

0AH

0EH

0EH

0FH

0FH

微地址:2FH

PC=0FH

锁存微指令

IR2=0AH

T1:

取指微指令

RAM->BUS->IR1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR2

0AH

0AH

AFH

AFH

0FH

0FH

0AH

0AH

微地址:30H

PC=0AH

锁存微指令

IR1=AFH

RLC A

T1:

A<<1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR2

0AH

0AH

AFH

AFH

0FH

0FH

0AH

0AH

微地址:2BH

PC=0BH

锁存微指令

IR1=E0H

T2:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->RAM

70H

70H

B7H

B7H

无效

无效

0CH

0CH

微地址:2CH

PC=0BH

锁存微指令

A=70 CY=0

ADD A,R0

T0:

A->BUS->锁存器DR1

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->A

0CH

0CH

30H

30H

0BH

0BH

无效

无效

微地址:03H

PC=0CH

锁存微指令

DR1=E0H

T1:

R0->BUS->锁存器DR2

PLS1:微地址+1

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->RAM

30H

30H

40H

40H

无效

无效

无效

无效

微地址:04H

PC=0CH

锁存微指令

DR2=40H

T2:

ALU->BUS->A

PLS1:置微地址

PLS2:停机

PLS3:微指令输出

PLS4:BUS->IR2

40H

40H

70H

70H

无效

无效

无效

无效

微地址:05H

PC=0CH

锁存微指令

A=20 CY=1

T3:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->RAM

70H

70H

B7H

B7H

无效

无效

0CH

0CH

微地址:06H

PC=0CH

锁存微指令

A=70 CY=0

JC 10 

T0:

RAM->BUS->IR2

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR2

B7H

B7H

10H

10H

0CH

0CH

0DH

0DH

微地址:2FH

PC=0DH

锁存微指令

IR2=10H

T1:

因CY=1 跳转

取指

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->A

10H

10H

8FH

8FH

0DH

0DH

10H

10H

微地址:30H

PC=10H

锁存微指令

无操作

STA 20

T0:

RAM->BUS->IR2

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR2

B7H

B7H

20H

20H

10H

10H

11H

11H

微地址:13H

PC=11H

锁存微指令

IR2=10H

T1:

A->BUS->RAM(20)

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->A

10H

10H

20H

20H

0DH

0DH

20H

20H

微地址:14H

PC=12H

锁存微指令

A->RAM(20)

T3:

取指微指令

RAM->BUS->IR1

PLS1:微地址+1

PLS2:PC不变

PLS3:微指令输出

PLS4:BUS->RAM

20H

20H

B7H

B7H

20H

20H

0CH

0CH

微地址:15H

PC=12H

锁存微指令

IR1=FFH

HALT

T0:

置模型机为停止状态

PLS1:置微地址

PLS2:PC+1

PLS3:微指令输出

PLS4:BUS->IR2

FFH

无效

12H

无效

微地址:3FH

PC=13H

T1:

置模型机为停止状态

实验三:数据传送实验

(实验程序要使用16进制的数字后必须带H,不然程序会默认是10进制的。)

或通过键盘(键盘使用方法见第四章)输入微程序及以下程序:

内存地址

指令助记符

指令码或立即数

说明

00H

MOV R0, #03H

6CH

立即数12H->A

01H

03H

02H

MOV R1, #66H

6DH

立即数66H->R0

03H

66H

04H

MOV A, 12H

5FH

05H

12H

寄存器R0内容->A

06H

MOV A, R0

3CH

R0内容->A

07H

MOV A, @R0

2CH

08H

STA 10

8FH

将A内容写入RAM地址10H

09H

10

0AH

HALT

FFH

停机

运行结果为:RAM 10H单元中的内容为66H

运行程序:通过软件HKCPT的微单步功能可观察各个变量的变化。

微单步运行过程显示如下:

微地址

数据流程

数据总线

地址总线

操作寄存器

00H

取指微指令 RAM->BUS->IR1

6CH

00H

IR1=6CH

MOV R0, #03H

1BH

RAM->寄存器R0

03H

01H

寄存器R0=03H

1CH

取指微指令 RAM->BUS->IR1

6DH

02H

IR1=6DH

MOV R1,#66

1BH

RAM->寄存器R1

66H

03H

寄存器R1=66H

1CH

取指微指令 RAM->BUS->IR1

5FH

04H

IR1=5FH

MOV A, #12H

17H

RAM->A

12H

05H

A=12H

18H

取指微指令 RAM->BUS->IR1

3CH

06H

IR1=3CH

MOV A,R0

0FH

R0寄存器>A

03H

无效

A=03H

10H

取指微指令 RAM->BUS->IR1

2CH

07H

IR1=2CH

MOV A,@R0

0BH

R0寄存器->BUS->IR2寄存器

03H

无效

IR2=03H

0CH

IR2->地址BUS,RAM->数据BUS->A

66H

03H

A=66H

0DH

取指微指令 RAM->BUS->IR1

8FH

08H

IR1=8FH

STA 10

23H

RAM->BUS->IR2

10H

09H

IR2=10H

24H

A->RAM(10H)

66H

10H

RAM(10)=66H

25H

取指微指令 RAM->BUS->IR1

FFH

0AH

IR1=FFH

HALT

3FH

置模型机为停止状态

无效

无效

置停止状态

实验四:移位实验

(实验程序要使用16进制的数字后必须带H,不然程序会默认是10进制的。)
在软件HKCPT中,输入以下程序,并且编译、加载到实验平台中。

或通过键盘(键盘使用方法见第四章)输入微程序及以下程序:

内存地址

指令助记符

指令码或立即数

说明

00H

MOV A,#55H

5FH

立即数55H->A

01H

55H

02H

RRC A

9FH

A >>1

03H

RLC A

AFH

A<<1

05H

STA 10

8FH

将A内容写入RAM地址10H

06H

10

07H

HALT

FFH

停机

运行结果为:RAM 10H单元中的内容为55H

运行程序:通过软件HKCPT的微单步功能可观察各个变量的变化。

微单步运行过程显示如下:

微地址

数据流程

数据总线

地址总线

操作寄存器

00H

取指微指令 RAM->BUS->IR1

5FH

00H

IR1=5FH

MOV A,#55H

17H

RAM->寄存器A

55H

01H

A=55H

18H

取指微指令 RAM->BUS->IR1

9FH

02H

IR1=9F

RRC A

27H

A>>1

2AH

无效

A=2A

28H

取指微指令 RAM->BUS->IR1

AFH

03H

IR1=AFH

RLC A

2BH

A<<1

55H

无效

A=55H

2CH

取指微指令 RAM->BUS->IR1

8FH

04H

IR1=8FH

STA 10

23H

RAM->BUS->IR2

10H

05H

IR2=10H

24H

A->RAM(10H)

55H

10H

RAM(10)=88H

25H

取指微指令 RAM->BUS->IR1

FFH

06H

IR1=FFH

HALT

3FH

置模型机为停止状态

无效

无效

置停止状态

实验五:转移实验

(实验程序要使用16进制的数字后必须带H,不然程序会默认是10进制的。)
在软件HKCPT中,输入以下程序,并且编译、加载到实验平台中。

或通过键盘(键盘使用方法见第四章)输入微程序及以下程序:

内存地址

指令助记符

指令码或立即数

说明

00H

MOV A,#01

5FH

立即数01H->A

01H

01H

02H

MOV R0,#01

6CH

立即数01H->R0

03H

01H

04H

SUB A,R0

1CH

A内容-R0内容->A

05H

JC 4

B7H

条件跳转至04H

06H

04H

07H

JZ 4

B3H

条件跳转至04H

08H

04H

09H

JMP D

BFH

无条件跳转至0DH

0AH

0DH

0BH

MOV A,88H

5FH

立即数88H->A

0CH

88H

0DH

STA 10

8FH

将A内容写入RAM地址10H

0EH

10

0FH

HALT

FFH

停机

运行结果为:RAM 10H单元中的内容为FEH

运行程序:通过软件HKCPT的微单步功能可观察各个变量的变化。

微单步运行过程显示如下:

微地址

数据流程

数据总线

地址总线

操作寄存器

00H

取指微指令 RAM->BUS->IR1

5FH

00H

IR1=5FH

MOV A #01H

17H

RAM->寄存器R0

01H

01H

A=01H

18H

取指微指令 RAM->BUS->IR1

6CH

02H

IR1=6CH

MOV R0,#01H

1BH

RAM->寄存器R0

01H

03H

寄存器R0=01H

1CH

取指微指令 RAM->BUS->IR1

1CH

04H

IR1=1CH

SUB A,R0

07H

A->Dbus->DR1

01H

无效

DR1=01H

08H

Ri->Dbus->DR2

01H

无效

DR2=01H

09H

ALU->Dbus->A

00H

无效

A=00H

0AH

取指微指令 RAM->BUS->IR1

B7H

05H

IR1=B7H

JC 4

2FH

Dbus->IR2

04H

06H

IR2=04H

30H

IR2内容->Abus, Dbus->PC

B3H

07H

IR1=B3H

JZ 4

2FH

Dbus->IR2

04H

08H

IR2=04H

30H

IR2内容->Abus, Dbus->PC

1CH

04H

IR1=1CH

SUB A,R0

07H

A->Dbus->DR1

00H

无效

DR1=00H

08H

Ri->Dbus->DR2

01H

无效

DR2=01H

09H

ALU->Dbus->A

FFH

无效

A=FFH

0AH

取指微指令 RAM->BUS->IR1

B7H

05H

IR1=B7H

JC 4

2FH

Dbus->IR2

04H

06H

IR2=04H

30H

IR2内容->Abus, Dbus->PC

1CH

04H

IR1=1CH

SUB A,R0

07H

A->Dbus->DR1

FFH

无效

DR1=FFH

08H

Ri->Dbus->DR2

01H

无效

DR2=01H

09H

ALU->Dbus->A

FEH

无效

A=FEH

0AH

取指微指令 RAM->BUS->IR1

B7H

05H

IR1=B7H

JC 4

2FH

Dbus->IR2

04H

06H

IR2=04H

30H

IR2内容->Abus, Dbus->PC

B3H

07H

IR1=B3H

JZ 4

2FH

Dbus->IR2

04H

08H

IR2=04H

30H

IR2内容->Abus, Dbus->PC

BFH

09H

IR1=BFH

JMP D

2FH

Dbus->IR2

0DH

0AH

IR2=0DH

30H

取指微指令 RAM->BUS->IR1

8FH

0DH

IR1=8FH

STA 10

23H

RAM->BUS->IR2

10H

0EH

IR2=10H

24H

A->RAM(10H)

FEH

10H

RAM(10)=FEH

25H

IR2内容->Abus, Dbus->PC

FFH

0FH

IR1=FFH

HALT

3FH

置模型机为停止状态

无效

无效

置停止状态


2. 驻机键盘和液晶显示器的使用方式

2.1  键盘定义

打开电源上电后按实验仪任意键,即可进入键盘监控。液晶显示器作为键盘监控的输出,用于显示地址、指令、数据或微指令信息等。24个键中有16个数字键,8个控制键。表X-1列出这8个控制键的名称和功能,数字键用于输入地址、指令和数据信息。

表X-1  控制键说明

TAB

光标键

用于移动光标选择菜单项或将光标从地址到数据之间来回切换

MENU

主菜单键

无论在何种操作下,按下此键,将返回到主菜单

LAST

减1键

地址减1

NEXT

加1键

地址加1

STEP

单拍键

单步运行程序

GO/STOP

运行/停止键

奇数次按此键,启动运行程序,偶数次停止运行

SFR

寄存器键

显示寄存器

Enter

确认键

对修改,备份操作时的确认

进入键盘监控后,液晶屏上显示主菜单:

      1、Mcode      2、Rcode

      3、2416      4、RUN

在主菜单下可以进行以下操作:

(1)选择1进行微代码操作

(2)选择2进行RAM程序和数据操作

(3)选择3进行把微代码和RAM程序备份到24C08中去,或者从24C08中读取微代码和RAM程序

(4)选择4运行程序

以上操作可以按数字键“1-4”进行选择执行,也可以按TAB键移动光标来选择,并由按“确认”键来执行,其中选“4”等同于按RUN键,如果要停止运行程序,再按“RUN/STOP”键即可。

(5)按“STEP”键单步执行程序

(6)按“SFR”键,显示特殊寄存器内容

下面按功能分类介绍实验系统监控功能及操作方法:

(7)监控单元的“RST”键只作调试用,与实验无关。


2.2 操作方法

2.2.1  读/写控存微指令(保存在6264)

在主菜单下选择“1”

屏幕上显示:ADDR      MICRO  CODE

                00           xx xx xx

               地址           微代码

光标定位在地址处,按“TAB”键,在地址与微代码之间切换;在光标所在处,按数字键即可对地址或微代码进行修改;按“Last”键,修改后的微指令写入相应单元后,地址减1;按“Next”键或“Enter”键,修改后的微指令写入相应单元后,地址加1。

2.2.2  读/写内存单元指令或数据(保存在6264)

在主菜单下选择“2”

屏幕上将显示:ADDR      RAM  CODE

                  xx              xx

                 地址         指令或数据

光标定位在地址处,按“TAB”键,光标在地址与指令或数据之间切换;按数字键即可对光标所在处的地址或者指令数据进行修改;按“Last”键或者“Next”和“Enter”键,可将修改后的指令或数据写入相应单元中去,然后地址减1或加1。

2.2.3  控存块微代码信息与flash memory数据交换操作

首先在主菜单下选“3”,液晶屏上将显示子菜单:

        1、RD→M      2、M→WR

        3、RD→R       4、R→WR

(1)选择1进行里面flash memory存储的数据读回控存块。

(2)选择2进行控存块数据写入flash memory操作。

(3)选择3进行flash memory里面存储的数据读回到RAM。

(4)选择4进行RAM块写入flash memory操作。

2.2.4  从flash memory读回控存块

主菜单选“3”

子菜单选“1”,屏幕上将显示:

          flash memory源地址   长度    微代码目标地址

ADDR         LEN       ADDR

                  00           001         00

光标定义在flash memory源地址处,按“TAB”键将光标在源地址、长度、目标地址之间切换,可供修改地址和长度;按“Enter”键将flash memory的源地址处开始的内容读到控存块目标地址处,长度由LEN决定。

2.2.5  控存块数据写入flash memory

主菜单选“3”

在子菜单下选择“2”,液晶屏上将显示:

          微程序地址            长度

ADDR           LEN  24C08

00                001

光标定位在微程序地址处,按“TAB”键可将光标在地址和长度之间切换,一旦地址和长度确定后,按“Enter”键即可以将指定地址,指定长度单元的微代码信息保存到flash memory中0地址开始的存储单元中去,并返回到上一级子菜单。

2.2.6  从flash memory读回到内存RAM块

主菜单选“3”

子菜单选“3”,屏幕上将显示:

      flash memory源地址    长度     RAM目标地址

ADDR          LEN        ADDR

             00             001          00

   光标定义在flash memory源地址处,按“TAB”键将光标在源地址、长度、目标地址之间切换,可供修改地址和长度;按“Enter”键将flash memory的源地址处开始的内容读到RAM目标地址处,长度由LEN决定。

2.2.7  内存块保存到flash memory中

主菜单选“3”

在子菜单下选择“4”液晶屏上将显示:

           RAM地址              长度

ADDR             LEN  24C08

00                  001

光标定位在RAM地址处,按“TAB”键可将光标在地址和长度之间切换,一旦地址和长度确定后,按“Enter”键即可以将指定地址,指定长度单元的RAM程序或数据保存到flash memory中0地址开始的存储单元中去,并返回到上一级子菜单。

2.2.8  微单步运行程序

在主菜单下按“STEP”键,再按ENTER,实验系统将单拍执行程序一次,然后屏幕上显示执行后的结果。

       MA:XX                微代码地址

       PC=:XX                PC 指针

2.2.9  连续运行程序

在主菜单下按“RUN/STOP”键或“4”,实验系统将连续执行程序,如果遇到HALT指令或再次按“RUN/STOP”键,停止运行,並在液晶屏上显示执行结果。

          MA:XX                微代码地址

          PC=:XX                PC 指针

2.2.10  寄存器显示

在主菜单下按“SFR”键,液晶屏上显示微指令代码、指令或数据地址、程序指针、累加器内容。

          PC       DR1  DR2      A              ALU

          XX       XX  XX           XX           XX

程序指针   数据地址    累加器内容    算术逻辑单元内容


 📝总结

计算机组成原理领域就像一片广袤而未被完全探索的技术海洋,邀请你勇敢踏足数字世界和计算机组成原理的神秘领域。这是一场结合创造力和技术挑战的学习之旅,从基础概念到硬件实现,逐步揭示更深层次的计算机结构、指令集架构和系统设计的奥秘。渴望挑战计算机组成原理的学习路径和掌握计算机硬件的技能?不妨点击下方链接,一同探讨更多数字技术的奇迹吧。我们推出了引领趋势的💻 计算机组成原理专栏:《机组 | 模块单元实验》,旨在深度探索计算机系统技术的实际应用和创新。🌐💡

相关文章:

【机组】单元模块实验的综合调试与驻机键盘和液晶显示器的使用方式

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《机组 | 模块单元实验》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 目录 1. 综合实验的调试 1.1 实验…...

React中实现虚拟加载滚动

前言&#xff1a;当一个页面中需要接受接口返回的全部数据进行页面渲染时间&#xff0c;如果数据量比较庞大&#xff0c;前端在渲染dom的过程中需要花费时间&#xff0c;造成页面经常出现卡顿现象。 需求&#xff1a;通过虚拟加载&#xff0c;优化页面渲染速度 缺点&#xff1a…...

vue中的Mutations

目录 一&#xff1a;介绍 二&#xff1a;例子 一&#xff1a;介绍 Vuex 中的 mutation 非常类似于事件&#xff1a; 每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的函数&#xff0c;并且它会接受 sta…...

C#用 DateAndTime.DateAdd方法和DateTime.Add(TimeSpan) 方法分别添加一段时间间隔

目录 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔 2.用DateTime.Add方法添加一段时间间隔 二、实例 1.实例1&#xff1a;用 DateAndTime.DateAdd方法 2.实例2&#xff1a;用DateTime.Add方法 一、基本方法 1.用 DateAndTime.DateAdd方法添加一段时间间隔…...

四、Kotlin 表达式

1. 常量 & 变量 1.1 可读写变量&#xff08;var&#xff09; var x initValue // x 称为可读写变量注意&#xff1a;当 var 声明的变量做成员属性时&#xff0c;默认提供 setter/getter 方法。 1.2 只读变量&#xff08;val&#xff09; val x initValue // x 称为只…...

Web开发4:单元测试

在Web开发中&#xff0c;单元测试是一种重要的开发实践&#xff0c;它可以帮助我们确保代码的质量和可靠性。通过编写和运行单元测试&#xff0c;我们可以验证代码的正确性&#xff0c;减少错误和缺陷&#xff0c;并提高代码的可维护性。本文将介绍单元测试的概念、好处以及如何…...

Ubuntu 16 让ufw防火墙控制docker容器中所有端口

使用docker ps 查询docker在运行端口。 rootai-0003:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …...

<蓝桥杯软件赛>零基础备赛20周--第18周--动态规划初步

报名明年4月蓝桥杯软件赛的同学们&#xff0c;如果你是大一零基础&#xff0c;目前懵懂中&#xff0c;不知该怎么办&#xff0c;可以看看本博客系列&#xff1a;备赛20周合集 20周的完整安排请点击&#xff1a;20周计划 每周发1个博客&#xff0c;共20周。 在QQ群上交流答疑&am…...

vb如何获取鼠标形状的特征码

vb如何获取鼠标形状的特征码 好像按键精灵有一个GetCursorShape()函数可以获取特征码&#xff0c;不知道VB6能不能实现类似的功能&#xff1f; 附注&#xff1a; 1 最好是机器无关的&#xff0c;不是也可以。 2 特征码就是一串数字&#xff0c;用来区分不同的鼠标形状。 3 获取…...

chroot: failed to run command ‘/bin/bash’: No such file or directory

1. 问题描述及原因分析 在busybox的环境下&#xff0c;执行 cd rootfs chroot .报错如下&#xff1a; chroot: failed to run command ‘/bin/bash’: No such file or directory根据报错应该rootfs文件系统中缺少/bin/bash&#xff0c;进入查看确实默认是sh&#xff0c;换成…...

蓝桥杯备战——2.矩阵键盘

1.分析原理图 由上图可以看到若J5跳线帽接地&#xff0c;就S4~S7就可以当做四路独立按键&#xff0c;若接到P44&#xff0c;则就是4*4的矩阵键盘。 2.独立按键处理 相对传统的按键延时消抖方案&#xff0c;这里我采用更高效&#xff0c;更经典&#xff0c;更偏向产品级应用的…...

Docker部署思维导图工具SimpleMindMap并实现公网远程访问

文章目录 1. Docker一键部署思维导图2. 本地访问测试3. Linux安装Cpolar4. 配置公网地址5. 远程访问思维导图6. 固定Cpolar公网地址7. 固定地址访问 SimpleMindMap 是一个可私有部署的web思维导图工具。它提供了丰富的功能和特性&#xff0c;包含插件化架构、多种结构类型&…...

机器学习实验2——线性回归求解加州房价问题

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;数据预处理&#x1f9e1;&#x1f9e1;代码缺失值处理特征探索相关性分析文本数据标签编码数值型数据标准化划分数据集 &#x1f9e1;&#x1f9e1;线性回归&#x1f9e1;&am…...

宝塔+nextcloud+docker+Onlyoffice 全开启https

折腾了我三天的经验分享 1.宝塔创建网站 nextcloud版本为28.0.1 php8.2 &#xff0c;导入nextcloud绑定域名对应的证书 &#xff0c;不用创建mysql 因为nextcloud 要求是mariadb:10.7 宝塔里没有&#xff0c;就用docker安装一个 端口设置为3307 将数据库文件映射出来/ww…...

呼吸机电机控制主控MCU方案

呼吸机是一种能代替、控制或改变人的正常生理呼吸&#xff0c;增加肺通气量&#xff0c;改善呼吸功能&#xff0c;减轻呼吸功消耗&#xff0c;节约心脏储备能力的装置。呼吸机连接一条管子到患者的嘴或鼻子&#xff0c;氧气量可以通过监视器加以控制。 基于灵动微控制器的呼吸…...

gitlab备份-迁移-升级方案9.2.7升级到15版本最佳实践

背景 了解官方提供的版本的升级方案 - GitLab 8: 8.11.Z 8.12.0 8.17.7 - GitLab 9: 9.0.13 9.5.10 9.2.7 - GitLab 10: 10.0.7 10.8.7 - GitLab 11: 11.0.6 11.11.8 - GitLab 12: 12.0.12 12.1.17 12.10.14 - GitLab 13: 13.0.14 13.1.11 13.8.8 13.12.15 - G…...

redis面试题合集-基础

前言 又来到每日的复习时刻&#xff0c;昨天我们学习了mysql相关基础知识&#xff0c;还有分布式数据库介绍&#xff08;后续总结时再持续更新&#xff09;。今日继续学习缓存杀器&#xff1a;redis redis基础面试题合集 什么是Redis&#xff1f; Redis是一个开源的、内存中…...

(Unity)C# 中的字符串格式化

前言 在软件开发中&#xff0c;理解和掌握字符串的格式化及调试技巧对于编写高效和可维护的代码至关重要。 字符串插值 ($ 符号) 在 C# 中&#xff0c;字符串插值是通过在字符串前加 $ 符号来实现的。这允许我们将变量、表达式或函数调用直接嵌入到字符串中。 string name &qu…...

【项目日记(五)】第二层: 中心缓存的具体实现(上)

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:项目日记-高并发内存池⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你做项目   &#x1f51d;&#x1f51d; 开发环境: Visual Studio 2022 项目日…...

使用PSIM软件生成DSP28335流水灯程序

最近在学习DSP28335芯片&#xff0c;然后在使用PSIM仿真软件时发现这个仿真软件也支持28335芯片&#xff0c;于是就想学习下如何在PSIM软件中使用DSP28335芯片。在PSIM自带的官方示例中有使用DSP28335芯片的相关例子。 工程下载链接 https://download.csdn.net/download/qq_20…...

【iOS ARKit】人脸检测追踪基础

在计算机人工智能&#xff08;Artificial Inteligence,AI&#xff09;物体检测识别领域&#xff0c;最先研究的是人脸检测识别&#xff0c;目前技术发展最成熟的也是人脸检测识别。人脸检测识别已经广泛应用于安防、机场、车站、闸机、人流控制、安全支付等众多社会领域&#x…...

ES的一些名称和概念总结

概念 先看看ElasticSearch的整体架构&#xff1a; 一个 ES Index 在集群模式下&#xff0c;有多个 Node &#xff08;节点&#xff09;组成。每个节点就是 ES 的Instance (实例)。每个节点上会有多个 shard &#xff08;分片&#xff09;&#xff0c; P1 P2 是主分片, R1 R2…...

Javaweb之SpringBootWeb案例之阿里云OSS服务集成的详细解析

2.3.3 集成 阿里云oss对象存储服务的准备工作以及入门程序我们都已经完成了&#xff0c;接下来我们就需要在案例当中集成oss对象存储服务&#xff0c;来存储和管理案例中上传的图片。 在新增员工的时候&#xff0c;上传员工的图像&#xff0c;而之所以需要上传员工的图像&…...

【GitHub项目推荐--不错的 Go 学习项目】【转载】

开源实时性能分析平台 Pyroscope 是基于 Go 的开源实时性能分析平台&#xff0c;在源码中添加几行代码 pyroscope 就能帮你找出源代码中的性能问题和瓶颈、CPU 利用率过高的原因&#xff0c;调用树展示帮助你理解程序&#xff0c;支持 Go、Python、Ruby 语言。 Pyroscope 可以…...

【Git】windows系统安装git教程和配置

一、何为Git Git(读音为/gɪt/)是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。 二、git安装包 有2种版本&#xff0c;Git for Windows Setup和Git for Windows Portable(便携版)两个版本都可以。 三、Git for Windows Por…...

办公技巧:PPT制作技巧分享,值得收藏

目录 1、黑屏/白屏你用过么 2、图形组合替代动画刷 3、等距分布图形元素 4、快速统一字体 5、文本框也是可以改的 6、批量修改形状 7、搞定“怎么也选不中” 8、妙用CtrlD 9、图片阵列怎么做 10、临时放大某一区域 11、Word快速导入PPT 12、炫酷小人怎么做的&#…...

Google Chrome RCE漏洞 CVE-2020-6507 和 CVE-2024-0517 流程分析

本文深入研究了两个在 Google Chrome 的 V8 JavaScript 引擎中发现的漏洞&#xff0c;分别是 CVE-2020-6507 和 CVE-2024-0517。这两个漏洞都涉及 V8 引擎的堆损坏问题&#xff0c;允许远程代码执行。通过EXP HTML部分的内存操作、垃圾回收等流程方式实施利用攻击。 CVE-2020-…...

前端怎么监听手机键盘是否弹起

摘要&#xff1a; 开发移动端中&#xff0c;经常会遇到一些交互需要通过判断手机键盘是否被唤起来做的&#xff0c;说到判断手机键盘弹起和收起&#xff0c;应该都知道&#xff0c;安卓和ios判断手机键盘是否弹起的写法是有所不同的&#xff0c;下面讨论总结一下两端的区别以及…...

本地生活服务平台加盟前景与市场分析

随着短视频市场的的不断发展&#xff0c;人们的生活方式也在发生着巨大的变化。在这个数字化的时代&#xff0c;越来越多的创业者开始注重本地生活服务&#xff0c;这也为创业者提供了一个绝佳的商机。加盟本地生活服务平台&#xff0c;既可以抓住这波风口&#xff0c;又可以满…...

蓝桥杯备战——7.DS18B20温度传感器

1.分析原理图 通过上图我们可以看到DS18B20通过单总线接到了单片机的P14上。 2.查阅DS18B20使用手册 比赛的时候是会提供DS18B20单总线通讯协议的代码&#xff0c;但是没有提供读取温度数据的代码&#xff0c;所以还是需要我们去查看手册&#xff0c;我只把重要部分截下来了 …...

自制微信小程序预约/许昌网站seo

首先询问对方数据库的表空间名称和大小&#xff0c;然后在你的oracle中建立相应表空间&#xff0c;最后使用命令导入、导出数据。补充&#xff1a;1.要新建一个数据库&#xff1b; Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可 以把数据从远程数据库服务…...

做营销型网站费用/百度网盘资源搜索引擎

MyBatis SqlSessionFactory和SqlSession 一&#xff0c;SqlSessionFactory Mybatis提供了构造器SqlSessionFactoryBuilder来生成SqlSessionFactory。 在 MyBatis 中&#xff0c;既可以通过读取配置的 XML 文件的形式生成 SqlSessionFactory&#xff0c;也可以通过Java代码生…...

做自己的第一个网站/大连网站建设费用

1.安装python并验证安装成功 a.安装python-2.7.14.amd64------默认路径安装即可 b.添加环境变量path&#xff1a;C:\Python27; C:\Python27\Scripts c.验证&#xff1a;cmd---输入python --version或pip------没有报错就说明安装成功 ----------------------------------------…...

已有域名怎么做网站/市场调研的方法有哪些

方法一&#xff1a; srand(time(NULL));array->removeAllObjects(); this->removeAllChildren(); init();方法二&#xff1a;CCDirector::sharedDirector()->replaceScene(HelloWorld::scene());从本场景切换到本场景&#xff0c;但是不能在init()函数中。。 转载于:h…...

网站后台不能修改/百度推荐现在为什么不能用了

我们在配置深度学习环境的时候&#xff0c;除了安装各种库和框架外&#xff0c;如果需要 GPU 加速&#xff0c;还需要配置 CUDA。那 CUDA 是什么&#xff1f;它的作用是什么&#xff1f; CUDA 编程介绍 什么是 CUDA&#xff1f; CUDA (Compute Unified Device Architecture) …...

wordpress上传头像/应用商店搜索优化

我们经常会需要启动多个实例的情况来测试注册中心、配置中心等基础设施的高可用&#xff0c;也会用来测试客户端负载均衡的调用等。但是&#xff0c;我们一个应用只能有一个端口号&#xff0c;这就使得在本机测试的时候&#xff0c;不得不为同一个服务设置不同的端口来进行启动…...