第五周日志-重新学汇编(2)

机器语言

汇编语言(直接在硬件上工作——硬件系统结构):

1.机器语言

每一种微处理器硬件设计和内部结构不同(决定了电信号不同,进而需要不同的机器指令)

#早期通过纸带机/卡片机输入计算机,进行运算

2.汇编语言

(编译器)差别在指令的表示方式不同,便于阅读记忆和书写

#核心:汇编指令(有对应机器码,CPU执行)

#伪指令(无,编译器执行[计算机并不执行])

#其他符号(无,编译器识别)

存储器(指令和数据的存放)和存储单元

数据和指令本质都一串串二进制,应用赋予他们不同的意义

微型存储器有128个存储单元(1Byte字节)

cpu对存储器的读写

where 器件/存储单元地址,act,details

【和芯片的3类信息交互:地址信息、控制信系、数据信息(逻辑上就有3类总线)】

总线(数据传送)

CPU外部总线和内部总线

地址总线,根/宽(最多寻2^N个内存单元);

数据总线,宽度和根数(决定:速度、字节数);

控制总线,宽度和根数(决定:控制能力、多少种控制)。“X信号输出/... ...输入

内存地址空间(地址总线可寻到的内存单元)

主板,核心器件、主要器件、拓展插槽

接口卡(直接控制外部设备,CPU不能)

各类存储器芯片(读写属性分RAM,ROM)

RAM>ROM

RAM(主板、拓展插槽),接口卡需要大量处理时可装

ROM上可存储硬件的BIOS(对硬件设备可进行基本输入输出)

内存地址空间(也连、控)

一种具有特殊访问方式的空间

CPU提供的栈机制

以字w为单位

#栈顶超界问题SS:SP,只知道当前要执行的指令在何处,而不知道要执行的有多少

注意安排栈的大小,防止入栈数据过多/栈空时继续出栈

offset伪指令,取得标号的偏移地址

jmp五条吉安转跳

段内短转移:short 标号[位移]

段间/远转移:far ptr 标号[指令(目的地址)]

reg[寄存器中的地址]

段内转移:word ptr 内存单元地址[内存中存放的w就是偏移地址]

特殊的标志寄存器(按位起作用vs整个寄存器一个含义)

7:符号标志符        6:ZF零标志符4:AF 2:奇偶标志符0:CF进位标志符(产生溢出)

CF用法,(adc、sbb带借位加、减法的设计思路)

(cmp设计思路:减法)

内中断:内部程序错误或软件指令

eg:1/0除零错误,访问未分配的内存地址触发段错误,

或使用 int 0x80 指令发起系统调用(Linux 传统方式),

外中断信息:外部硬件设备

用汇编讲中断,反而更简单!和你之前的理解可能不一样!来深入理解中断吧!_哔哩哔哩_bilibili

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

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

相关文章

【9】Strongswan collections —— enumerator

//以目录枚举为例子&#xff0c;说明enumerator&#xff0c;从源码剥离可运行 #include <stdio.h> #include <stdbool.h> #include <dirent.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h&…

谈谈对spring IOC的理解,原理和实现

一、IoC 核心概念 1. 控制反转&#xff08;Inversion of Control&#xff09; 传统编程中对象自行管理依赖&#xff08;主动创建&#xff09;&#xff0c;而IoC将控制权转移给容器&#xff0c;由容器负责对象的创建、装配和管理&#xff0c;实现依赖关系的反向控制。 2. 依赖…

【Hugging Face 开源库】Diffusers 库 —— 扩散模型

Diffusers 的三个主要组件1. DiffusionPipeline&#xff1a;端到端推理工具__call__ 函数callback_on_step_end 管道回调函数 2. 预训练模型架构和模块UNetVAE&#xff08;Variational AutoEncoder&#xff09;图像尺寸与 UNet 和 VAE 的关系EMA&#xff08;Exponential Moving…

甘肃旅游服务平台+论文源码视频演示

4 系统设计 4.1系统概要设计 甘肃旅游服务平台并没有使用C/S结构&#xff0c;而是基于网络浏览器的方式去访问服务器&#xff0c;进而获取需要的数据信息&#xff0c;这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的小程序结构&am…

路由选型终极对决:直连/静态/动态三大类型+华为华三思科配置差异,一张表彻底讲透!

路由选型终极对决&#xff1a;直连/静态/动态三大类型华为华三思科配置差异&#xff0c;一张表彻底讲透&#xff01; 一、路由&#xff1a;互联网世界的导航系统二、路由类型深度解析三者的本质区别 三、 解密路由表——网络设备的GPS华为&#xff08;Huawei&#xff09;华三&a…

【RAG综述系列】之 RAG 相关背景和基本原理

系列文章&#xff1a; 【RAG综述系列】之 RAG 相关背景和基本原理 【RAG综述系列】之 RAG 特点与挑战以及方法与评估 【RAG综述系列】之 RAG 先进方法与综合评估 【RAG综述系列】之 RAG 应用和未来方向 正文&#xff1a; 检索增强生成&#xff08;Retrieval-Augmented Gen…

CMake 构建的Qt 项目中的构建套件的配置

在Qt 框架中&#xff0c;使用CMake 构建工具时&#xff0c;需要自己给构建套件添加相关配置&#xff0c;否则已经添加的构建套件将不可选择使用。 创建CMake 项目后&#xff0c;如果打开项目配置时&#xff0c;出现如下构建套件不可选的情况&#xff0c; 需要先确认是否安装…

