12.x86游戲實戰-匯編指令and or not

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動!

本次游戲沒法給

內容參考于:微塵網絡安全

上一個內容:11.x86游戲實戰-匯編指令add sub inc dec

and指令是與的意思

or指令是或的意思

not指令是取反的意思

與、或、取反要從二進制開始說。二進制的范圍是0-1,也就是只有0和1兩個數

數字4的二進制是100

數字1的二進制是001

數字2的二進制是010

為什么二進制100是數字4?為什么001是數字1,為什么010是數字2?

Windows系統上有個計算器,可以很好的看出

計算器有64個位,現在計算機最大能表達的數也就64位

數字2

數字4

數字1

然后可以看出一個規律,二進制從右邊開始分別是1、2、4、8、16、24、32。。。下一個數都是上一個數乘以2的規律(這里面有數學公式,不懂數學的就不要去懂了,沒用,知道怎么看2進制就行了)

然后 011,從右邊開始數第一個(位)是1,從右邊開始數第二個(位)是1,從右邊開始數第三個(位)0,上方說右邊第一個代表數是1,右邊第二個代表數是2,所以011的十進制就是3(1+2),二進制翻譯成十進制就找出二進制中是1的位它對應的代表數,把所有是1位進行相加

現有兩個數字4 和 1

4的二進制是100

1的二進制是001

與操作(與是一個運算符)就把兩個數字翻譯成二進制然后對比它們的二進制如果兩個 位置都是1才是1

100 與 001,結果就是000

如下圖紅框,滿足不了都是1才是1的條件,它們都是一個1一個0

or

or是或運算符,它的作用是只要有1就是1

4的二進制是100

1的二進制是001

100 或 001,結果就是101,十進制就是6

如下圖紅框,滿足有1就是1的條件

not

not是取反,也就是0變1,1變0

4的二進制是100

nop 100結果是011,十進制是3

代碼:

現在eax的值是4

然后執行and eax, 2,結果就變成了0,100和010與不滿足都是1才是1的條件,所以都是0

然后再次手動把eax的值改成4

然后執行or eax, 2,然后就變成了6,100或010結果是110,也就是2+4=6

然后現在eax 的值是6,執行not eax,結果是 FFFFFFF9,如果帶上符號顯示那就會是-7(c++里顯示的不是-6是-7,沒有別的理由)

然后下圖紅框位置的代碼,由于11111不是有效內存地址,這里沒法執行,如果是有效內存地址它就會對內存地址里的值進行操作,這里只是表達一下or可以這樣寫,然后and的寫法與or一樣

c++代碼

#include <iostream>
#include <Windows.h>int main()
{int a = 4;int b = 4;int c = 6;_asm {and a, 2or b, 2not c}printf("%d %d %d", a, b, c);
}


?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42650.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42650.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42650.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MUX VLAN實現二層流量的彈性管控

一、模擬場景&#xff0c;企業有一臺服務器&#xff0c;部門A&#xff0c;部門B&#xff0c;訪客 二、要求&#xff1a;三者都可以訪問服務器&#xff0c;部門A和B可以進行部門內部通信&#xff0c;A和B不可以通信&#xff0c;訪客只能訪問服務器 三、拓撲如下圖 四、配置流程…

計算機網絡編程和并發的知識

OSI七層協議 OSI&#xff08;Open Systems Interconnection&#xff09;模型是一個七層的網絡通信模型&#xff0c;用于標準化不同層級的網絡通信。從下到上分別是&#xff1a; 物理層&#xff08;Physical Layer&#xff09;&#xff1a;負責在物理媒介上傳輸原始的比特流。…

springcloud 面試經常被問問題

Spring Cloud 是一個基于 Spring Boot 的微服務架構解決方案&#xff0c;包含了許多用于構建和管理微服務的工具和框架。在面試中&#xff0c;與 Spring Cloud 相關的問題通常會涉及其核心概念、組件、常用模式和解決方案。以下是一些在 Spring Cloud 面試中經常被問到的問題及…

Linux系統(Centos)下MySQL數據庫中文亂碼問題解決

問題描述&#xff1a;在進行數據庫使用過程中&#xff0c;數據庫里的數據中文都顯示亂碼。操作數據庫的時候&#xff0c;會出現中文亂碼問題。 解決方法如下&#xff1a; 第一步&#xff1a;打開虛擬機進入系統&#xff0c;啟動MySQL。 第二步&#xff1a;連接登錄MySQL輸入…

Java面試題系列 - 第4天

題目&#xff1a;深入理解Java泛型與類型擦除 背景說明&#xff1a;Java泛型是Java SE 5引入的一種新特性&#xff0c;它允許在編譯時檢查類型安全&#xff0c;并且所有的強制轉換都是自動和隱式的&#xff0c;提高了代碼的重用率。然而&#xff0c;Java泛型的實現背后有一個重…

執行力不足是因為選擇模糊

選擇模糊&#xff1a;執行力不足的根源 選擇模糊是指在面對多個選項時&#xff0c;缺乏明確的目標和方向。這種模糊感會導致猶豫不決&#xff0c;進而影響我們的執行力。 選擇模糊的表現&#xff1a; 目標不明確&#xff0c;不知道應該做什么。優先級混亂&#xff0c;不清楚…

Docker-12 Docker常用命令

一、查看docker版本信息 docker version # 查看Docker版本信息二、啟動/停止docker 服務 systemctl start docker # 啟動 docker 服務 systemctl stop docker # 停止 docker 服務三、鏡像命令 docker images # 查看鏡像 docker search 鏡像名稱 # 搜索鏡像…

