彙編如何實現正負數判斷

2022-06-13 01:15:13 字數 619 閱讀 9978

假設我們的資料存在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

雖然第三種和第二種 都可以實現 不修改資料的比較,但是應該是第二種更加快速,畢竟涉及操作位少,而且進行的也是位運算

類實現一維陣列正負數交換

對於乙個有正數和負數的陣列,將其中所有小於0 的元素放於等於0的元素,從右向左找到小於0的元素,將兩者交換。依此類推,直到掃瞄完為止。試建立乙個類arr,完成上述工作。具體要求如下 1 私有資料成員。int n 陣列實際元素個數。int a 100 初始時存放原始陣列,最終存放交換後的陣列。2 公有...

微控制器彙編案例之統計正負數個數

這是我微控制器實驗作業的原始碼,統計正負數個數。寫得不好,僅供參考。如有bug,歡迎指正。本程式從鍵盤獲取輸入,並統計輸入的正整數和負整數的個數,結果存於40h 41h 此處把0歸於正數。數值範圍 128 127 org 00h lcall getkey 從鍵盤獲取資料,輸入的必須是十進位制整數,可...

80x86 組合語言 正負數分別存放 統計個數

自己定義一組有符號的位元組數 小於100個 然後將其分別存入兩個陣列中,其中正數和負數的個數分別存入各自陣列的第乙個單元,最後顯示正數的個數和負數的個數,形式為 n 和 m 要求 統計部分用乙個過程完成,顯示部分用乙個過程或軟中斷完成,軟中斷的向量自己根據系統要求決定。提問者採納 2014 06 1...