Day3: 条件转移指令的设计与调试 1.设计目标为CPU扩充转移指令完成转移指令的微程序设计与调试 2.设计任务(1)根据介绍的微地址形成方法算出条件转移指令的微程序入口地址编写JC指令的微程序输入到控存并用下面的调机程序验证 MOV imm1 R1CMP imm2 R1JC ADDR1MOV 0001H FF01HHALTADDR1:MOV 0080H FF01HHALT常见问题图中
#
条件转移指令JZ,JNZ,CJNE,DJNZ8条1、累加器判零转移指令(2字节指令)JZ relJNZ rel2、数值比较指令CJNE A,#data,relCJNE A,direct,relCJNE Rn,#data,relCJNE @Ri,#data,rel条件转移指令3、减1条件转移指令(1)寄存器减1条件转移DJNZ Rn,rel(2)直接寻址单元减1条件转移指令DJNZ direct,r
Day5: 堆栈相关指令的设计与调试 1.设计目标为CPU扩充PUSHPOPCALLRET指令完成微程序设计2.设计任务(1)编写PUSH和POP指令的微程序并用下面的调机程序验证 ORG 0030HMOV 0041HR0PUSH R0PUSH 0040HPOP (R0)POP R1P55 PUSH指令的EXECPUSH OPR (SP)-1→SP OPR→(SP) 例
#
条件跳转指令CJ(P)的编号为FNC00条件跳转指令CJ(P)的编号为FNC00操作数为指针标号P0P127其中P63为END所在步序不需标记指针标号允许用变址寄存器修改CJ和CJP都占3个程序步指针标号占1步如图3-28所示当X20接通时则由CJ P9指令跳到标号为P9的指令处开始执行跳过了程序的一部分减少了扫描周期如果X20断开跳转不会执行则程序按原顺序执行?图1? 跳转指令的使用使用跳
#
#
说明: ① 机器指令码所指定的位移量由汇编程序按照下式计算得出 位移量 = 转移目标地址 - 当前IP值(JMP指令的下一条指令的地址) ② 16位位移量是带符号二进制数因此跳转的范围为 ± 32K ③ 指令中的转移目标地址用相对于当前IP所指向指令的相对位移量来表示因此属于相对转移 ④ 用户程序可以忽略运算符SHORT或者NEAR PTR直接写成如下格
#
违法有害信息,请在下方选择原因提交举报