汇编大多是指汇编语言,汇编程序。把汇编语言翻译成机器语言的过程称为汇编。在汇编语言中,用助记符代替 *** 作码,用地址符号或标号代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理的系统软件。
jz是ZF汇编语言中的PSW标志寄存器中的一位,而JZ则是根据ZF决定是否跳转。若ZF=1(表示本次运算结果为0,不为0则ZF=0),则跳转,否则,不跳转ZF的状态根据其他指令的执行结果设置。
jz=jump if zero,即零标志为1就跳转,一般与cmp连用,用以判断两数是否相等j,z的另一种写法就是je,je=jump if equal,jz和je的作用是完全一样的。
JZ是累加器A判零条件转移指令,JZ rel,若A=0,则PC+2+rel--->PC,否则,PC+2--->PC(rel : 以补码形式表示的8位地址偏移量,其值为-128~+127)。
扩展资料:程序状态字用来指示处理器状态、控制指令的执行顺序并且保留和指示与运行程序有关的各种信息,其主要作用是方便地实现程序状态的保护和恢复。
每个正在执行的程序都有一个与其执行相关的PSW,而每个处理器都设置一个程序状态字寄存器。一个程序占有处理器执行,它的PSW将占有程序状态字寄存器。
程序基本状态包括:程序计数器:指明下一条执行的指令地址;条件码:表示指令执行的结果状态:处理器状态位:指明当前的处理器状态,如目态或管态、运行或等待。
功能完全一样,字面意思不同je是Jump short if equal
jz是Jump short if zero
也就是说je的意思是在测试命令后检测相等的结果
jz则是直接测试ZF是否等于1没有明面上的意思
设计两种功能完全甚至连机器码都一样的命令也许是为了区分
一般在cmp指令后用je,test指令后用jz
这样上下文看起来会比较清晰
就好像一些高级语言中for也可以用while来实现,但是有时用for会更一目了然
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)