请指出“在TEC-8 实验系统中,基于 TEC-8指令系统编写汇编程序,假设有3个无符号数依次存放在A地址开始的内存中(假设3个数为56H,12H,78H)试编写程序,使它们从大到小排列并依次存放在B地址开始的内存中。请以文字的形式在TEC-8实验箱上的连线”
时间: 2024-01-22 08:19:02 浏览: 62
首先,需要将三个数依次加载到寄存器A、B、C中,并进行比较大小。可以使用以下指令:
```
LDA A ; 将A地址存储的数加载到寄存器A中
LDB A+1 ; 将A地址+1存储的数加载到寄存器B中
LDC A+2 ; 将A地址+2存储的数加载到寄存器C中
CMP AB ; 比较A和B的大小
BRGE L1 ; 如果A >= B,则跳转到L1
XCH A,B ; 否则,交换A和B的数值
L1: ; L1标记
CMP AC ; 比较A和C的大小
BRGE L2 ; 如果A >= C,则跳转到L2
XCH A,C ; 否则,交换A和C的数值
L2: ; L2标记
CMP BC ; 比较B和C的大小
BRGE L3 ; 如果B >= C,则跳转到L3
XCH B,C ; 否则,交换B和C的数值
L3: ; L3标记
STA B ; 将A存储的最大值存储到B地址
STB B+1 ; 将B存储的次大值存储到B地址+1
STC B+2 ; 将C存储的最小值存储到B地址+2
```
然后,在TEC-8实验箱上的连线如下:
```
A地址 -> 1号开关组
B地址 -> 2号开关组
A寄存器 -> 3号开关组
B寄存器 -> 4号开关组
C寄存器 -> 5号开关组
ALU -> 6号开关组
内存 -> 7号开关组
```
同时,需要将以下开关拨到对应位置:
```
1. 1号开关组:开关8打开,其他关闭
2. 2号开关组:开关8打开,其他关闭
3. 3号开关组:开关1、2、3打开,其他关闭
4. 4号开关组:开关1、2、3打开,其他关闭
5. 5号开关组:开关1、2、3打开,其他关闭
6. 6号开关组:开关1、2、3、8打开,其他关闭
7. 7号开关组:开关1、2、3、4、5、6、7打开,其他关闭
```
阅读全文