彙編學習筆記11

2022-04-11 11:56:09 字數 832 閱讀 3072

第11講講了剩下兩個減法指令: neg 和 cmp

neg op 對op進行求補,然後將結果送入op,運算元可以是通用暫存器和儲存單元。當op為8位-128或16位-32768時,結果為它自身。當op為0時,cf位為0,其他時候都為1。neg操作其實是 op = 0 - op。

cmp op1, op2 比較操作,用op1 - op2, 與sub規則相同,不同之處在於不把結果送回op1,根據標誌位來判斷比較的結果。zf = 0時兩運算元相等,否則不相等。當不相等時,如果是無符號數,根據cf位來判斷大小;如果是有符號數,根據of和sf來判斷大小。有符號數不相等時怎麼判斷?如果of = 0,無溢位,sf = 0時op1 > op2,否則op1 < op2。如果op = 1,有溢位,sf = 0時,op1 < op2, 此時,op1為負, op2為正,sf = 1時,op1 > op2,此時, op1為正, op2為負。

剩下時間講加減法的應用。

例: 已知 字儲存單元 x, y, z, 將 x + (y + z – 25h) 送入z中

mov ax, y

add ax, z

sub ax, 25h

add ax, x

mov z, ax

例: 已知雙字儲存單元 x, y, z, 將 x + (y + z – 25h) 送入z中

mov ax, y

mov dx, y + 2

add ax, z

adc dx, z + 2

sub ax, 25h

sbb dx, 0

add ax, x

adc dx, x +2

mov z, ax

mov z+2, dx

彙編基礎學習11

文章 http www.mcany.cn article 286.htm 博主 沒落的殘陽 這節來學習下loop迴圈指令。我們高階語言的堆疊分配初始化可是靠它了呵呵。首先我們來看下它的指令格式。loop 標號 ecx不為零時跳轉至標號迴圈.標號只是寫匯程式設計序時用來表示乙個記憶體位址的。例如 to...

彙編學習筆記

1 cpu的指令集 cpu內整合了不同功能的電路模組 如 加 減法器,比較器 正常工作所對應的不同高低電平 數電知識 組合語言是人對機器指令的語言表述。2 cpu對硬體的控制實際是訪問其記憶體 如顯示卡上整合有ram 視訊記憶體 和rom 裝有唯讀bios 源 被編譯成機器 後被載入記憶體。3 程式...

彙編學習筆記

彙編檔案為 s 檔案 因為c程式執行需要棧,設定好棧了之後就可以呼叫c程式了 bl delay 呼叫delay 暫存器移位 mov r0,r1,lsl 3 r1內容左移3位送r0 暫存器間接定址 ldr r1,r2 r2做位址取數送r1 基址變址定址 ldr r1,r2,4 r2 4作位址取數送r1...