今天我們分享兩個關於計算器的開源軟體,這兩個開源軟體都是用組合語言編寫,學習這兩個軟體有助於我們理解相關的指令和資料轉換的方法。
rdebug的計算器
第乙個開源軟體來自rdebug的部落格:這個計算器軟體完全使用彙編編寫,執行在dos下。執行效果如下:
這個軟體沒有依賴第三方庫,僅使用了dos中斷用於輸入和輸出。從這個例子,我們可以學到:
如何將字串轉換為二進位制數
基本的輸入和輸出函式,如 getch,、putch、newline、writeline
基本的基於文字的選單系統
如何處理128位元資料
使用連加和連減代替mul和div指令
提取碼: 6dcc
flouthoc的calc.asm
第二個軟體來自github,位址是:這個軟體也是使用nasm編寫,基於linux環境,引數是通過命令列傳遞的,使用了64位**。程式中規中矩,非常便於閱讀和理解。執行效果如下:
bitpmcrg
歡迎關注北京理工大學專業移動通訊組的公共號「北理工通訊課題組」
求分享
求點贊
求在看
組合語言 彙編指令
功能 用來進行資料傳輸。以 mov a,b 為例,相當於a b。具有以下形式 mov 暫存器,資料 mov 暫存器,暫存器 mov 暫存器,記憶體單元 mov 記憶體單元,暫存器 mov 段暫存器,暫存器 功能 用來做加法。以 add a,b 為例,相當於a a b。具有的形式,和 mov 一樣。功...
組合語言 傳送指令
一.傳送指令 1.通用傳送指令mov mov dst,src 將src傳送到dst中 dstsrc操作位數 mem reg imm8 16 mem reg seg reg8 16 reg seg mem 8 16 mem reg seg 8 16 imm是立即數,reg是暫存器,seg是段暫存器,m...
組合語言常用指令
上次說到組合語言十分重要,所以又為了避免忘記,貼上一些常用彙編指令 mov 指令範例 mov r1,8 mov r2,r1 mov r3,10 mvn 傳送取反賦值 mvn r1,0b10 mvn r2,5 mvn r3,r1 sub 減法 目的暫存器 被減數 不能是立即數 減數 mov r2,4 ...