目录 上一页 下一页 下一章

-128- PC机汇编语言实战精解

助记符:JNS(Jump if Not Signed)
用 途:根据运算结果的符号情况进行转移
格 式:JNS 目的地址
执 行:若标志寄存器"符号位"SF为0,则执行转移
  不用问,和这条指令功能相对的指令必然是"JS"(Jump if Signed)。我们先来领略一下这个演示程序:
code


main

msg
start:





change:










main
code

segment
assume
org
proc
jmp
db
mov
mov
int

mov
mov

mov
int

mov
int

dec
jns

int
endp
ends
end

cs:code,ds:code
100h
far
short start
'Press any key...',0dh,0ah,
ah,09h
dx,offset msg
21h

ch,0fh
cl,0fh

ah,1
10h

ah,0
16h

ch
change

20h


main





24h
;输出字符串MSG



;设置光标起始扫描线
;设置光标终止扫描线

;利用10H中断的01功能
;改变光标形状

;等待键盘输入


;光标起始扫描线减1
;转至CHANGE继续改变光标形状

;结束进程



  运行这个程序并连续按键,就可以看到光标形状所发生的变化。现在我们来谈谈指令JS与JNS,这两条指令和SF标志有密切关系,所以我们先来研究SF标志究竟受什么指令影响,这又要请我们的老朋友--DEBUG来帮助:
C:\ASM\>DEBUG [Enter]
-a100[Enter]
13CD:0100 mov ax,ffff
13CD:0103 dec ax


;0FFFFH送入AX寄存器
;计算0FFFFH-1

Copyright © 2004-2015 Reanimator www.cookmoon.org

目录 上一页 下一页 下一章