首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >At&t语法在程序集中?

At&t语法在程序集中?
EN

Stack Overflow用户
提问于 2021-10-04 23:59:02
回答 1查看 1.1K关注 0票数 0

我有多个非常小的问题在大会上,这也是相关的,所以我收集他们在这个问题上,而不是打开多个论坛和垃圾邮件。

所有问题都与程序集At&t语法有关:

  1. 为什么我不能写这样的东西:

cmp %eax,$0x2jg goHere

为什么不允许进行比较操作(结果没有保存在一个操作数中,所以不允许它.)注意:我知道我可以通过倒序来解决这个问题,然后做jl而不是jg

在att语法中,应该检查0x2是否大于%eax。

  1. 为什么我可以写:

mov $41 %rax

虽然我不能写:

mov (41美元),%rax

这很奇怪,有人告诉我,在装配中使用支架并不重要。

  1. 在内存中保存字符串时,让我们把地址0x100中的"ABC“作为内存的样子:

0x100 -A 0x101 -B 0x102 -C

0x100-C0x101-B0x102-A

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-05 06:08:23

对于1,我对x86的最初设计没有特别的了解,但我怀疑我们没有cmp %reg, $imm的原因是因为cmpsub之间的关系。指令cmp $imm, %reg的行为与sub $imm, %reg完全一样,只有一个例外,即对于cmp,减法的结果不是写入目标%reg,而是被丢弃。但是减法的结果仍然是由CPU在内部计算,并用于设置标志。(至少这在概念上是正确的,而且早期CPU几乎肯定完成了全部减法;现代CPU可能有一些我不知道的优化。)

因此,这意味着一旦您拥有了cmp,几乎可以免费实现sub。你可以使用几乎完全相同的电路和/或微码。但是您仍然需要对指令进行解码,因此,通过给cmp提供几乎与sub相同的编码,这也很容易,只需一位就不同了。例如,sub %reg, %reg/mem是操作码28h/29h,cmp %reg, %reg/mem是操作码38h/39h,仅在第4位有不同之处。这一位只是指示CPU是将结果写到目标操作数还是丢弃它。

这使得给cmp提供与sub完全相同的表单变得很自然。

cmp %reg, %reg.

  • 我们有sub %reg, %reg所以有sub %reg, %reg

cmp %reg, mem.

  • 我们有sub %reg, mem所以有sub %reg, mem

cmp mem, %reg.

  • 我们有sub mem, %reg所以有sub mem, %reg

cmp $imm, %reg.

  • 我们有sub $imm, %reg所以有sub $imm, %reg

  • ,甚至还有一个特殊的sub $imm, %al/%ax/%eax/%rax短编码,它有一个并行的

但是没有sub %reg, $imm编码,因为这将是胡说八道,所以cmp %reg, $imm需要一种新的编码,而这种编码不会与sub现有的编码并行。设计者大概决定不把解码晶体管和操作码空间浪费在创建晶体管和操作码空间上,因为毕竟它并没有真正提供任何新功能:cmp实际上总是与条件跳转(或后来的条件集)一起使用,在这种情况下,您可以通过使用cmp $imm, %reg并在随后的条件跳转/集中逆转测试来实现相同的目标。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69446758

复制
相关文章
[ASP.NET Web API]如何Host定义在独立程序集中的Controller
通过《ASP.NET Web API的Controller是如何被创建的?》的介绍我们知道默认ASP.NET Web API在Self Host寄宿模式下用于解析程序集的AssembliesResolver是一个DefaultAssembliesResolver对象,它只会提供当前应用程序域已经加载的程序集。如果我们将HttpController定义在非寄宿程序所在的程序集中(实际上在采用Self Host寄宿模式下,我们基本上都会选择在独立的项目定义HttpController类型),即使我们将它们
蒋金楠
2018/01/15
1.2K1
[ASP.NET Web API]如何Host定义在独立程序集中的Controller
汇编at&t
文中提到, 大部分寄存器都没有特殊用途, 除了rbp和rsp是用作栈的(64位系统). rip指向当前执行的指令.
平凡的学生族
2021/03/03
6460
sl从程序集中读取xaml文件
 StreamResourceInfo sri = Application.GetResourceStream(new Uri("HowTo;component/Page.xaml", UriKind.Relative)); StreamReader sr = new StreamReader(sri.Stream); txtReadxml.Text = sr.ReadToEnd(); {1};component/{2} 1为程序集的名字 2为想读取的页面 page.xaml: <UserCont
