組合語言浮點數指令集

2021-06-03 10:53:19 字數 4528 閱讀 8031

;                     浮點數載入指令

;助記符 運算元          功能

fld   memory(real)    ; 將儲存器中的實型壓人堆疊

fild  memory(integer) ;將儲存器的整型數值轉化為浮點數並壓人堆疊

fbld  memory(bcd)     ;將儲存器的bcd碼轉化為浮點數並壓人堆疊

fld    st(num)        ;將浮點型暫存器中的數值壓入堆疊

fld1  (none)          ;1.0壓人堆疊

fldz  (none)          ;0.0壓人堆疊

fldpi (none)         ;π(pi) 壓人堆疊

fldl2e (none)         ;log2(e)壓人堆疊

fldl2t (none)         ;log2(10)壓人堆疊

fldlg2 (none)         ;log10(2)壓人堆疊

fldln2 (none)         ;loge(2)壓人堆疊

finit (none)         ; 初始化浮點型單元,並清空8個暫存器的內容

;                  浮點數資料儲存指令

;助記符 運算元          功能

fst    st(num)         ;複製st的值來替換st(num)的內容;只有st(num)是受到影響

fstp   st(num)         ;複製st的值來替換st(num)的內容;st出棧

fst    memory(real)    ;複製st的值為實型數,存入儲存器;堆疊不受影響

fstp   memory(real)    ;複製st的值為實型數,存入儲存器;st出棧

fist   memory(integer) ;複製st的值,並轉換為整型數存入儲存器

fistp  memory(integer) ;複製st的值,並轉換為整型數存入儲存器;st出棧

fbstp  memory(bcd)     ;複製st的值,並轉換為bcd碼存入儲存器;st出棧

fxch   (none)          ;互換st和st(1)

fxch   st(num)         ;互換st和st(num)

;///                 浮點型加法指令

;助記符 運算元          功能

fadd   (none)          ; 將st和st(1)出棧;將兩個值相加;並將它們的和入棧

fadd   st(num),st      ;將st(num)和st相加;用和替換st(num)

fadd   st,st(num)      ;將st和st(num)相加;用和替換st

fadd   memory(real)    ; 將st和儲存器中的實型數相加;用和替換st

fiadd  memory(integer) ;將st和儲存器中的整型數相加,用和替換st

faddp  st(num),st      ;將st(num)和st相加,用和來替換st(num),將st出棧

;///                 浮點型乘法指令

; 助記符 運算元          功能

fmul     (none)         ;將st和st(1)出棧;並將它們的值相乘;乘積人棧

fmul    st(num),st      ;將st(num)和st相乘;用乘積來替換st(num)

fmul    st,st(num)      ;將st和st(num)相乘;用乘積來替換st

fmul    memory(real)    ;將st和儲存器中的實型數相乘;用乘積來替換st

fimul   memory(integer) ;將st和儲存器中的整型數相乘,用乘積來替換st

fmulp   st(num),st      ;將st(num)和st相乘;乘積來替換st(num);並將st出棧

;助記符 運算元          功能

fsub  (none)          ;將st和st(1)出棧,計算st(1)減st的值;將差入棧

fsub  st(num),st      ;計算st(num)減st的值;用差值替換st(num)

fsub  st,st(num)      ;計算st減st(num)的值;用差值來替換st

fsub  memory(real)    ;計算st減儲存器中的實型數的值;用差值來替換st

fisub memory(integer) ;計算st減儲存器中的整型數的值;用差值替換st

fsubp st(num),st     ; 計算st(num)減st的值;用差值替換st(num);將st出棧

fsubr (none)         ;將st和st(1)出棧;計算st減st(1)的 值;將差值入棧

fsubr st(num),st     ; 計算st減st(num)的值,用差值替換st(num)

fsubr st,st(num)     ; 計算st(num)減st的值,用差值來替換st

fsubr memory(real)   ; 計算儲存器中的實型數值減st的值,用差值替換st

fisubr memory(integer) ;計算儲存器中的整型數值減st的值;用差值替換st

fsubrp st(num),st     ;計算st減st(num)的值,用差值替換st(num);將st出棧

;///                     浮點型除法指令

;助記符 運算元          功能

fdiv   (none)         ;將st和st(1)出棧;計算st(1)/st的值;並將商入棧

fdiv   st(num),st     ;計算st(num)/st的值;用商來替換st(num)

fdiv   st,st(num)     ;計算st/st(num)的值;用商來替換st

fdiv   memory(real)   ;計算st/儲存器中的實型數;用商來替換st

fidiv  memory(integer);計算st/儲存器中的整型數;用商來替換st

fdivp  st(num),st     ;計算st(num)/st的值;用商來替換st(num);並將st出棧

fdivr  (none)         ;將st和st(1)出棧;計算st/st(1)的值;並將商入棧

fdivr  st(num),st     ;計算st/st(num)的值;用商來替換st(num)

fdivr  st,st(num)     ;計算st(num)/st的值;用商來替換st

fdivr  memory(real)   ;計算儲存器中的實型數/st;商來替換st

fidivr memory(integer);計算儲存器中的整型數/st;用商來替換st

fdivrp st(num),st    ;計算st/st(num)的值,用商來替換st(num);並將st出棧

;///                      附 加的浮點型指令

; 助記符 運算元          功能

fabs   (none)         ;st := |st|(絕對值)

fchs   (none)         ;st := -st(相反數)

frndint (none)        ;對st取整

fsqrt  (none)         ;用st的平方根來替換st

;///                      浮點型比較指令

;助記符 運算元          功能

fcom   (none)          ;比較st和st(1)

fcom   st(num)         ;比較st和st(num)

fcom   memory(real)    ;比較st和儲存器中的實型數

ficom  memory(integer) ;比較st和儲存器中的整型數

ftst   (none)          ;比較st和0.0

fcomp  (none)          ;比較st和st(1);然後出棧

fcomp  st(num)         ;比較st和st(num);然後出棧

fcomp  memory(real)    ;比較st和儲存器中的實型數;然後出棧

fcomp  memory(integer) ;比較st和儲存器中的整型數;然後出棧

fcompp (none)         ;比較st和st(1);然後兩次出棧

;///                   混 合浮點型指令

;助記符 運算元          功能

fstsw   memoryword     ;複製狀態暫存器到儲存器字

fstsw   ax              ;複製狀態暫存器到ax暫存器

fstcw   memoryword     ;複製控制字暫存器到儲存器

fldcw   memoryword     ;複製儲存器字到控制字暫存器

組合語言浮點數指令集

浮點數載入指令 助記符 運算元 功能 fld memory real 將儲存器中的實型壓人堆疊 fild memory integer 將儲存器的整型數值轉化為浮點數並壓人堆疊 fbld memory bcd 將儲存器的bcd碼轉化為浮點數並壓人堆疊 fld st num 將浮點型暫存器中的數值壓入...

8086組合語言指令集

mov 功能 把源運算元送給目的運算元語法 mov 目的運算元,源運算元格式 mov r1,r2 mov r,m mov m,r movr,data xchg 功能 交換兩個運算元的資料語法 xchg 格.8086 8088組合語言指令集 資料傳送指令集 mov 功能 把源運算元送給目的運算元 語法...

x86組合語言指令集

一 資料傳輸指令 8088 彙編跳轉 cmp a,b 比較a與b mov a,b 把b的值送給a ret 返回主程式 nop 無作用,英文 no operation 的簡寫,意思是 do nothing call 呼叫子程式 je 或jz 若相等則跳 jne或jnz 若不相等則跳 jmp 無條件跳 ...