初學 Delphi 嵌入彙編 17 邏輯運算

2021-09-05 18:28:15 字數 2118 閱讀 4709

and: 邏輯與指令 or : 邏輯或指令 xor: 邏輯異或指令 not: 邏輯非指令 這和 delphi 的邏輯命令完全一致.

//邏輯非 not: 

var bytenum: byte;

begin

//賦值 11111111b (255) 取反:

asmmov al, 11111111b

not al

mov bytenum, al

end;

showmessage(inttostr(bytenum));

//賦值 00000001b (1) 取反:

asmmov al, 00000001b

not al

mov bytenum, al

end;

showmessage(inttostr(bytenum));

//賦值 10000000b (128) 取反:

asmmov al, 00000001b

not al

mov bytenum, al

end;

showmessage(inttostr(bytenum));

end;

//邏輯或 or:

var bytenum: byte;

begin

asmmov al, 10101010b

mov cl, 01010101b

or al, cl

mov bytenum, al

end;

showmessage(inttostr(bytenum));

end;

//邏輯與 and:

var bytenum: byte;

begin

//例1

asmmov al, 11111111b

mov cl, 11111111b

and al, cl

mov bytenum, al

end;

showmessage(inttostr(bytenum));

//例2

asmmov al, 00000000b

mov cl, 00000000b

and al, cl

mov bytenum, al

end;

showmessage(inttostr(bytenum));

//例3

asmmov al, 11111111b

mov cl, 00000000b

and al, cl

mov bytenum, al

end;

showmessage(inttostr(bytenum));

//例4

asmmov al, 10101010b

mov cl, 01010101b

and al, cl

mov bytenum, al

end;

showmessage(inttostr(bytenum));

end;

//邏輯異或 xor:

var bytenum: byte;

begin

//例1

asmmov al, 11111111b

mov cl, 11111111b

xor al, cl

mov bytenum, al

end;

showmessage(inttostr(bytenum));

//例2

asmmov al, 11111111b

mov cl, 00000000b

xor al, cl

mov bytenum, al

end;

showmessage(inttostr(bytenum));

//例3

asmmov al, 10101010b

mov cl, 01010101b

xor al, cl

mov bytenum, al

end;

showmessage(inttostr(bytenum));

end;

GCC嵌入彙編

其中有一段精華如下 嵌入式彙編的一般形式 asm volatile output input modify 其中,asm 表示彙編 的開始,其後可以跟 volatile 這是可選項 其 含義是避免 asm 指令被刪除 移動或組合 然後就是小括弧,括弧中的內容是我們介 紹的重點 為彙編指令部分,例如,...

C嵌入彙編

概述 linux核心原始碼中,有很多c語言中嵌入了彙編語句,如何理解這些彙編語句,對理解核心有很重要的作用。具有輸入和輸出引數的嵌入式彙編語句的基本格式為 asm 彙編語句 輸出暫存器 輸入暫存器 會被修改的暫存器 1 define get seg byte seg,addr 2 這段 定義了乙個嵌...

C 嵌入彙編

1.include include using namespace std int main cout 直接在watch裡面輸入暫存器的名字就可以 如,eax,ax,ah,al 3.函式呼叫,引數及返回值 具體例子 這篇中有的例子不是很好,比如第五個例子,只用暫存器就可以控制迴圈,不知道為什麼要加上...