用户1172164
2018/01/16
1K0
sl从程序集中读取xaml文件
在Kubernetes上使用Openldap做集中认证
LDAP是Lightweight Directory Access Protocol的缩写,提供LDAP服务的软件有很多商业上获得成功的,其中以MS的AD和Redhat的NDS(Netscape directory server)使用最为广泛,而开源领域则是OpenLdap了,为了集成认证后面需要的gitlab,jenkins,nexus,harbor等,因此我们在准备在kubernetes上部署一下openldap和openldap的界面管理工具phpldapadmin.
公众号: 云原生生态圈
2020/06/15
1.7K0
在Kubernetes上使用Openldap做集中认证
Google在情报搜集中的基础技巧
​ Google Hacking 是指使用特定的高级的google搜索语法,收集渗透测试目标的信息,查找目标的配置缺陷和漏洞脆弱点等;重要记住的是:Google浏览器是最标准的(完全符合W3C标准)的浏览器,FireFox则是最安全插件扩展功能最为全面的浏览器(ps:没有绝对的阿暖哦),正是由于以上两点原因,所以Google和FireFox浏览器是“安全人员”最受欢迎的凉快浏览器。
Mirror王宇阳
2020/11/13
7500
集中管理远程计算机终端程序
虚拟网络计算 (VNC) 和 Microsoft 远程桌面协议 (RDP) 之类的工具轻松地从您的家庭或办公室中登录到并管理远程计算机。 如果您任务管理多个不同的计算机或经常发现与多个远程连接在同一时间打开,合并管理和运行远程连接的开源项目Terminals。 从终端启动远程连接时, 它显示在终端用户界面中新选项卡中。这个终端程序简化在单个窗口中的同时进行的多个远程连接。 和各种终端工作包括 VNC、 RDP、 虚拟机的远程控制 (VMRC)、 远程访问服务 (RAS)、 电信网络 (远程登录) 和安全外壳
张善友
2018/01/19
2K0
收集中
[TOC] [[email protected]:~] vmware -vl VMware ESXi 6.7.0 build-10764712 VMware ESXi 6.7.0 Update 1 注册虚拟机数据存储浏览器增加容量刷新操作 datastore1 类型: VMFS6 位置: /vmfs/volumes/5e05fcf7-e9a97d3c-c45a-d4ae52d2b8ef UUID: 5e05fcf7-e9a97d3c-c45a-d4ae52d2b8ef 是否确定要将此主机置于维护模
全栈工程师修炼指南
2020/10/23
9230
收集中
6.Nginx开发语法与内置常量变量介绍(收集中).md
internal 关键字: 表示在 location 中加入 “internal” 声明仅限内部调用。
全栈工程师修炼指南
2022/09/29
3240
Waterdrop在物联网hub日志收集中的使用
Waterdrop 是一个非常易用,高性能、支持实时流式和离线批处理的海量数据处理产品,架构于Apache Spark 和 Apache Flink之上。
用户4065473
2021/02/18
9590
在K8s群集中构建容器映像
了解如何从Kubernetes集群内的Dockerfile构建容器映像源,并将映像推送到IBM Cloud Container Registry; 所有这一切都使用谷歌的Kaniko工具。
February
2018/11/05
1.9K0
Spring Security 在 Spring Boot 中的使用【集中式】
  创建好一个空的 Spring Boot 项目之后,写一个 controller 验证此时是可以直接访问到该控制器的。
