关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
马里奥大叔的黄金左手
2021-12-14 17:36
采纳率: 100%
浏览 209
首页
有问必答
已结题
汇编语言addq %rax,%rax为什么可以等价为c语言的 val<<1?
有问必答
c语言
如题目所示,搞不清楚,个人认为应该是val= val + val呀。
收起
写回答
好问题
0
提建议
关注问题
微信扫一扫
点击复制链接
分享
邀请回答
编辑
收藏
删除
收藏
举报
1
条回答
默认
最新
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
CSDN专家-link
2021-12-14 17:37
关注
val=val+val与val<<1是一个意思啊
两者都相当于 val = val*2
本回答被题主选为最佳回答
, 对您是否有帮助呢?
本回答被专家选为最佳回答
, 对您是否有帮助呢?
本回答被题主和专家选为最佳回答
, 对您是否有帮助呢?
解决
1
无用
评论
打赏
微信扫一扫
点击复制链接
分享
举报
编辑记录
评论
按下Enter换行,Ctrl+Enter发表内容
查看更多回答(0条)
向“C知道”追问
报告相同问题?
提交
关注问题
掌握循环与分支:
C语言
控制结构的汇编实现
2025-04-02 13:59
你这人真狗的博客
本文深入探讨了
C语言
中的控制结构(如循环和分支)在
汇编语言
层面上的表示与转换。通过实例分析了while循环、for循环和switch语句的机器级代码生成过程,揭示了编译器优化策略如“跳转到中间”和“受保护的-do”翻译...
汇编 —— 控制指令
2021-09-18 19:29
shenmingik的博客
于是萌生了写一个自己的操作系统这样的心思,此为系列第一章,主要是讲解一些汇编知识的,内容大多从CSAPP中也可以获得。 本篇内容主要讲解汇编指令:跳转、条件以及循环指令 跳转指令 之前简单介绍了直线代码的...
《深入理解计算机系统》学习笔记 - 第六课 - 机器级别的程序二
2023-12-19 18:57
北海拾贝的博客
absdiffgoto: cmpq %rsi, %rdi #y,x : x:y jg .L2 movq %rsi, %
rax
subq %rdi, %
rax
ret .L2: # x >= y movq %rdi, %
rax
subq %rsi, %
rax
.L3: ret 一般条件语句转换为汇编GOTO
c语言
格式:
val
= ...
9个提高代码运行效率的小技巧你知道几个?
2021-04-28 00:20
布道师Peter的博客
我们写程序的目的就是使它在任何情况下都可以稳定工作。一个运行的很快但是结果错误的程序并没有任何用处。在程序开发和优化的过程中,我们必须考虑代码使用的方式,以及影响它的关键因素。通常,我们必...
CSAPP笔记3
2023-02-22 23:56
方铎极客的博客
本节介绍了汇编以及生成汇编的编译、链接过程,鉴于本书面 向的是软工、数据科学等高级语言编程者,重点在于介绍以
C语言
为代表的高级语言转换为机器指令的机制。本节更多的内容可见编译原理的相关讲述。
程序的机器级表示(二)
2021-12-22 23:21
tangfatter的博客
注:以下所有内容均来自开源...leaq 7(%rdx, %rdx, 4), %
rax
:表示把有效地址复制到寄存器
rax
中。 其中7(%rdx, %rdx, 4)表示有效地址(计算方式见程序的机器级表示(一)中4.0.1):形式符合公式Imm(rb,ri,s)→Imm+R[rb
Golang汇编之通过map地址找到
val
ue的值
2024-04-21 20:12
铁柱同学的博客
通过读Go程序的汇编找到map的地址,然后通过map的内存布局,一步步找到实际
val
ue存储的值。整个过程中可以复习汇编知识以及map的存储结构等。
CSPP学习笔记-Ch3.6 分支控制
2021-12-12 17:46
Life Commander的博客
3.6.1 条件码、CMP、TEST 1、CMP 和 TEST 指令 2、浮点比较操作 3.6.2 访问状态码 SET 指令 3.6.3 跳转指令(jump) 3.6.4 跳转指令的编码 3.6.5 实现条件分支的两种方式 1、为什么基于条件数据传送的代码会比基于...
【深入理解计算机系统】第三章重点汇总
2022-01-03 15:03
solego的博客
当我们保存%
rax
中的数据0x123,可以使用pushq %
rax
,而这个指令又可以分解为: subq $8 %rsp,表示将栈顶往低地址移动,然后指令movq %
rax
, (%rsp)表示将%
rax
中的数据存储到%rsp指向的内存地址处。 当使用popq %rbx...
计算机系统2(二):程序的机器级表示
2020-08-31 18:48
你喜欢梅西吗的博客
1、高级程序代码转为机器代码 预处理:在高级语言源程序中插入所有用#include命令指定的文件和用#define声明指定的宏。 编译:将预处理后的源程序文件编译生成相应的
汇编语言
程序。 汇编:由汇编程序将
汇编语言
源...
汇编级程序性能优化
2021-06-06 19:18
不搞数学的汤老师的博客
从汇编级优化程序性能 有些人会说,明明编译器就会有优化(gcc -Og -O1 -O2 -O3),为何还需要人为刻意优化? 因为编译器很蠢,他只有在确定优化后的代码与优化前的代码的行为完全一致,才会进行优化。并不会猜测...
switch汇编跳转表
2019-10-27 19:57
alotuscc的博客
switch语句可以根据一个整数索引值进行多重分支。 GCC根据case的数量和case值的稀疏程度来翻译switch语句,当case情况比较多(例如4个以上),并且值的范围跨度比较小时,就会使用跳转表。 跳转表是一个数组,表项i是...
c语言
语句的机器级表示实训,csapp实践(二):程序的机器级表示
2021-05-24 00:45
WebNerdess的博客
csapp第三章中,对汇编指令的要求比较高这里把常见的指令整理一下1g++ -Og -S -masm=intel xxx.cpp得到反汇编文件查阅程序编码代码示例和解释:12345678910111213141516171819202122#include #include using ...
深入理解计算机系统(v3) 第三章、程序的机器级表示(Linux)
2022-04-22 18:16
张君陌的博客
linux 汇编
25、
C语言
性能优化:内联函数与restrict限定符的应用
2025-12-13 02:25
算法流浪汉的博客
本文深入探讨了
C语言
中的性能优化技术,重点介绍了内联函数和restrict限定符的使用方法及其对程序性能的影响。通过合理应用这些特性,可有效减少函数调用开销、提升编译器优化能力,并结合准确的性能测量与统计分析...
计算系统安全速成之机器级编程(数组和指针)【3】
2025-12-13 19:55
缘友一世的博客
计算系统安全速成之机器级编程(数组和指针)【3】
关于X86-64汇编中几条指令的解答笔记
2019-08-10 16:48
暂代的博客
这是一段
C语言
代码: long test(long x, long y){ long
val
= 8 * x; if (y > 0) { if (x < y)
val
= y - x; else
val
= x & y; } else if (y <= -2) { ...
CSAPP-Architecture lab
2021-10-24 15:52
mazamu的博客
这个实验要做的是将
c语言
转化成Y86-64汇编指令。 gcc -c examples.c objdump -d examples.c > examples.d 5 Disassembly of section .text: 6 7 0000000000000000 <sum_list>: 8 0: 55 push %rbp 9...
没有解决我的问题,
去提问
向专家提问
向AI提问
付费问答(悬赏)服务下线公告
◇ 用户帮助中心
◇ 新手如何提问
◇ 奖惩公告
问题事件
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
系统已结题
12月22日
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
已采纳回答
12月14日
关注
码龄
粉丝数
原力等级 --
被采纳
被点赞
采纳率
创建了问题
12月14日