汇编原理 | 二进制、跳转指令、算数运算、

一.二进制

two complement reprentation(补码)

二进制的运算:

        6的二进制 = 0110

        -6的二进制 如何表示?

                四个bit的第一个bit表示符号:1负0正

        -6表示为1010

解释:

        0 = 0000

        1 = 0001

        -1 = 1111(由 1 + (-1) = 0 推的)

再往下推:

        -2 = 1110

        -3 = 1101

        -4 = 1100

        -5 = 1011

        -6 = 1010

更简单的方式找-6的二进制

        把6的每一位取反之后,再加1,得到结果

问:在32位电脑里01000001表示什么?不能单纯觉得是65这个数

        在32位bit时该怎么表示6?在前面加28个0

        在32位bit时该怎么表示-6?能直接在4位的情况下加28个0吗?不能,应该在前面加上28个1(很好想)

十六进制表达:

        0xffff ffff: 化为2进制:1111...1111共32个1 

        666(十进制) 化为二进制-> 000...(20个0) 0010(十进制里的2) 1001(十进制里的9) 1010(十进制里的a) 

                 化为十六进制->  0x 0000 029a

        -666(十进制) 化为二进制-> 111...(20个1) 1101 (十进制里的13/d) 0110(十进制里的6) 0110(十进制里的6)

                 化为十六进制-> 0x FFFF Fd66

 

二.跳转指令

转移指令有以下几类:

        无条件跳转指令(jmp)

        条件转移指令

        循环指令(loop)

        过程

        中断:cpu是跳来跳去的,不停的终端

j-Jump 跳转 

e-Equal 相等的时候发生跳转

z-Zero 相减得0时发生跳转

s-Sign 符号,当他是负的时候发生跳转   

c-Carry 如果发生借位会发生跳转     

l-Less、b-Below 当操作数1 < 操作数2 时发生跳转

a-Above、g-Greater 当操作数1 > 操作数2 时发生跳转 

p-Parity

o-Overflow

JE/JZ - jump if equal/zero

JNE/JNZ - jump if not equal/zero

JB/JNAE/JC - jump if below/not above equal/carry 低于/不高于等于/有借位

JNB/JAE/JNC - jump if not carry 不低于/高于等于/无借位

JP-jump if parity 奇偶位为1

JNP-jump if not parity 奇偶位不为1

JO- 结果溢出

JNO

JS-结果为负

JNS 

跳转原理:

        CMP 操作数1,操作数2

        操作数1 - 操作数2,不改变数值

        效果:改变状态标志位CF、SF、ZF、PF、OF、AF

        判断标志位情况

三、算数运算

立即数(Immediate Value) 是指一个固定的常量或者直接给定的数值,它通常用作计算指令中的一个参数。立即数是直接嵌入到指令中的,而不是存储在寄存器或内存中。例如,在一条加法指令中,立即数可能是要添加到操作数上的常量值。

操作数(Operand) c是指参与计算的数据或变量。在计算指令中,操作数可以是立即数、寄存器中存储的值、内存中的数据等。操作数可以是单个的,也可以是多个的,取决于具体的指令。例如,在一条加法指令中,操作数可以是两个要相加的值。


                         

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/20451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Ubuntu】100 系统字体安装和更改

系统&#xff1a;Ubuntu18.04LTS 1 Why we need&#xff1f; 写这篇经验贴的原因&#xff1a; ①我需要装一下中文字体&#xff08;Qt要用&#xff09;&#xff1b; ②想调一下字体大小和默认中文字体的样式 2 装第三方字体 Step1&#xff1a;安装软件Font Manager sudo ap…

【记录】打印|用浏览器生成证件照打印PDF,打印在任意尺寸的纸上(简单无损!)

以前我打印证件照的时候&#xff0c;我总是在网上找在线证件照转换或者别的什么。但是我今天突然就琢磨了一下&#xff0c;用 PDF 打印应该也可以直接打印出来&#xff0c;然后就琢磨出来了&#xff0c;这么一条路大家可以参考一下。我觉得比在线转换成一张 a4 纸要方便的多&am…

Echarts 让柱状图在图表中展示,离开X轴

