% xalu xmain, xcare, bon, decrement
yalu ymain, xcare, bmeqmin, decrement
在这条指令中,XALU的借位标志总是设置为“1”。每次执行这条指令时,ALU将从xmain寄存器的值中减去1。YALU使用的是条件借位。如果xmain寄存器的值处于其最小值,YALU将从ymain寄存器的值中减去1。
Examples
👉 这是默认指令。ALU不会执行任何操作。主寄存器的内容将被发送到被测设备(DUT)。在这种情况下,地址线上将全部是1(0xff或11111111)。
%YALUxcare, xcare, coff , hold, nodes t, oymain
🔔 在这条指令中,算术逻辑单元(ALU)不会执行任何操作。字段寄存器的内容将被发送到被测设备(DUT)。在这种情况下,DUT将接收到0x55。
%YALUxcare, xcare, coff, hold, nodest, oyfield
🔔 这条指令中的操作是增量操作。增量定义为源A加上进位位。指令中的“con”强制进位位为开启状态。在初始化部分,主寄存器被设置为全1。由于寄存器已经达到了其最大值,向寄存器中加1将导致寄存器回滚到全零状态。因此,DUT将从这条指令中接收到全零。
% YALU ymain, xcare, con, increment dymain, oymain
👉 这条指令中的操作同样是增量操作。增量定义为源A加上进位位。指令中的“cmeqmax”只有在另一个ALU的主寄存器达到其最大值时才会设置进位位为开启状态。在初始化部分,主寄存器被设置为全1。DUT将从这条指令中接收到0x01。
%YALU ymain, xcare, cmeqmax, increment, dymain, oymain
🔔 这条指令使用的是加法操作。源A(主寄存器)和源B(基础寄存器)将被一起相加。结果将被送回主寄存器。
%YALU ymain, xbase, coff, add, dymain, oymain
DUT会接受到0x03