CMU 15-213 Introduction to Computer Systems学习笔记(5) Machine-Level Programming-Control
Control: Condition codes
处理器状态 (x86-64, Partial)
图上的CF,ZF,SF,OF就是微机学过的状态位,其中各自代表的意思如下
Explicit Setting: Compare 指令
注意compare指令是利用减,因此对CF,OF状态位略有不同。compare用于两个数字间比较的操作
而下面的test指令只是对于一个数字的判断
Explicit Setting: Test
Reading Condition Codes
SetX操作指令
SetX这个指令按照定义是根据condition code将低位字节设置为0或者1
如上图,注意x86-64的寄存器用%al,%bl表示最低的一个字节(即低8位)
下面是一个c语言(黄色部分)对应的汇编(最下方白色)
movzbl这个指令是有点wired的!老师说上面的这个movzbl指令只是将低32位除了前8位设置为0,那么高32位的呢?
实际上x86-64机器会自动在高32位补全0!
Conditional branches
Jumping指令
jump指定是根据condition code 跳到不同地方的code
可以理解一下老师上课用的例子 先用comq将存储在寄存器中的x,y做比较,然后利用jle做jump指令。
使用conditional moves
下面是一个conditional move的例子,总的来说 condition move就是先把所有的计算都做了,然后选择一个我们所需要的结果
conditonal move的糟糕情况
Loops
第一种
第二种
第三种
Switch Statements
这部分听的我有点晕掉,以后如果工作需要用到这部分再补充吧。。
CMU 15-213 Introduction to Computer Systems学习笔记(5) Machine-Level Programming-Control相关推荐
- Introduction to Computer Networking学习笔记(十五):Queue Model 包交换中的缓冲模型
本章知识点比较零散,因此一篇文章进行总结,并且不具有连贯性,仅记录自己认为有价值的内容. 将较大的包拆分为小包进行传输,可以减小端对端延迟,原因如下图: 数据传输时,突发大量的数据包会增加延迟,简单周 ...
- 【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)
[机器学习笔记]可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning) 目录 [机器学习笔记]可解释机器学习-学习笔记 Interpre ...
- CMU15-213学习笔记(六)Exceptional Control Flow
CMU15-213学习笔记(六)Exceptional Control Flow 程序的正常执行顺序有两种: 按顺序取下一条指令执行 通过CALL/RET/Jcc/JMP等指令跳转到转移目标地址处执行 ...
- CS269I:Incentives in Computer Science 学习笔记 Lecture 13:Introduction to Auctions(拍卖简介)
Lecture 13 Introduction to Auctions(拍卖简介) 1 Preamble(前言) 为什么计算机科学家要关心拍卖?直到最近(甚至可能仍然),提到拍卖,我们脑海中联想到的图 ...
- CS269I:Incentives in Computer Science 学习笔记 Lecture 15 The VCG Mechanism(VCG机制)
Lecture 15 The VCG Mechanism(VCG机制) 1 GSP vs VCG 作为本讲的开始,我们来证明上一讲中的一个重要结论: 回忆一下背景:有k个广告位,它们 的点击率排布为) ...
- CS269I:Incentives in Computer Science 学习笔记 Lecture 12 对称信息和声誉系统
Lecture 12 Asymmetric Information and Reputation Systems(对称信息和声誉系统) 1 Preamble(前言) 之前的几讲,我们都在声誉系统的边缘 ...
- Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
9.5 Predicting Movie Ratings 9.5.1 Problem Formulation 推荐系统. 推荐系统的问题表述:电影推荐.根据用户对已看过电影的打分来推测用户对其未打分的 ...
- CS269I:Incentives in Computer Science 学习笔记 Lecture 17 评分规则和同辈预测(诚实预报和反馈激励)
Lecture 17 Scoring Rules and Peer Prediction(Incentivizing Honest Forecasts and Feedback)(评分规则和同辈预测( ...
- POSEIDON: A New Hash Function for Zero-Knowledge Proof Systems 学习笔记
1. 引言 Grassi等人2019年论文<POSEIDON: A New Hash Function for Zero-Knowledge Proof Systems>. 前序博客有: ...
- 概率导论(Introduction to Probability, 2E)学习笔记 Part Ⅰ
笔记内容基于Introduction to Probablity, Second Edition 因笔者为初学者,故内容不会面面俱到 若有表述错误还望直接指出 --2022.1 样本空间与概率 本书的 ...
最新文章
- C++排序算法实现(更新中)
- 计算器用户界面与业务逻辑的分离
- 3.3线性回归简洁实现(API的使用)
- 电容式传感器位移性能试验报告_一文读懂什么是接近传感器?
- OpenCV3与深度学习实例-使用OpenPose进行人体姿态估算
- 计算机考研哈理工好吗,哈尔滨理工大学考研难吗?一般要什么水平才可以进入?...
- 谈demo、原型、产品的区别
- Delphi版 熊猫烧香源码
- 机器学习—确定系数R2
- DC report_timing 报告分析(STA)
- 三极管-三极管仿真与参数设置:与bipolar管
- 8月2日 jquery
- 尝试使用ob的advanced slides插件,发现image显示异常
- 王者荣耀小游戏3.0更新完成!
- 20亿人数据再被盗取,波及40多个国家和地区
- 服务器运维浏览器,本机浏览器如何访问docker容器的内容_网站服务器运行维护,浏览器,docker...
- 孙悟空与秦始皇是什么关系?
- NET下基于OO4O,FME,ODP.NET的Oracle Spatial空间数据读取操作
- 快捷键个人使用积累(更新ing)
- 今天被公司约谈,说工作时长不够,要求每天至少11小时,不然就是态度不认真!...