本地化智能运维助手:基于 LangChain 数据增强 和 DeepSeek-R1 的K8s运维文档检索与问答系统 Demo

写在前面 博文内容为基于 LangChain 数据增强 和 Ollams 本地部署 DeepSeek-R1实现 K8s运维文档检索与问答系统 Demo通过 Demo 对 LEDVR 工作流&#xff0c; 语义检索有基本认知理解不足小伙伴帮忙指正 &#x1f603;,生活加油 我看远山&#xff0c;远山悲悯 持续分享技术干货…

Kotlin when 表达式完全指南:从基础到高级的12种实战用法

掌握 when 的灵活运用&#xff0c;告别繁琐的 if-else 链 以下是 Kotlin 中 when 表达式的 12种核心用法 的全面总结&#xff0c;涵盖基础到高级场景&#xff0c;并附带实用示例&#xff1a; 一、基础用法 1. 替代 Java 的 switch-case when (x) {1 -> println("一&qu…

新加坡 PSB 认证:安全标准、证书特点及申请注意事项

目录 什么是PSB认证&#xff1f; 涉及产品范围 强制性认证产品类别 自愿性认证产品 认证项目与测试标准 1. 安全测试 2. 电磁兼容性&#xff08;EMC&#xff09;测试 3. 能效测试&#xff08;特定产品&#xff09; 认证流程详解 第一步&#xff1a;准备阶段 第二步&a…

UE4学习笔记 FPS游戏制作26 UE中的UI

文章目录 几个概念创建一个UI蓝图添加UI获取UI的引用 切换设计器和UI蓝图将UI添加到游戏场景锚点轴点slotSizeToContent三种UI数据更新方式函数绑定属性绑定事件绑定 九宫格分割图片 几个概念 UMG&#xff1a;UE的UI编辑器 slate UI: UE的UI的编辑语言 创建一个UI蓝图 右键用…

HttpRunner v4.x 远程调用实践指南

一、基于 SSH 的远程执行方案 1. 环境准备流程 在目标服务器部署 HttpRunner 运行时环境&#xff1a; # 远程服务器执行&#xff08;需 Golang 1.18 和 Python 3.8&#xff09; curl -ksSL https://httprunner.com/script/install.sh | bash配置免密登录&#xff08;本地机器…

头条项目的文章延迟发布功能

最近做的头条项目其中有个功能是创作者发表的文章可以设置在未来某个时间发表&#xff0c;在实现这个功能的时候就在想该怎么实现呢&#xff1f;刚开始想的是利用Spring的定时任务定时的去数据库中查询&#xff0c;可以这个查询频率该怎么设置&#xff0c;每次从数据库中需要查…

Celery 全面指南:Python 分布式任务队列详解

Celery 全面指南&#xff1a;Python 分布式任务队列详解 Celery 是一个强大的分布式任务队列/异步任务队列系统&#xff0c;基于分布式消息传递&#xff0c;专注于实时处理&#xff0c;同时也支持任务调度。本文将全面介绍 Celery 的核心功能、应用场景&#xff0c;并通过丰富…

OpenHarmony NativeC++应用开发speexdsp噪声消除案例

随着5.0的版本的迭代升级&#xff0c;笔者感受到了开源鸿蒙前所未有大的版本更替速度。5.0出现了越来越多的C API可以调用&#xff0c;极大的方便了native c应用的开发。笔者先将speexdsp噪声消除的案例分享&#xff0c;老规矩&#xff0c;还是开源&#xff01;&#xff01;&am…

nuxt3 seo优化

在 Nuxt3 中&#xff0c;通过 nuxtjs/seo、nuxtjs/sitemap 和 nuxtjs/robots 模块可以生成包含动态链接的站点地图&#xff08;sitemap.xml&#xff09;&#xff0c;但具体是“实时生成”还是“部署时生成”&#xff0c;取决于你的配置方式和数据更新频率。以下是具体分析&…

es6的100个问题

基础概念 解释 let、const 和 var 的区别。什么是块级作用域&#xff1f;ES6 如何实现它&#xff1f;箭头函数和普通函数的主要区别是什么&#xff1f;解释模板字符串&#xff08;Template Literals&#xff09;的用途&#xff0c;并举例嵌套变量的写法。解构赋值的语法是什么…

【机器学习】什么是决策树?

什么是决策树&#xff1f; 决策树是一种用于分类和回归问题的模型。它通过一系列的“决策”将数据逐步分裂&#xff0c;最终得出预测结果。可以把它看作是一个“树”&#xff0c;每个节点表示一个特征的判断&#xff0c;而每个分支代表了可能的判断结果&#xff0c;最终的叶子…

Java面试黄金宝典15

1. 请找出增序排列中一个数字第一次和最后一次出现的数组下标 定义 由于数组是增序排列的&#xff0c;我们可以利用二分查找的特性来高效地定位目标数字。对于查找第一次出现的位置&#xff0c;当中间元素等于目标数字时&#xff0c;我们需要继续向左搜索&#xff0c;以确保找…

CentOS 7安装 mysql

CentOS 7安装 mysql 1. yum 安装 mysql 配置mysql源 yum -y install mysql57-community-release-el7-10.noarch.rpm安装MySQL服务器 yum -y install mysql-community-server启动MySQL systemctl start mysqld.service查看MySQL运行状态&#xff0c;运行状态如图&#xff…