文章目录 需求分析需求 分析 话不多说,直接源码展示 option = {title: {text: Waterfall Chart,subtext: Li

落地台灯有什么作用?五款口碑好的落地台灯推荐

落地台灯有什么作用&#xff1f;面对长时间工作、学习已成为当代年轻人的真实写照&#xff0c;据目前不完全统计&#xff0c;60%以上的人群每天用眼时间都已经超过10小时&#xff0c;高强度的的用眼以及不可确定的环境因素都易导致双眼出现干涉、酸痛、红血丝等情况&#xff0c…

[有监督学习]6.详细图解朴素贝叶斯

朴素贝叶斯 朴素贝叶斯&#xff08;Naive Bayes&#xff09;是常用于自然语言分类问题的算法。它在垃圾邮件过滤上的应用非常有名。 概述 朴素贝叶斯是一个基于概率进行预测的算法&#xff0c;在实践中被用于分类问题。具体来说&#xff0c;就是计算数据为某个标签的概率&…

从零开始利用MATLAB进行FPGA设计(七)用ADC采集信号教程2

黑金的教程做的实在太拉闸了&#xff0c;于是自己摸索信号采集模块的使用方法。 ADC模块&#xff1a;AN9238 FPGA开发板&#xff1a;AX7020&#xff1b;Xilinx 公司的 Zynq7000 系列的芯片XC7Z020-2CLG400I&#xff0c;400引脚 FBGA 封装。 往期回顾&#xff1a; 从零开始利…

STM32学习问题总结(2)—CubeMX生成项目后串口没效果和Microlib

检查完所有的硬件和软件部分&#xff0c;最后发现&#xff0c;又是Keil的设置问题&#xff0c;啊啊啊啊 打开Keil的魔术棒&#xff0c;勾选Target的Use Microlib选项即可&#xff0c;但这并不是最佳方案 最终解决方案&#xff1a; 参考&#xff1a;http://t.csdnimg.cn/2Tjfc…

服务器主板电池

一、什么是服务器纽扣电池&#xff1f; 服务器纽扣电池&#xff0c;也叫CMOS电池&#xff0c;是一种非常小型的电池&#xff0c;通常与服务器主板上的CMOS芯片相结合&#xff0c;用于储存BIOS设置、时钟和其他关键系统信息。这种电池的体积通常比一枚硬币还小&#xff0c;而且…

四、.Net8对接Ollama实现文字翻译(.Net8+SemanticKernel+Ollama)本地运行自己的大模型

.Net8SemanticKernelOllama 一、Semantic Kernel官方定义SK能做什么&#xff1f; 二、基本使用1、普通对话2、使用插件实现文本翻译功能 三、IChatCompletionService、ITextGenerationService、ITextEmbeddingGenerationService 很多情况都有这样的需求&#xff0c;使用自有系统…

巨细巨细的白痴级vulntarget-a靶场wp再不会你打死我

ad一&#xff0c;靶场搭建 下载靶场&#xff1a;GitHub - crow821/vulntarget: vulntarget靶场系列 官方拓补图 ps&#xff1a;此处 攻击机ip192.168.87.134&#xff0c;win7ip1为192.168.87.144 下载完毕后直接装入虚拟机不要进去&#xff0c;不要进去&#xff0c;不要进去…

d3dcompiler43.dll丢失怎么修复,分享几种有效的修复教程

电脑已经成为我们生活中不可或缺的一部分。然而&#xff0c;由于各种原因&#xff0c;电脑可能会出现一些问题&#xff0c;其中之一就是d3dcompiler43.dll文件丢失。这个文件是DirectX组件之一&#xff0c;用于编译和链接DirectX应用程序。当这个文件丢失时&#xff0c;可能会导…

网安面试。

SQL注入 sql注入原理 对用户输入的数据没有进行严格的过滤与判断&#xff0c;导致用户构造各种恶意 payload 拼接进后台数据库查询语句中执行。 sql的类型 联合注入 堆叠注入 宽字节注入 cookie注入 XFF头注入 UA注入&#xff08;user-agent注入&#xff09; Referer注…

AI大模型探索之路-实战篇12: 构建互动式Agent智能数据分析平台:实现多轮对话控制

系列篇章&#x1f4a5; AI大模型探索之路-实战篇4&#xff1a;深入DB-GPT数据应用开发框架调研 AI大模型探索之路-实战篇5&#xff1a;探索Open Interpreter开放代码解释器调研 AI大模型探索之路-实战篇6&#xff1a;掌握Function Calling的详细流程 AI大模型探索之路-实战篇7…

nnUNet保姆级使用教程!从环境配置到训练与推理(新手必看)

文章目录 写在前面nnUNet是什么&#xff1f;一、配置虚拟环境二、安装nnUNet框架1.安装nnUNet这一步我遇到的两个问题&#xff1a; 2.安装隐藏层hiddenlayer&#xff08;可选&#xff09; 三、数据集准备nnUNet对于你要训练的数据是有严格要求的&#xff0c;这第一点就体现在我…

WEB攻防-JAVAWEB项目常见漏洞

知识点 1.JavaWeb常见安全及代码逻辑 2.目录遍历&身份验证&逻辑&JWT 3.访问控制&安全组件&越权&三方组件 本篇主要了解以上问题在javaweb中的呈现&#xff0c; 第一个重点理解URL与javaweb代码框架的对应方式&#xff0c;java在没有代码的情况下是很难…

PMP学习和考试难度分析

PMP&#xff08;项目管理专业人士&#xff09;考试目前是全球范围内比较具权威性和认可度的项目管理证书之一。因此PMP考试的难度是一个备受关注的话题。根据我们以往的学员经验我从不同角度解析PMP考试的难度&#xff0c;并提供一些应对挑战的建议。希望对大家有所帮助。 PMP考…

Ubuntu 安装好虚拟环境后,找不到workon 命令

1、安装虚拟环境 pip3 install virtualenv pip3 install virtualenvwrapper 2、安装完成后 workon 命令。 找不到workon 命令 执行&#xff0c;source virtualenvwrapper.sh 执行后&#xff0c;在使用workon命令&#xff0c;即可完成。

君耐策划有限公司员工信息管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;基础数据管理&#xff0c;公告管理&#xff0c;薪资管理&#xff0c;员工考勤管理 员工账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;公告管理&#xff0…

vivo鄢楠:基于OceanBase 的降本增效实践

在3 月 20 日的2024 OceanBase 数据库城市行中&#xff0c;vivo的 体系与流程 IT 部 DBA 组总监鄢楠就“vivo 基于 OceanBase 的降本增效实践”进行了主题演讲。本文为该演讲的精彩回顾。 vivo 在1995年于中国东莞成立&#xff0c;作为一家全球领先的移动互联网智能终端公司&am…

【智能算法】吸引-排斥优化算法(AROA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年&#xff0c;K Cymerys受到自然界中吸引-排斥现象启发&#xff0c;提出了吸引-排斥优化算法&#xff08;Attraction–Repulsion Optimization Algorithm, AROA&#xff09;。 2.算法…