【计算机系统】

  • 常用的寄存器%rsp、%rip、%rdi、%rsi、%rax有什么特殊作用
  • %rsp:保存栈顶地址
  • %rip:保存下一条将要被执行的指令的内存地址
  • %rdi:函数第一个参数传参
  • %rsi:函数第二个参数传参
  • %rax:保存函数返回值
  • 程序GDB、GCC、OBJDUMP、READELF各有什么作用
  • GDB:调试程序
  • GCC:编译程序
  • OBJDUMP:反编译程序
  • READELF:解析elf文件
  • 变量a的二进制位模式为0000 1111,b的二进制位模式为1111 0000,则
  • a:0000 1111
  • b:1111 0000
    ————————
  • a | b = 1111 1111
  • a & b = 0000 0000
  • a ^ b = 1111 1111
  • ~a = 1111 0000

按位异或运算将两个运算分量的对应位按位遵照以下规则进行计算:

  • 0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 0
    相应位的值相同的,结果为 0,不相同的结果为 1
  • 二进制补码1000 1111,转换为十进制是多少

= - 2^7 + 2^3 + 2^2 + 2 +1
= -128 +15
= -113

  • 在x86-64中,类型char、short、int、long、float、double一般各占多少字节
  • char:1字节
  • short:2字节
  • int:4字节
  • long:8字节
  • float:4字节
  • double:8字节
  • *(地址):8字节
  • 常见的指令movq、addq、subq、leaq、andq各起什么作用
  • movq:数据传输
  • movq:a,b
  • a的值 ——> b的值
  • addq:相加
  • addq:a,b
  • b = a + b
  • subq:相减
  • subq:a,b
  • b = a - b
  • leaq:地址加载
  • leap:2(%rdi,%rcx,2),%rsi
  • 2 + %rdi + 2 * %rcx
  • andq:按位与
  • 程序的编译要经过哪几个步骤
  1. 预处理 ——> 可汇编文件
  2. 编译 ——> 可重定位目标文件
  3. 汇编 ——> 可执行目标文件
  4. 链接
  • 可重定位目标文件、可执行目标文件、共享目标文件各用来干什么的
  • 可重定位目标文件:程序的链接输入文件
  • 可执行目标文件:可加载到内存直接执行
  • 共享目标文件:动态链接用的
  • ELF文件中常见的.text节、.data节、.rodata节、.symtab节、.rel.data节、.rel.text节各存放什么东西
  • .text节:存放程序指令的机器码(代码)
  • .data节:存放程序可读写的数据(程序可读数据)
  • .rodata节:存放程序的只读数据
  • .symtab节:存放符号表
  • .rel.data节:存放.data节的重定位信息
  • .rel.text节:存放.text节的重定位信息
  • 链接中的两个重要的工作是什么?各有什么用?
  • 符号解析:将每个符号找到对应的定义
  • 重定位:将地址信息修改正确
  • IEEE754标准下,十进制的浮点数float a = 1.0(规则化浮点数)转换成位模式是多少?
  • 0011 1111 1000 0000 0000 0000 0000 0000
  • 小端模式和大端模式的系统分别是什么样的
  • 小端模式:内存低地址存数据的低权重位
  • 大端模式:内存低地址存数据的高权重位
  • 二进制1010 0111转成十六进制是多少?十六进制数0xA7CB转成二进制是多少?
  • 1010 = 2^3 + 2 = 10 = A
  • 0111 = 2^2 + 2 + 1 = 7
  • 即 0xA7
  • A = 1010
  • 7 = 0111
  • C = 1100
  • B = 1011
  • 即1010 0111 1100 1011
  • 汇编指令的b、w、l、q这些后缀表示什么
  • 表示操作的字节数量
  • b 为 1 字节
  • w 为 2 字节
  • l 为 4 字节
  • q 为 8 字节
  • 什么是强符号?什么是弱符号?存在同名的强符号会怎么样?如果没有强符号,存在同名的弱符号会怎么样?
  • 强符号:函数、已初始化的全局变量
  • 弱符号:没被初始化的全局变量
  • 存在同名的强符号:会报错
  • 如果没有强符号,存在同名的弱符号,则链接时会随机选择一个弱符号作为最终的符号解析
  • 什么是缓冲区溢出攻击?什么是金丝雀值?什么是ASLR?什么是限制可执行代码区?
  • 缓冲区溢出攻击:指往缓冲区填充恶意代码并覆盖返回点地址,使得程序跳转到攻击代码并执行
  • 金丝雀值:在缓冲区与程序状态数据之间插入的一个特殊值,用来检测有没有发生缓冲区溢出
  • ASLR:指栈空间随机化,程序每次运行都有不同的栈地址,用来对抗缓冲区溢出攻击
  • 限制可执行代码区:指将栈空间等内存区域标识为不能执行,使得所注入的攻击代码得不到运行,用来对抗缓冲区溢出攻击
  • 在64位Linux系统中,%rdx用于函数返回值
  • 在x86-64体系结构的汇编语言中,%rax 和 %rdx 是寄存器的名称
  • %rax 是一个64位的寄存器,它是32位寄存器 EAX 的扩展。在某些情况下,%rax 用于存储函数的返回值
  • %rdx 也是一个64位的寄存器,它是32位寄存器 EDX 的扩展。在某些情况下,%rdx 用于存储函数的返回值或者作为某些指令的操作数
  • 在现代系统中,链接是由叫做链接器(linker)的程序自动执行的
  • 所有函数参数都传递给堆栈
  • x86-64不需要帧指针寄存器,即RBP可用作普通寄存器使用

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

