当前位置: 首页 > news >正文

计算机基础知识-2

x86架构的寄存器

AT&T汇编和Intel汇编的区别

取出完一条指令,PC会自动+"1",指向下一条要被执行的指令。这里的1是指下一条指令,但是指令本身可能占用多个字节,所以地址可能不是以1叠加

当前执行的是108地址的指令,PC为112,但是108是无条件转移指令JMP,所以PC跳转导128地址的指令

选择语句的汇编代码

PSW程序状态子寄存器

循环可以使用jmp和cmp来实现,汇编给处了loop也可以实现

高级语言的函数调用,首先执行main函数,会创建main函数的栈帧用来保存一些局部变量和一些相关信息,在main函数中又调用了Q函数,同时也会创建Q函数的栈帧来保存Q函数的局部变量和别的信息,同理,随着更深层的函数调用,会一次次的创建函数栈帧放到栈顶,最栈顶的位置就是当前执行的函数,执行完毕后会出栈,继续执行。如图中的caller函数,其中的3个局部变量temp1,temp2,sum都保存在caller的栈帧中,之后调用add函数,会继续创建add函数的栈帧来执行add函数,执行完毕return后,出栈,栈顶指针会指向caller的栈顶,继续执行caller函数

在汇编语言中,使用call和ret实现了函数的调用和返回,这里以caller和add函数为例,call add指令时,跳转到add函数处执行,执行完毕后ret,返回到断点位置继续执行。

要保证过得去和回得来,也就是跳转过去和执行完毕后返回过来,本质就是改变pc程序计数器中的值进行跳转

这里放上push ebp的作用

相关文章:

计算机基础知识-2

x86架构的寄存器 AT&T汇编和Intel汇编的区别 每取出完一条指令,PC会自动+"1",指向下一条要被执行的指令。这里的1是指下一条指令,但是指令本身可能占用多个字节,所以地址可能不是以1叠加 当前执行的是10…...

Ubuntu2204配置连续失败后账户锁定

配置启用pam_faillock sudo nano /etc/pam.d/common-auth在最上面添加以下内容 auth required pam_faillock.so preauth silent audit auth sufficient pam_unix.so nullok try_first_pass auth [defaultdie] pam_faillock.so authfail auditsudo nano /etc/pam.d/…...

windows下安装elasticSearch和kibana

下载es 下载地址官网 下载后是个压缩包(elasticsearch-8.15.0-windows-x86_64),解压即可 启动 配置 改一下 /conf/jvm.options文件,最后加一行编码配置,这个是为了启动后防止控制台乱码 -Dfile.encodingGBK启动es 依赖jdk8环境&#xf…...

Java-IDEA模拟一个Redis服务器,与Redis客户端进行一次简单的交互。默认端口号:6379

首先要了解Redis的交互协议。 摘抄: 简单字符串(Simple Strings): 以 “” 开头,例如 “OK\r\n” 表示一个成功的响应。错误(Errors): 以 “-” 开头,例如 “-ERR unknown command\r\n” 表示一…...

WEB服务与虚拟主机/IIS中间件部署

WWW(庞大的信息系统)是基于客户机/服务器⽅式的信息发现技术和超⽂本技术的综合。网页浏览器//网页服务器 WWW的构建基于三项核⼼技术: HTTP:超文本传输协议,⽤于在Web服务器和客户端之间传输数据。HTML:⽤…...

JAVA开源项目 图书个性化推荐系统 计算机毕业设计

本文项目编号 T 015 ,文末自助获取源码 \color{red}{T015,文末自助获取源码} T015,文末自助获取源码 目录 一、系统介绍1.1 业务分析1.2 用例设计1.3 时序设计 二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究…...

Spring Boot 注解探秘:HTTP 请求的魅力之旅

在SpringBoot应用开发中,处理Http请求是一项基础且重要的任务。Spring Boot通过提供一系列丰富的注解极大地简化了这一过程,使得定义请求处理器和路由变得更加直观与便捷。这些注解不仅帮助开发者清晰地定义不同类型的HTTP请求如何被处理,同时…...

TYPE-C USB设计

目录 摘要 TYPE-C电路 握手过程 USB电路 摘要 TYPE-C,是USB的一种接口,USB的第一种接口为常见的USB接口,U盘即为这种接口;第二种接口的形状类似一个凸字,常应用在打印机中,第三种接口即为TYPE-C,支持正…...

Python炒股自动化,怎样理解股票交易性质

炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取…...

Vue2 day-02

