怎么用汇编语言实现,我程序中的变量与一个数进行比较?

谢谢各位,我现在做的是DSP320里的汇编。我想做的是一个判断,如果FRQ(变频器给电机补偿的频率值)大于5Hz,则FRQ=5Hz;如果FRQ>-5Hz,则FRQ=-5Hz。请问这个功能怎么实现。

第1个回答  2011-07-11
您学过汇编吗?用cmp指令,然后用条件转移指令去判断标志位,然后转移,就相当于C语言中的if条件判断语句。。。下面给你举一个例子,如果你学过汇编,应该能懂的。
例子:
mov al,22h ;令al的值为22h
cmp al,21h ;让al和21h做比较
ja so ;ja的意思是如果大于,ja so 的意思是如果大于,就转移到so
.
.
.
so:
.........
类似于ja的条件转移指令还有好几个。。。。分别判断各种情况,相等,大于 小于,不相等。。本回答被提问者采纳
第2个回答  2011-07-11
mov ax,n ;先将n的结果传送给ax,因为存储器地址不能直接跟立即数比较
cmp ax,1;汇编中的比较指令,
在微型计算机的汇编语言中,CMP ( CoMPare) 是其中一条指令,叫做比较指令。cmp的功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。[1]   使用例子如:CMP ax,1
第3个回答  2011-07-11
如果32位,可以直接像高级语言那样比

.if @变量A >= 数A
做某事
..............
.endif

16位的
可以用cmp 和 je, jne等等命令组合比较。追问

您好,我用的是DSP,没有您说的CMP,JA等指令,怎么办?

第4个回答  2011-07-11
请问比较什么?是比较长短呢还是比较大小呢?
相似回答