20240425在Ubuntu20.04下检测HDD机械硬盘

20240425在Ubuntu20.04下检测HDD机械硬盘 2024/4/25 14:28 百度:免费 HDD 机械硬盘坏道检测 ubuntu HDD机械硬盘 坏道检测 https://blog.csdn.net/anny0001/article/details/136001767 ubuntu 坏道扫描 Mystery_zero 已于 2024-02-02 22:20:46 修改badblocks -b 819…

Exploiting CXL-based Memory for Distributed Deep Learning——论文泛读

ICPP 2022 Paper CXL论文阅读笔记整理 问题 深度学习(DL)正被广泛用于解决不同领域的科学应用中的复杂问题。DL应用程序使用大规模高性能计算(HPC)系统来训练给定的模型,需要消耗大量数据。这些工作负载具有很大的内…

k8s使用calico网络插件时,集群内节点防火墙策略配置方法

前言 我们在内网使用k8s时,有时候需要针对整个集群的节点设置防火墙,阻止一些外部访问,或者是仅允许白名单内的ip访问,传统做法是使用firewall之类的防火墙软件,但是,使用firewall存在如下问题&#xff1a…

Unity inputSystem 读取输入值的方法

1:通过关在 PlayerInput 获取 设置后之后在同意物体上挂载C# 脚本 通过事件获得 2: 生成 C#脚本 通过C# 脚本获得 3:通过回调函数

redis中的缓存穿透问题

缓存穿透 缓存穿透问题: 一般请求来到后端,都是先从缓存中查找数据,如果缓存中找不到,才会去数据库中查询数据。 而缓存穿透就是基于这一点,不断发送请求查询不存在的数据,从而使数据库压力过大&#xff…

python+vue得物文具玩具礼品商城系统flask-django

网站素材:收集好看的素材,然后使用PS做出适合网页尺寸的图片。在需求分析阶段以前期调研结果为基础,理解系统功能、性能、可靠性等要求,采用数据流图、实体联系图、状态转换图、数据字典等给出系统的逻辑模型。在设计阶段&#xf…

【静态分析】静态分析笔记07 - 指针分析基础

参考: 【课程笔记】南大软件分析课程7——指针分析基础(课时9/10) - 简书 -------------------------------------------------------------- 1. 指针分析规则 规则:采用推导形式,横线上面是条件,横线下…