Demo_Null
2020/10/28
2.5K0
Spring Security 在 Spring Boot 中的使用【集中式】
Shodan搜索引擎在信息搜集中的应用
Shodan可以在全球范围内动态IP、随机扫描端口服务【WebCam、LinkSYS、Cisco、Netgear、SCADA、IoE物联设备】;Shodan可以非常的轻松方便的找到(联网)物联网设备。
Mirror王宇阳
2020/11/13
7760
Shodan搜索引擎在信息搜集中的应用
AT&T + VMware = 革命性的组合?
AT&T正与VMware合作,在运营商的SD-WAN服务中实现5G功能。AT&T将其称为“革命性的组合”,声称它将为SD-WAN软件和蜂窝网络带来更好的控制。
SDNLAB
2019/05/07
4610
AT&T + VMware = 革命性的组合?
python解释器在语法上不支持_语法测试
arguments:-m flake8 –max-line-length=130 –exclude venv,migrations ProjectFileDir
全栈程序员站长
2022/09/30
7370
python解释器在语法上不支持_语法测试
在多云环境中集中标记的重要性
如今,多云环境很复杂。在复杂的定价结构和众多的云计算服务之间,企业在有效管理这些分布式网络时面临着巨大的挑战。
CloudBest
2019/08/02
3630
在多云环境中集中标记的重要性
四、CLR执行程序集中代码和IL代码简介
三、加载公共语言运行时中介绍了在安装了.Net Framework中加载公共语言运行时,公共语言运行时加载程序集的过程.以及通过vs stdio设置源码编译的目标平台的过程. 本问主要介绍公共语言加载完程序集之后,执行程序集中的代码的过程. 一、IL中间语言 1、IL简介 一、源代码-面向CLR的编译器-托管模块-(元数据&IL代码)中介绍了C#源代码通过C#编译器生成的最终产物是托管模块,而托管模块是由IL中间语言和元数据组成,IL语言是比大多数机器语言都要高级的语言,IL有以下功能: (1)、能访问和操
郑小超.
2018/03/29
1.3K0
四、CLR执行程序集中代码和IL代码简介
LL(1)语法分析程序
代码基于词法分析程序,并且只实现了根据分析表分析字符串操作,分析表是静态创建的。 import java.io.IOException; import java.util.Stack; /** * 语法分析程序 * @author 霍淇滨 * */ public class Analysis { private Stack<Character> ans; //分析栈 private Stack<Character> aim; //余留字符串栈 private String[][] tab
SuperHeroes
2018/05/30
9760
4.2 集中监控体系
所谓“监控”,即包括“监”+“控”,即应该具备对运维数字世界的运行情况进行感知、决策、应急处置的能力,是业务连续性保障能力的基础。因为要感知,所以监控需要具备实时的数据采集能力,而监控采集的性能、容量、运营等数据又为智能运维提供数据资产。由于生产系统运行涉及面极广,监控工具很多,企业很自然的会有合而为一的决策,像集中监控就是一个常见的项目。但是,需要关注的是,一方面市场上成熟的监控系统很多,不同层面的监控工具关注点又各不一样,通常很难选择一个包罗所有能力的监控系统;另一方面企业里的监控系统经过一段时间沉淀,原有监控系统最大的价值已经不是监控系统本身,而是上面的监控配置项,事实上很多技术架构及功能并不优秀的监控系统很难替换的原因就在于此。所以,本文讲的集中监控不是讲一个监控系统,而站在运维组织角度看监控体系。
彭华盛
2021/07/28
1.4K0
4.2 集中监控体系
AT&T以84亿美元收购时代华纳
这场期待已久的合并将会创建一个电信和媒体强国,拥有内容分发网络以及世界上最流行的电视节目和电影。它将由AT&T的董事长、首席执行官兼总裁Randall Stephenson领导。
SDNLAB
2018/07/31
3040
【玩转腾讯云】十二. 在云端构建日志集中存储管理平台
②选择自定义配置——计费模式为“按量付费”——地域选择“北京”——可用区选择“随机可用区”——网络选择“默认”即可
一只特立独行的兔先生
2020/04/19
3.3K0
【玩转腾讯云】十二. 在云端构建日志集中存储管理平台

相似问题

jmp到程序集中的'variable‘标签(AT&T语法)

10

在x86程序集中创建和调用函数(AT&T语法)

11

关于AT&T语法程序集中的cmp / jg、jle等

23

AT&T程序集中的匿名标签

12

at&t语法

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文