
S1: Assembly
文章平均质量分 51
涛歌依旧
毕业后就职于华为和腾讯
展开
-
计算机CPU工作原理及汇编语言简介
我们可以继续用proteus来画更复杂的电路图,并自定义CPU指令集,实现更强大的功能。 然而,无论我们怎么设计电路来制作CPU,它永远只是冰山一角的一个小小冰点, 离Intel或AMD的商用CPU有太远太远的距离。我们不可能也没必要画出那么复杂的CPU(几十亿个晶体管器件)。 因此,我们需要从底层复杂的电路图设计中解脱出来,站在更高的层次和更高的抽象度上来看待CPU.原创 2019-12-25 21:46:22 · 5147 阅读 · 7 评论 -
“冯诺依曼结构”计算机的proteus仿真及编程的初体验
沈从文笔下的边城,风景优美,故事凄婉。世间若有双全法, 不负亲人不负卿。沈从文很早就写了《边城》,所以我觉得他是中国第一个“程序员”。 编程的意思是:构思故事,然后用语言编写出故事的发展过程。原创 2019-12-06 20:18:01 · 4054 阅读 · 6 评论 -
linux中的objdump命令(反汇编常用)
我们介绍过linux中的readelf命令, 但迟迟没有介绍objdump命令, 因为其实后者可以看作是前者的子集, 我们来看看官方文档怎么说:/* The difference between readelf and objdump: Both programs are capable of displaying the contents of ELF format ...原创 2016-10-21 16:43:29 · 16075 阅读 · 3 评论 -
cpu的指令集究竟存放在哪里?
cpu的指令集究竟存放在哪里? 看了网上的一些解释,多数是lobster drag egg(虾扯蛋) 指令集,就是指令的集合,以某电子产品为例, 该产品的指令集存放在说明书中: cpu的指令集也类似, cpu的指令集就是cpu各个指令的集合, 存放在cpu的说明书中。 而不是存放在cpu中,也不是存放在寄存器中,更不是存放在内存中。 ...原创 2019-05-02 13:42:54 · 8095 阅读 · 16 评论 -
用proteus来做一个简单的cpu并用机器语言/汇编语言编程
五一假期,陪家人在附近转了转, 人多, 蛮吵杂的。 看了下赖晓铮老师的《基于Proteus的计算机系统实验教程---逻辑、组成原理、体系结构、微机接口》,用proteus玩了一下简单的cpu并用机器语言/汇编语言编程,体会一下cpu硬件级别的运行,这些是机器域的事情,纯属爱好, 对自己工作并没有直接的帮助,毕竟日常工作主要是在问题域的。 来大致看看: ...原创 2019-05-03 12:10:10 · 8757 阅读 · 21 评论 -
函数调用入栈出栈分析
先来看一个简单的程序:int func(int a, int b){ int c = 7; c = a + b; return c;}int main(){ int x = 10; int y = 20; int z = 15; z = func(x, y); return 0; } 在...原创 2018-04-29 22:52:16 · 8439 阅读 · 2 评论 -
汇编语言和机器语言是一一对应的吗? 汇编语言是cpu生产厂商规定的还是编译器厂商规定的?
汇编语言和机器语言是一一对应的吗? 一些人认为,是的。 一些人认为, 不是的。 其实, 两种认为都对。 为什么说两种看法都对? 我们首先来看看这个问题:汇编语言是cpu生产厂商规定的还是编译器厂商规定的? cpu是硬件, 无非就是一些电路元件和开关的组合。 编程的本质, 就是在不同时刻拨弄那些开关,形成不同的逻辑值。 显然,我们不能用手去拨弄那些开关...原创 2018-05-04 20:36:51 · 20556 阅读 · 8 评论 -
汇编语言编辑、汇编、连接、运行的全过程
为了理解汇编语言的编辑、汇编、连接、运行的全过程,我们不使用IDE,而是分步骤来进行: 需要工具: 1. 文本编辑器(如果有Notepad++或者UltraEdit就更好了) 2. 汇编器(如MASM.exe) 3. 连接器(对应的link.exe) 为了省略盘符转换,我在电脑的F盘原创 2013-06-02 19:24:48 · 39080 阅读 · 7 评论 -
汇编语言入门(在debug中编辑和调试程序)
我们在Windows中进入的Dos方式,实际上是虚拟8086模式的Dos,方法是:点击“开始”,“运行”,输入"command",点击“确定”, 可以看到弹出一个黑色的框框,然后,在黑色的框框中输入相关信息,如图所示(提前说一句,汇编语言对大小写不敏感,而C语言对大小写敏感): 下面来具体分析一下: 1. debug是一个调试工具(虽然可以在debug原创 2013-06-02 17:09:18 · 24949 阅读 · 4 评论