目录 一. Vue脚手架(Vue CLI) 1.1 安装新版本的Vue脚手架vue/cli 1.2 用命令创建Vue项目 1.2.1 命令创建vue项目 1.2.2 默认创建 1.2.3 自定义创建 1.2.4 基于ui界面创建Vue项目 1.3 分析Vue脚手架生成的项目结构及代码执行 1.3.1 默认创建文件结构 1.3.2 分开放置文…...

什么?!新版 Node.js V22.5 自带 SQLite 模块啦

前言 2024年7月,Node.js V22.5.0 版本发布,自带了 SQLite 模块,意味着开发者可以直接在程序中使用 SQLite 数据库,而无需引入第三方库👍。 话不多说,感觉来体验一波✈。 安装/升级 我现在用的是21.4.0版…...

Maven持续集成(Continuous integration,简称CI)版本友好管理

从Maven 3.5.0-beta-1 版本开始可以在pom文件中使用 r e v i s i o n 、 {revision}、 revision、{sha1}、${changelist}做为版本的占位符。 一、单module简单使用${revision}的场景 <project><modelVersion>4.0.0</modelVersion><parent><groupId…...

EvoSuite使用总结

1.安装EvoSuite插件 以IDEA为例&#xff0c;在Plugins栏搜索EvoSuite后点击install&#xff0c;安装完成后重启IDEA 2.使用EvoSuite 选中文件右键选择Run EvoSuite 生成成功可以看到如下提示&#xff1a; 注意事项&#xff1a; 生成路径&#xff1a;src/test/java 使用juni…...

Cortex-A7:简单中断处理(不可嵌套中断)机制

0 参考资料 ARM Cortex-A(armV7)编程手册V4.0.pdf ARM体系结构与编程第2版1 前言 Cortex-M系列内核MCU中断硬件原生支持嵌套中断&#xff0c;开发者不需要为了实现嵌套中断而进行额外的工作。但在Cortex-A7中&#xff0c;硬件原生是不支持嵌套中断的&#xff0c;这从Cortex-A…...

k8s HPA

水平自动扩容和缩容HPA HPA全称Horizontal Pod Autoscaler&#xff0c;即pod水平自动伸缩。HPA可以基于CPU利用率对replication controller、deployment和replicaset中的pod数量进行自动扩缩容&#xff08;除了CPU利用率&#xff0c;也可以基于其他应用程序提供的度量指标cust…...

5G移动网络运维实验(训)室解决方案

随着第五代移动通信技术&#xff08;5G&#xff09;的快速普及和工业互联网的迅猛发展&#xff0c;全球制造业正面临着前所未有的深刻变革。5G技术凭借其超高的传输速率、极低的延迟以及大规模的连接能力&#xff0c;为工业自动化、智能制造等领域带来了革命性的技术支持。为了…...

单片机学习笔记

一、单片机帝国的诞生与发展 1.1 单片机的基本概念 单片机是一种集成电路芯片&#xff0c;采用超大规模的集成电路把具有数据处理功能的中央处理器存储器、输入输出端口、外围电路和相关外设集成在一块硅片上构成一个小而完整的微型计算机系统。 一般而言&#xff0c;单片机也…...

SpringBoot中@Value获取值和@ConfigurationProperties获取值用法及比较

SpringBoot中Value获取值和ConfigurationProperties获取值用法及比较 更新时间&#xff1a;2024年08月08日 09:41:48 作者&#xff1a;岳轩子 在Spring Boot中,Value注解是一个非常有用的特性,它允许我们将外部的配置注入到我们的Bean中,ConfigurationProperties用于将配置文件…...

执行任务赚积分

题目描述 现有N个任务需要处理&#xff0c;同一时间只能处理一个任务&#xff0c;处理每个任务所需要的时间固定为1。 每个任务都有最晚处理时间限制和积分值&#xff0c;在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。 可用于处理任务的时间有限&#xff0c;请问…...

使用TLS解决Docker API暴露2375端口的问题

问题起因 由于本人开发环境是在 Windows&#xff0c;开发完成后需要使用 Dockerfile 打包镜像&#xff0c;这个过程需要有一个 Docker 服务完成&#xff0c;Windows 安装 Docker 会影响到很多环境&#xff0c;我又不想本地开虚拟机使用 Docker&#xff0c;于是我就索性使用服务…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

mac 安装homebrew (nvm 及git)

mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用&#xff1a; 方法一&#xff1a;使用 Homebrew 安装 Git&#xff08;推荐&#xff09; 步骤如下&#xff1a;打开终端&#xff08;Terminal.app&#xff09; 1.安装 Homebrew…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...