汇编如何实现正负数判断


假设我们的数据存在al中,我们需要判断al的正负,并且当al为正数时,ah = 1, al 为负数时, ah = -1

琢磨了一下子这道题目,想要在汇编中实现 选择,那就只能用条件转跳了,条件转跳 肯定就和标志位 息息相关,用啥子,标志位咧,ZF?CF?AF?SF?

  我好难啊喵~,都试一遍吧

  

第一种:

start:          mov al, 1
                mov ah, 1
                test al, 80h
                jz pos
                neg ah
pos:            nop

第二种:

                mov ah, 1
                neg al
                js  pos
                neg ah
pos:            nop

第三种:

                mov ah, 1
                cmp al, 0
                jge  pos
                neg ah
pos:            nop

虽然第三种和第二种 都可以实现 不修改数据的比较,但是应该是第二种更加快速,毕竟涉及操作位少,而且进行的也是位运算


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM