判断方程AX2+BX+C=0是否有实根。若有实根,则将字节变量TAG置1,否则置0。假设A、B、C均为字节变量,数据范围为-128~127。
分析:二元一次方程有根的条件是B2-4*A*C>=0。依据题意,先计算出B2和4*A*C,然后比较两者大小,根据比较结果给TAG赋不同的值。
Datasegment
A db 7
B db 8
C db 6
Tag db ?
Dataends
Codesegment
Assume ds:data,cs:code
Start:
Movax,data
Movds,ax
Moval,b
Imulal;乘法指令,求出B2的值并放入AX中
Movbx,ax
Moval,a
Imulc
Movcx,4
Imulcx
Cmpbx,ax
Jgeyes
Movtag ,0
Jmpdone
Yes:mov tag,1
Done:mov ah,4ch
Int21h
CodeEnds
Endstart