字符按位取反python_汇编 (NOT)按位取反指令

字符按位取反python_汇编 (NOT)按位取反指令知识点:(NOT)按位取反指令逻辑取反(!)按位取反(~)SETZ(SETE)取ZF位值保存SETNZ(SETNE)将ZF位值取反后保存一、逻辑取反(!)!111=0;!0=1;SETZ(SETE)//取ZF标志位值放到寄存器里SETNZ(SETNE)二、按位取反NOT指令VC中提供运算符为(~)11111111111111111111111111011110//取…

大家好,欢迎来到IT知识分享网。字符按位取反python_汇编 (NOT)按位取反指令

知识点:

 (NOT)按位取反指令

 逻辑取反(!)

 按位取反(~)

 SETZ(SETE) 取ZF位值保存

 SETNZ(SETNE)将ZF位值取反后保存

一、逻辑取反(!)

!111 =0;

!0=1;

SETZ(SETE) //取ZF标志位值 放到寄存器里

SETNZ(SETNE)

二、按位取反NOT指令

VC中提供运算符为(~)

11111111111111111111111111011110 //取反运算后

00000000000000000000000000100001

// asm_NOT.cpp : 定义控制台应用程序的入口点。

//

#include “stdafx.h”

int _tmain(int argc, _TCHAR* argv[])

{

int i,j;

i=0x8877;

j=!i; //0;

__asm mov edx,edx

j=~i;//00000000000000001000100001110111

//11111111111111110111011110001000

//FFFF7788

// 11011

// 00100

//00401000 /$ 55 PUSH EBP

//00401001 |. 8BEC MOV EBP,ESP

//00401003 |. 83EC 08 SUB ESP,8

//00401006 |. C745 FC 77880>MOV DWORD PTR SS:[EBP-4],8877

//0040100D |. 33C0 XOR EAX,EAX ; eax=0;

//0040100F |. 837D FC 00 CMP DWORD PTR SS:[EBP-4],0 ; i>0

//00401013 |. 0F94C0 SETE AL ; AL=ZF

//00401016 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX

//00401019 |. 8BD2 MOV EDX,EDX ; __asm mov edx,edx

//0040101B |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]

//0040101E |. F7D1 NOT ECX ; ecx=~i; 按位与

//00401020 |. 894D F8 MOV DWORD PTR SS:[EBP-8],ECX

//00401023 |. 33C0 XOR EAX,EAX

//00401025 |. 8BE5 MOV ESP,EBP

//00401027 |. 5D POP EBP

//00401028 \. C3 RETN

return 0;

}

小结:

NOT: 取反运算,0变成1,1变成0

, 如二进制 NOT 1011=0100

AND: 按位与运算,有0为0,全1为1,如二进制 1011 AND 1101 = 1001

OR : 按位或运算, 有1为1,全0为0,如二进制 101100 OR 110101 =111101

为什么X86汇编中的mov指令不支持内存到内存的寻址?

在X86汇编中,MOV [0012H], [0016H]这种指令是不允许的,至少得有一个操作数是寄存器.当然,这种问题在用高级语言的时候看不到,感觉好像基本上都是从内存到内存啊,为毛到了汇编就不行了? …

汇编 STD和CLD指令

一.用纯汇编封装函数strcmpW 1.用repnz scasw计算字串长度 2.用repz cmpsw比较字串内容 3.把比较的结果存放在EAX里边返回 __declspec(naked) int …

7.arm汇编 bic和orr指令

1. bic BIC指令的格式为: BIC{条件}{S}  目的寄存器,操作数1,操作数2 BIC指令用于清除操作数1的某些位,并把结果放置到目的寄存器中. 操作数1应是一个寄存器, 操作数2可以是一 …

【汇编】字符串处理指令 stosb、lodsb、movsw、scasb、rep

一.字符串处理指令 (1) lodsb.lodsw:把DS:SI指向的存储单元中的数据装入AL或AX,然后根据DF标志增减SI (2) stosb.stosw:把AL或AX中的数据装入ES:DI指向的 …

Debug和汇编编译器masm对指令的不同处理

我们在Debug和源程序中写入同样形式的指令 : “mov al,[0]”,”mov bl,[1]”,”mov cl,[2]”,” …

汇编 shr 逻辑右移指令,shl 逻辑左移指令,SAL 算术左移指令,SAR 算术右移指令

知识点: shr 逻辑右移指令 shl 逻辑左移指令 一.SHL 逻辑左移指令测试 shr 逻辑右移指令 右移一位相当于整除2 shl 逻辑左移指令 左移一位相当于乘2 //很多时候会溢出 //& …

汇编 inc 和 dec 指令

知识点: inc 加1指令 dec 减1指令 一.加一指令inc inc a 相当于 add a, //i++ 优点 速度比sub指令快,占用空间小 这条指令执行结果影响AF.OF.PF.SF.Z …

汇编 MOVSX与MOVZX 指令

知识点:  MOVSX符号扩展传送  MOVZX零扩展传送 一.MOVSX与MOVZX格式 MOVSX 操作数A ,操作数B MOVZX 操作数A ,操作数B 相同点:操作数B 空间必须小于 操作 …

学 Win32 汇编[28] – 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等

http://www.cnblogs.com/del/archive/2010/04/16/1713886.html 跳转指令分三类:一.无条件跳转: JMP;二.根据 CX.ECX 寄存器的值跳转: …

随机推荐

CSS中伪类及伪元素用法详解

CSS中伪类及伪元素用法详解   伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 …

用Linux自带的Logrotate来管理日志

Logrotate是由cron控制,cron在规定的时间执行 ” logrotate  /etc/logrotate.conf “命令.将对象日志进行转储,删除,压缩等操作… …

JSP(include指令与<jsp:include>动作的区别)

【bzoj1037】 ZJOI2008—生日聚会Party

http://www.lydsy.com/JudgeOnline/problem.php?id=1037 (题目链接) 题意 有n个boy和m个girl排成一排,求使得任意一段的boy个数girl个数 …

xaml中绑定单例属性

在项目中经常会遇到,同一个字典表绑定到多个ItemsControl上的情况,可以在单例中创建一个List,xaml上绑定即可.看代码: 1,XAML

修改ruby gem源为ruby.taobao.org

由于网络原因,导致从rubygems.org下载gem文件较慢或者间歇性的连接失败,所以可以修改gem源为ruby.taobao.org.具体可以用 gem install rails -V 来查看执 …

【转】GIT和SVN之间的五个基本区别

如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 …

Spring Boot实战笔记(四)– Spring常用配置(事件Application Event)

一.事件(Application Event) Spring的事件为Bean和Bean之间的消息通信提供了支持.当一个Bean处理完一个任务之后,希望另一个Bean知道并能做相应的处理,这时我们就需要 …

[SCOI2015]小凸玩矩阵

Description: 给你一个n*m的网格,每个格子有一个数字,每行每列只能选一个数字,问所选数字中第k大的数字的最小值是多少 Hint: \(n \le 250\) Solution: 显然是二 …

DRF 版本和认证

Django Rest Framework 版本控制组件 DRF的版本 版本控制是做什么用的, 我们为什么要用 首先我们要知道我们的版本是干嘛用的呢~~大家都知道我们开发项目是有多个版本的~~ 当我们 …

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10070.html

(0)
上一篇 2024-04-03 21:00
下一篇 2024-04-04 10:33

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信