美文网首页
(32位汇编 二)二进制的逻辑运算

(32位汇编 二)二进制的逻辑运算

作者: 1301c72 | 来源:发表于2017-09-19 22:55 被阅读0次

1. 或(or |)

只要有一个为1,就为1。

2. 与(and &)

两个都为1,就为1。

3. 异或(xor ^)

两个不一样时,就为1。

4. 非(not !)

1是0,0是1。

提示: CPU计算的本质就是逻辑运算


逻辑运算的具体应用

1. CPU如何计算2 + 3

图1 cpu如何实现2 + 3

2. 如何获取某个值的第n位的(二进制)值是多少?

例如:如何获取0x8F的第3位的二进制值是多少?(在16位机器上)
方法解析:
1. 先取0000 0000,然后将第3位设置为1,即0000 0100
2. 将0x8F用二进制表示 1000 1111
3. 将两个二进制进行‘与’运算
        1000 1111
    &   0000 0100
-----------------------
        0000 0100
4. 看‘与’的结果的第n位是多少,则原数中第n位的二进制值就是多少

3. 最简单的加密算法

条件:在16位机器上
要加密的数据:2017
密钥:9
每两位进行一次加密
    0010 0000                0001 0111
^   0000 1001           ^    0000 1001
------------------      ------------------------
    0010 1001                0001 1110
加密结果:29                     1E

    0010 1001                0001 1110
^   0000 1001           ^    0000 1001
------------------      ------------------------
    0010 0000                0001 0111
解密结果:20                      17

相关文章

  • iOS逆向基础篇--汇编

    逆向开发是建立在分析二进制指令上面,二进制指令与汇编语言一一对应。通过分析app二进制反汇编的汇编语言来推测逻辑,...

  • (32位汇编 二)二进制的逻辑运算

    1. 或(or |) 只要有一个为1,就为1。 2. 与(and &) 两个都为1,就为1。 3. 异或(xo...

  • 汇编语言简介

    机器语言(二进制语言编写) -->汇编语言(形象化二进制)-->高级语言 汇编语言的特点:1>与硬件有关(不同的C...

  • lab1 二进制炸弹

    汇编与反汇编 汇编与反汇编的区别 phase_1 比较字符串是否相同 二进制炸弹 常见汇编指令详解 AT&T 格式...

  • 汇编基础笔记一

    汇编指令 汇编代码,高级语言-》汇编代码-》二进制-》计算机执行 高级语言只能转换成一种汇编代码,汇编代码可能转换...

  • 编译原理-入门篇

    什么是编译器 CPU只能执行较为低级的语言,比如二进制代码或汇编指令,但是手写汇编及二进制代码效率很低,我们需要用...

  • 混子汇编语言学习之01笔记

    第一章 基础知识 1、指令 机器指令:CPU能直接识别并执行的二进制编码,就是一些二进制数。汇编指令:汇编指令...

  • 第三讲 算术逻辑单元(Arithmetic Logic Unit

    内容要点:逻辑运算,二进制加减法运算,ALU的实现 算术运算和逻辑运算 加法指令的编码示例1:add $8,$9,...

  • 查看C对应的汇编,汇编对应的二进制

    vim -b **打开二进制文件,输入:%!xxd查看二进制文件。 gcc a.c -S 生成a.c对应的汇编码a...

  • 数据的宽度和逻辑运算

    title: 数据的宽度和逻辑运算date: 2018-12-10tags:- 滴水逆向- 汇编- 逻辑运算cat...

网友评论

      本文标题:(32位汇编 二)二进制的逻辑运算

      本文链接:https://www.haomeiwen.com/subject/wkpgsxtx.html