分布式技術棧、微服務架構 區分

1.分布式技術棧 這些技術棧都是為了更好的開發分布式架構的項目。 &#xff08;大營銷平臺的系統框架如下圖&#xff0c;擴展的分布式技術棧&#xff09; &#xff08;1&#xff09;Dubbo——分布式技術棧 DubboNacos注冊中心是應用可以分布式部署&#xff0c;并且提供RPC接…

BOM和DOM

關于DOM、BOM和diff算法 瀏覽器對象模型&#xff08;Browser Object Model&#xff0c;簡稱BOM&#xff09;和文檔對象模型&#xff08;Document Object Model&#xff0c;簡稱DOM&#xff09;是Web開發中的兩個核心概念&#xff0c;它們都與瀏覽器和網頁的交互有關。以下是BOM…

Codeforces Round 955 E. Number of k-good subarrays【分治、記憶化】

E. Number of k-good subarrays 題意 定義 b i t ( x ) bit(x) bit(x) 為 x x x 的二進制表示下 1 1 1 的數量 一個數組的子段被稱為 k ? g o o d k-good k?good 的當且僅當&#xff1a;對于這個子段內的每個數 x x x&#xff0c;都有 b i t ( x ) ≤ k bit(x) \leq k…

鴻蒙開發管理:【@ohos.account.distributedAccount (分布式帳號管理)】

分布式帳號管理 本模塊提供管理分布式帳號的一些基礎功能&#xff0c;主要包括查詢和更新帳號登錄狀態。 說明&#xff1a; 本模塊首批接口從API version 7開始支持。后續版本的新增接口&#xff0c;采用上角標單獨標記接口的起始版本。開發前請熟悉鴻蒙開發指導文檔&#xff…

自動化設備上位機設計 四

目錄 一 設計原型 二 后臺代碼 一 設計原型 二 后臺代碼 using SimpleTCP; using SqlSugar; using System.Text;namespace 自動化上位機設計 {public partial class Form1 : Form{SqlHelper sqlHelper new SqlHelper();SqlSugarClient dbContent null;bool IsRun false;i…

C# 命名規范

開頭bool類型的變量常用縮寫 變量命名規范camelCase: 私有字段&#xff0c;局部變量&#xff0c;入參PascalCase: 命名空間、類名&#xff0c;方法名snake_ case、 kebab_case: 不使用 一般方法名稱遵守PascalCase命名規范例外情況: 異步方法異步方法例外情況 合理選擇單詞選擇…

【CSS】縮寫屬性place-items

place-items 是 CSS 中的一個簡寫屬性&#xff0c;它允許在相關的布局&#xff08;如 Grid 或 Flexbox&#xff09;中同時沿著塊級和內聯方向對齊元素。這個屬性是 align-items 和 justify-items 屬性的簡寫形式。如果未提供第二個值&#xff0c;則第一個值將作為第二個值的默認…

論文翻譯 | (DSP)展示-搜索-預測:為知識密集型自然語言處理組合檢索和語言模型

摘要 檢索增強式上下文學習已經成為一種強大的方法&#xff0c;利用凍結語言模型 (LM) 和檢索模型 (RM) 來解決知識密集型任務。現有工作將這些模型結合在簡單的“檢索-讀取”流程中&#xff0c;其中 RM 檢索到的段落被插入到 LM 提示中。 為了充分發揮凍結 LM 和 RM 的…

ARM/Linux嵌入式面經(十一):地平線嵌入式實習

地平線嵌入式實習面經 1.自我介紹 等著,在給大哥們準備了。 2.spi與iic協議可以連接多個設備嗎?最多多少個?通訊時序。 這是幾個問題,在回答的時候。不要一問就開口,花幾秒鐘沉吟思考整理一下自己的思路。 這個問題問了幾個點?每個點的回答步驟。 是我的話,我會采用以…

# Sharding-JDBC 從入門到精通(9)- 綜合案例(二)添加商品

Sharding-JDBC 從入門到精通&#xff08;9&#xff09;- 綜合案例&#xff08;二&#xff09;添加商品 一、Sharding-JDBC 綜合案例-添加商品-dao 1、在 shopping 子工程&#xff08;子模塊&#xff09;中&#xff0c;創建 dao 接口類 ProductDao.java /*** dbsharding\sh…

基于深度學習LightWeight的人體姿態之行為識別系統源碼

一. LightWeight概述 light weight openpose是openpose的簡化版本&#xff0c;使用了openpose的大體流程。 Light weight openpose和openpose的區別是&#xff1a; a 前者使用的是Mobilenet V1&#xff08;到conv5_5&#xff09;&#xff0c;后者使用的是Vgg19&#xff08;前10…

哈希表——C語言

哈希表&#xff08;Hash Table&#xff09;是一種高效的數據結構&#xff0c;能夠在平均情況下實現常數時間的查找、插入和刪除操作。 哈希表的核心是哈希函數&#xff0c;哈希函數是一個將輸入數據&#xff08;通常稱為“鍵”或“key”&#xff09;轉換為固定長度的整數的函數…

Efficient Contrastive Learning for Fast and Accurate Inference on Graphs

發表于:ICML24 推薦指數: #paper/??? 創新點一顆星,證明三顆星(證明的不錯,值得借鑒,但是思路只能說還行吧) 如圖, 本文采取的創新點就是MLP用原始節點,GCN用鄰居節點的對比學習.這樣,可以加快運算速度 L E C L ? 1 ∣ V ∣ ∑ v ∈ V 1 ∣ N ( v ) ∣ ∑ u ∈ N ( v )…