匯編如何實現正負數判斷


假設我們的數據存在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