当前文档版本为 v0.2.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

snz


snz R

指令格式

snz R

影响标志

伪指令

1
if R != 0 then skip end

指令描述

判断寄存器R,如果不为0则跳过下一条指令;

范例

1
2
3
4
5
6
7
8
9
//sum of 1 ~ A
        cseg
sum_A:  mov     R0, A   //R0 = A
        clr     A       //A = 0
        add     A, R0   //A = A + R0
        dec     R0      //R0 = R0 - 1
        snz     R0      //if R0 != 0 then skip next instruction end
        ret
        jmp     sum_A + 2

snz A, R

指令格式

snz A, R

影响标志

伪指令

1
2
A = R
if A != 0 then skip end

指令描述

将寄存器R复制到累加器A,判断累加器A,如果不为0则跳过下一条指令;

范例

1
2
3
4
5
6
7
8
//sum of 1 ~ A
        cseg
sum_A:  clr     R0      //R0 = 0
        add     R0, A   //R0 = R0 + A
        dec     R0      //R0 = R0 - 1
        snz     A, R0   //A = R0; if R0 == 0 then skip next instruction end
        ret
        jmp     sum_A + 1