【VTKExamples::Meshes】第十八期 OBBDicer

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例OBBDicer,并解析接口vtkOBBDicer,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. …

GaussDB轻量化运维管理工具介绍

前言 本期课程将从管理平台的架构出发,结合平台的实例管理、实例升级、容灾管理和监控告警的功能和操作介绍,全面覆盖日常运维操作,带您理解并熟练运用GaussDB运维平台完成运维工作。 一、GaussDB 运维管理平台简介 开放生态层 友好Web界面…

解决office2016专业增强版 “你的许可证并非正版,你可能是盗版软件的受害者“

问题描述:安装完office后,用kms已经激活成功,但是一直在上面显示“你的许可证不是正版,并且你可能是盗版软件的受害者,使用正版Office,避免干扰并保护你的文件安全。” 尝试过网上的各种方法都没用,后面发现是用的HEU …

分享:9.3版本无缝导入AVEVA PDMS高版本工程12.0,12.1,E3D

9.3版本可以无缝导入AVEVA PDMS的工程。 UKP3d导入AVEVA PDMS工程的方法 http://47.94.91.234/forum.php?modviewthread&tid163583&fromuid6 (出处: 优易软件-工厂设计软件专家) (从AVEVA PDMS导出时元件和等级的功能我们正做收尾工作,到时可以…

Kafka---总结篇

kafka架构 主要概念 broker: 存储消息的机器 控制器controller (1)使用zookeeper, 除了提供一般的broker功能之外,还负责选举分区首领。通过在zookeepr中创建一个名为 /controller的临时节点称为 controller。每个选出的contro…

百科词条创建要多久成功?

在互联网信息爆炸的时代,百科词条作为权威的知识分享平台,其重要性不言而喻。那么,创建一个百科词条需要多久才能成功呢?创建百科词条是一个相当需要有耐心的工作,接下来伯乐网络传媒就来给大家讲一讲。 一、影响百科词…

node-sass报错如何解决

npm install 安装的时候 报node-sass错误 这个一看就是node版本兼容性导致的问题 node-sass与node版本不匹配 下面是常见的node版本和对应的node-sass版本 解决办法 1.单独安装node-sass npm install node-sass9.0.0 还是报上面的错误!!!&a…

论文笔记:Leveraging Language Foundation Models for Human Mobility Forecasting

SIGSPATIAL 2022 1intro 语言模型POI客流量预测 2 方法 3 实验

Midjourney如何利用quality控制图片质量,让细节更丰富

hello 小伙伴们,我是你们的老朋友——树下,今天分享Midjourney提示词常用参数——quality,通过更给quality的值可以生成质量更好的图片,让细节更丰富,那么这个参数是怎么用的呢?话不多说,直接开…

2014NOIP普及组真题 3. 螺旋矩阵

线上OJ: 一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid1967 背景知识: 螺旋矩阵可以采用模拟的方式生成。就是顺时针四个方向 第1步、是第 1 行,方向为从左到右,数值1。当向右遇到 边界n 或者 格子已填过数…

基于卷积神经网络的手写数字识别

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号&#xf…

海外短剧:跨文化的新浪潮与看剧系统的搭建,海外短剧系统搭建开发定制

在全球化的大潮下,海外短剧作为一种新兴的文化交流方式,正逐渐受到越来越多人的喜爱。这种融合了各地文化元素、叙事手法新颖独特的短剧形式,不仅丰富了观众的视觉体验,也为影视媒体和想拓展海外市场的企业带来了无限商机。 一、…

MMSeg分析Flops和Params

Flops计算量,params参数量 在文件中 tools/analysis_tools/get_flops.py利用以下命令实现 python tools/analysis_tools/get_flops.py configs/xxx/xxx-Net.py后面可跟参数shape控制输入图片尺寸,例如 python tools/analysis_tools/get_flops.py conf…