摘要: 计算机中的数据,往往给我们造成了一些假象:存在源码,反码,补码;定点数,浮点数;这些概念。但是其实脱离了操作系统的概念,仅仅存在电路硬件的时候,并不存在这些钙这些数,准确而言,这些表示都是计算机算法的表示形式,而算法是为了解决实际问题被人定义出来的。 那么,准确的电路中的数是是什么呢:计数器(一种从 阅读全文
posted @ 2018-05-18 10:58 少年π 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 在Verilog程序中,不可能将所有的代码放在一个文件里面,不同功能的模块封装在一个文件里面,但最终我们要生成最终的系统电路,必须将这些子模块生成一个顶层模块,那么如何生成这样的顶层模块呢? 给出一个实例, 上图中提出了这样一个问题:如何将三个子模块接成一个顶层模块。这三个子模块分别完成了:与,或, 阅读全文
posted @ 2018-05-07 20:47 少年π 阅读(6286) 评论(0) 推荐(0) 编辑
摘要: 先从下面一小段代码入手,说明其中的道理 上面这段代码的作用是,使得变量 r_freq_cnt能够循环往复从800逐渐+1变化到1100,再逐渐-1变化到800,循环往复,类似于随着时间的推移生成了一个三角波。核心在于,如何在r_freq_cnt=1099的时候,导致使得r_freq_cnt=r_fr 阅读全文
posted @ 2018-05-05 21:02 少年π 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 上面是一段关于CORDIC_IP测试文件,用于计算给定角度的sin值和cos值,关于数值表示规则在此不再重复,仅仅说明以下3点: 1 数采用原码,反码,补码,本身并没有正确与否之分(这一点很重要,我们不能认为只有补码的表示是正确的),有的只是适用场合,采用补码的方式能够使得使得加法和减法变得统一,而 阅读全文
posted @ 2018-04-10 23:36 少年π 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 在写CORIC算法实现代码的时候,遇到了小数问题如下: 、 第31行的代码如下: 这说明了写成小数形式,不会通过编译器的检查(暂且叫做编译器),编译器无法识别这种小数的表示方法。但我们又确实需要进行小数的计算,比如加法的; 比如1.4567+2.34789。编译都无法编译,那么该如何计算呢? 我们知 阅读全文
posted @ 2018-04-07 23:59 少年π 阅读(550) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-04-06 11:54 少年π 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-04-06 11:51 少年π 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-04-06 11:47 少年π 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 变量的本质 研究过程: 对程序进行编译连接之后,生成.exe文件,再次用debug加载此程序,执行其汇编代码。 再次得到之前已经得到的结论,C语言中函数的参数传递是通过堆栈的方式进行参数传递的。 图1 堆栈传参 同时看出,函数的返回值保存在寄存器AX中,这也是之前得到过的结论。 同时发现,程序运行时 阅读全文
posted @ 2017-12-09 22:40 少年π 阅读(1438) 评论(0) 推荐(1) 编辑
摘要: 综合研究2 之函数名定址 研究过程: 通过之前的研究学习,我们得出了这样一个结论,函数名即汇编语言中的标号,标号则就应该具有地址的属性,但就本质而言,无论是地址,还是数据而言,都其实应该是一个概念,以及针对于他们,同样的要有这样的一个问题要问: 这是在学习汇编语言的时候我们应该关注的一个重要问题,只 阅读全文
posted @ 2017-12-09 22:32 少年π 阅读(171) 评论(0) 推荐(0) 编辑