jcxz+call+ret 指令实验
code segment main: mov ax,1 mov bx,2 mov cx,3 s1: call s2 ;执行s2 loop s1 ;ret 返回执行此指令 若cx = 0 则执行下一条指令 否则循s1 s2: add ax,3 mov bx,ax jcxz s3 ;cx ≠ 0 此条指令无作用 ,当cx = 0时 则跳到s3 执行 ret ;返回到call下面一条指令执行 S3: add ax,2 add ax,bx mov ax,4c00h int 21h code ends end main
;call的应用
![](//images0.cnblogs.com/blog/584495/201311/22113620-8b35984fc9d349758a211ff3a0a903af.jpg)
; cx ≠ 0 jcxz指令无作用 直接跳过
![](//images0.cnblogs.com/blog/584495/201311/22113721-153aabafe66b42519fdb2fc54952ef12.jpg)
![](//images0.cnblogs.com/blog/584495/201311/22113837-a1d5bfde36524e0591acdaa23b49d8e7.jpg)
![](//images0.cnblogs.com/blog/584495/201311/22113852-58357dd3970e4f7197303f37eba5461a.jpg)
; cx = 0 jcxz指令执行 跳到 s3 处执行
![](//images0.cnblogs.com/blog/584495/201311/22113917-01035780f20f49bfbb83174f35f50984.jpg)