社区
汇编语言
帖子详情
读CSAPP第三章有个看不懂的地方...
tlidft
2018-02-07 08:49:06
在第三章练习3.3里有题是这样的
movl %eax,%rdx
这个代码是错 答案上写是因为 “destination operand incorrect size” 目的操作数大小错误 (图片上倒数第二行)
但是按照我理解 movl不只是把一个32位寄存器的数据移动到64位寄存器上吗 然后高4位全变成0 这对一个64位的寄存器有什么影响?
然后之前还有个填空题 题目是mov_ %eax,(%rax)
正确答案是movl 这让我很迷惑....
就是这样 谢谢各位大佬
...全文
1224
5
打赏
收藏
读CSAPP第三章有个看不懂的地方...
在第三章练习3.3里有题是这样的 movl %eax,%rdx 这个代码是错 答案上写是因为 “destination operand incorrect size” 目的操作数大小错误 (图片上倒数第二行) 但是按照我理解 movl不只是把一个32位寄存器的数据移动到64位寄存器上吗 然后高4位全变成0 这对一个64位的寄存器有什么影响? 然后之前还有个填空题 题目是mov_ %eax,(%rax) 正确答案是movl 这让我很迷惑.... 就是这样 谢谢各位大佬
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
滴答过后不回头/,,
2020-05-25
打赏
举报
回复
%eax与%rax是同一个寄存器,高位用0扩展当然没有问题;而%eax与%rdx不同。
zara
2018-02-08
打赏
举报
回复
写错了,上面的 movcx 应该是 movsx
zara
2018-02-08
打赏
举报
回复
32位寄存器数据到 64位寄存器,要用 movzx 或 movcx 指令吧,mov 是不行的。
那个填空题,后面的不是有括号吗,应该是作为地址来的吧,即为寄存器到内存的 mov,不是寄存器到寄存器。
tlidft
2018-02-08
打赏
举报
回复
谢谢各位 已经知道怎么回事了
日立奔腾浪潮微软松下联想
2018-02-08
打赏
举报
回复
movl %eax,%rdx intel语法是 mov rdx,eax 不同宽度的寄存器之间直接传输是不允许的,就是这么设计的,唯一的例外是通用寄存器和段寄存器之间的传输,允许mov eax,ds之类的指令,该指令和mov ax,ds功能一样,但是副作用不一样,在32位、64位模式下会将eax、rax的高16位、高48位清0。 mov_ %eax,(%rax) intel语法是 mov dword ptr [rax],eax ; dword ptr在很多汇编器中可以不写,rax是寻址用的,也可以mov qword ptr [eax],rdx这样。
深入理解计算机系统(第二版);C
SAP
P2E(卷三)
突然觉得有点对不起作者。这么伟大的书,我还在这侵权。希望下载的同僚们能去买本正版的实体书,表达下对作者的尊敬!我买了英文原版的,这电子版是在
看不懂
的
地方
对照地看看。
HITICS大作业.pdf
hitC
SAP
P大作业。 我是Hello,我是每一个程序猿¤的初恋(羞羞……) 却在短短几分钟后惨遭每个菜鸟的无情抛弃(呜呜……),他们很快喜欢上sum、sort、matrix、PR、AI、IOT、BD、MIS……,从不回头。 只有我自己知道,我的出身有多么高贵,我的一生多么坎坷! 多年后,那些真懂我的大佬(也是曾经的菜鸟一枚),才恍然感悟我的伟大! 想当年: 俺才是第一个玩 P2P的: From Program to Process 懵懵懂懂的你笨笨磕磕的将我一字一键敲进电脑存成hello.c(Program),无意识中将我预处理、编译、汇编、链接,历经艰辛,我-Hello一个完美的生命诞生了。 你知道吗?在壳(Bash)里,伟大的OS(进程管理)为我fork(Process),为我execve,为我mmap,分我时间片,让我得以在Hardware(CPU/RAM/IO)上驰骋(取指译码执行/流水线等); 你知道吗?OS(存储管理)与MMU为VA到PA操碎了心;TLB、4级页表、3级Cache,Pagefile等等各显神通为我加速;IO管理与信号处理使尽了浑身解数,软硬结合,才使我能在键盘、主板、显卡、屏幕间游刃有余, 虽然我在台上的表演只是一瞬间、演技看起来还很Low、效果很惨白。 感谢 OS!感谢 Bash!在我完美谢幕后回收了我。 我赤条条来去无牵挂! 我朝 CS(计算机系统-Editor+Cpp+Compiler+AS+LD + OS + CPU/RAM/IO等)挥一挥手,不带走一片云彩! 俺也是 O2O: From Zero-0 to Zero-0。 历史长河中一个个菜鸟与我擦肩而过,只有CS知道我的生、我的死,我的坎坷,“只有 CS 知道……我曾经……来…………过……”————未来一首关于Hello的歌曲绕梁千日不绝 !!
C
sap
p
第三章
阅
读
以及思考
前言 c
sap
p
第三章
从 CPU 的架构入手,了解处理器如何处理指令,并将C程序翻译成汇编,根据汇编和cpu结构讲解你的程序是如何运行的,并讲解常用的数据结构是如何在内存中存储和表示的,通过这些了解计算机系统设计的缺陷以及你的程序运行时出现的奇怪bug(奇怪的错误,以及摸不着头绪的性能低下)的原因。 本片文章,先介绍汇编基础知识。。。。。可以跳
读
。 重点:常用c表达的汇编表示 数据结构的内存表示......
【仅供参考】c
sap
p
第三章
课后习题答案(欢迎批评指正)
【仅供参考】c
sap
p
第三章
课后习题答案(欢迎批评指正)
看完C
SAP
P,我人麻了
最近几个周末去图书馆刷 C
SAP
P 完全停不下来啊,这种
看不懂
却还是强忍着痛苦硬逼着自己去看的感觉,真让我着迷。 这本书从真正意义上让我体会到了什么叫做看书五分钟,休息俩小时。 不过大家可千万别学我,我相信在坐的各位绝对比我牛批,为什么?因为后面我给你推荐了一款神器,那么首先我们先来介绍一下这本书。 这本书总共分成十二个章节,我给你绘制了一个思维导图,比较简单明了。 第一章是提纲挈领性质的一章,从一个 hello world 程序来引出 C、引出 UNIX、Linux ,引出 C .
汇编语言
21,458
社区成员
41,603
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章