CMP編譯
發布時間: 2025-02-16 17:23:48
Ⅰ jb, jh, cmp分別是什麼功能啊
匯編語言中JB、JA都是條件轉移指令,常用於比較兩個無符號數的大小,判斷條件是CF、ZF狀態的組合。為確定CF、ZF狀態,轉移前用CMP指令設置標志位(CMP A,B)。
當計算機的硬體不認識字母符號,這時候就需要一個專門的程序把這些字元變成計算機能夠識別的二進制數。因為匯編語言只是將機器語言做了簡單編譯,所以並沒有根本上解決機器語言的特定性,所以匯編語言和機器自身的編程環境息息相關,推廣和移植很難。
(1)CMP編譯擴展閱讀
由於匯編指令系統龐大,因而需構建指令系統體系,其指令數量龐大,格式復雜,可記憶性差等。指令中最難的是指令所支持的定址方式,其實質就是指令中操作數如何獲取。對於處理器而言,就是如何找到他所需的數據。
但對於計算機底層的匯編語言而言,這種定址方式將涉及大量的計算存儲格式,與 復雜的存儲管理方式緊密相關,因而難以理解。最後,匯編指令還關繫到如何影響標志位,但處理器標志位非常復雜,因而對其機制掌握就比較困難。
傳送指令
包括通用數據傳送指令MOV、條件傳送指令CMOVcc、堆棧操作指令PUSH/PUSHA/PUSHAD/POP/POPA/POPAD、交換指令XCHG/XLAT/BSWAP、地址或段描述符選擇子傳送指令LEA/LDS/LES/LFS/LGS/LSS等。
邏輯運算
這部分指令用於執行算術和邏輯運算,包括加法指令ADD/ADC、減法指令SUB/SBB、加一指令INC、減一指令DEC、比較操作指令CMP、乘法指令MUL/IMUL、除法指令DIV/IDIV、符號擴展指令CBW/CWDE/CDQE、十進制調整指令DAA/DAS/AAA/AAS、邏輯運算指令NOT/AND/OR/XOR/TEST等。
熱點內容