没有合适的资源?快使用搜索试试~ 我知道了~
首页TEC-2 指令设计题集
资源详情
资源评论
资源推荐

(1) 设计一条指令,比较 SR 内容与[ADDR].
若 SR<[ADDR], 则 SR+[ADDR]->[ADDR]; 否 则 SR-
[ADDR]->[ADDR].
指令格式:
D4 0 S
R
ADDR
设计分析:
100:把 PC 的值(即 ADDR 的地址)送到 AR 中,然后 PC+1
101:用 MEM->AR 将 ADDR 从内存中取出并送到 AR 中
102:利用 SR-MEM->Q 计算 SR 与[ADDR]的差,并让各标志位接受 ALU 的
运算结果,
103:若 S=1(即 SR<[ADDR]),条件转移到 105,否则顺序执行 104
104:将 Q 的值(即 SR-[ADDR])送到[ADDR]中
105:AR<[ADDR]时转移到此处,计算 SR+[ADDR]并送到 Q 寄存器中
106:将 Q 寄存器的值送到[ADDR]中
微程序:
100H: PC->AR,PC+1->PC: 0000 0E00 A0B5 5402
101H: MEM->AR: 0000 0E00 10F0 0002
102H: SR-MEM->Q,接受标志: 0000 0E01 01D0 0080
103H: S=1(即 AR<[ADDR])时,条件转移到 105: 0041 43B0 9080
0000
104H: Q->MEM,CC#=0: 0029 0300 1020 0010
105H: SR+MEM->Q: 0000 0E00 00D0 0080
106H: Q->MEM,CC#=0: 0029 0300 1020 0010
A800
MOV R1,900

MOV R2,7
MOV R3,100
LDMC
RET
G800
A820
MOV R7,0001
MOV R1,0002
MOV [082A],R1
NOP
NOP
RET
E826
D407 082A
G820
U820
运行结果如下:
0820:2C70 0001 MOV R7, 0001
0822:2C10 0002 MOV R1, 0002
0824:3401 082A MOV [082A],R1
0826:D407 DW D407
0827:082A ADC R2, R10
0828:AC00 RET
0829:0000 NOP
082A:0003 NOP
……结果分析:由于运行前 SR=R7=0001<[ADDR]=[082A]=0002,故运行
后[ADDR]=0003=SR+[ADDR],结果正确.
更换数据测试:
>E821
0821 0001:0002
>G820
>U820
运行结果如下:
0820:2C70 0002 MOV R7, 0002
0822:2C10 0002 MOV R1, 0002
0824:3401 082A MOV [082A],R1
0826:D407 DW D407
0827:082A ADC R2, R10
0828:AC00 RET

0829:0000 NOP
082A:0000 NOP
……结果分析:由于运行前 SR=R7=0002=[ADDR]=[082A]=0002,故运行
后[ADDR]=0000=SR-[ADDR],结果正确.
(2) 设计一条指令,比较 SR 内容与[ADDR].
若 SR<[ADDR],则 IP+OFFSET->PC;否则 SR+[ADDR]-
>DR.
指令格式:
D4 DR SR
ADDR
OFFSET
设计分析:
100:把 PC 的值(即 ADDR 的地址)送到 AR 中
101:用 MEM->AR 将 ADDR 的值从内存中取出并送到 AR 中
102:利用 MEM->Q 将[ADDR]的值从内存中取出然后送到 Q 寄存器中
103:SR-Q,并让个标志位接收运算结果,以便根据标志位进行条件转移
104:降 OFFSET 的地址送到 AR 中并且 PC+1,若 S=1(即 SR<[ADDR]),
条件转移到 106,否则顺序执行 105
105:SR>=[ADDR]时,SR+Q->DR,结束
106:AR<[ADDR]时转移到此处,计算 IP+OFFSET 并送到 PC 中
微程序:
100H: PC->AR,PC+1->PC: 0000 0E00 A0B5 5402
101H: MEM->AR: 0000 0E00 10F0 0002

102H: MEM->Q: 0000 0e00 00f0 0000
103H: SR-Q:改变标志位: 0000 0e01 9200 0088
104H:S=1(即 SR<[ADDR])时,
条件转移到 106,PC->AR,PC+1->PC: 0041 83B0 A035 5402
105H: SR+Q->DR,CC#=0: 0029 0311 B000 0088
106H: IP+MEM->C,CC#=0: 0029 0310 30D6 5000
装载微码:
A800
MOV R1,900
MOV R2,7
MOV R3,100
LDMC
RET
G800
A820
mov r1,0002
mov [0890],r1
nop
nop
nop
ret
mov r0,1111
Ret
E824
D487 0890 0004
1) RR7 :0001
剩余15页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1