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.mzph.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 )…