12 2017 档案

摘要:变量的本质 研究过程: 对程序进行编译连接之后,生成.exe文件,再次用debug加载此程序,执行其汇编代码。 再次得到之前已经得到的结论,C语言中函数的参数传递是通过堆栈的方式进行参数传递的。 图1 堆栈传参 同时看出,函数的返回值保存在寄存器AX中,这也是之前得到过的结论。 同时发现,程序运行时 阅读全文
posted @ 2017-12-09 22:40 少年π 阅读(1445) 评论(0) 推荐(1)
摘要:综合研究2 之函数名定址 研究过程: 通过之前的研究学习,我们得出了这样一个结论,函数名即汇编语言中的标号,标号则就应该具有地址的属性,但就本质而言,无论是地址,还是数据而言,都其实应该是一个概念,以及针对于他们,同样的要有这样的一个问题要问: 这是在学习汇编语言的时候我们应该关注的一个重要问题,只 阅读全文
posted @ 2017-12-09 22:32 少年π 阅读(174) 评论(0) 推荐(0)
摘要:C语言综合研究1 搭建一个tcc环境 研究过程: 问题引出:为什么要使用tcc环境,甚至连图形界面都没有,为什么要使用这样的化境? 按照我们学习的本质来讲,可能是为了体验C语言底层的相关特性,但是在研究1中尚不能体会这点,所以这个问题待后续回答 我们将相关文件放到DOS环境下的C盘中去,用记事本书写 阅读全文
posted @ 2017-12-09 22:29 少年π 阅读(648) 评论(0) 推荐(0)
摘要:问题1:对与buffer宏定义的理解 一些得到的基本结论:int型数据占有一个字的空间,char型数据占有一个字节的空间,并且char数据类型的定义是为ASCII字符表量身定制的 对与buffer的理解: #define buffer ((char*) * (int far*)0x200) 首先,复 阅读全文
posted @ 2017-12-09 22:26 少年π 阅读(601) 评论(0) 推荐(0)
摘要:研究实验5 问题引出:我们经过之前的研究已经知道了函数就是汇编中的子程序这样一个概念,那么但是函数的参数是如何传递呢,是汇编语言学习中参数传递的哪种方式呢? 问题研究: 图1-2 a.exe汇编代码 从图中的汇编代码我们可以清晰的发现,C语言中传递参数是通过栈来传递参数,这在之前汇编语言中是有介绍的 阅读全文
posted @ 2017-12-09 22:22 少年π 阅读(1118) 评论(0) 推荐(0)
摘要:研究实验4 研究过程: 问题引出:C语言编程非得用主函数main吗,不用是否可以? 对此问题进行研究,用tc.exe书写代码如下: 图1 没有main函数的c程序 对其进行编译,链接发现,编译阶段可以完成,但是链接阶段无法完成。即无法通过这种方式生成.exe文件。并显示错误信息: 图2 f()程序提 阅读全文
posted @ 2017-12-09 22:11 少年π 阅读(2553) 评论(0) 推荐(0)
摘要:研究实验三 在学习汇编语言的时候,提供了很多种寻址方式,便于我们找到内存单元地址,我们关注数据,无非关注数据的两个量:数据存放的位置;数据有多大。那么,在C语言中,我们如何使用内存存储数据,使得我们能够达到和汇编一样的水平:即我们清楚的知道我们的数据在哪,我们知道我们的数据与多大? 下面通过实验一研 阅读全文
posted @ 2017-12-06 23:05 少年π 阅读(316) 评论(0) 推荐(0)
摘要:研究实验二 问题研究过程: 发问:C语言中的变量究竟是什么,通过下面的程序进行C语言中的变量的学习 图1 URL.EXE函数 为了研究main函数的首地址,我首先自作聪明的用了一条_DX=main,这样一条语句,希望通过debug中的G命令执行完程序。通过DX的值得到main 的地址。但很不幸的是, 阅读全文
posted @ 2017-12-06 22:43 少年π 阅读(395) 评论(0) 推荐(0)
摘要:1. 关于函数function调用,总结两个要点: 1. 函数调用一般产生一个值,这个值被赋值给某个变量 2. 函数所返回的值只能是一个,不可以是多个,不能像C语言中采用指针的方式返回多个值。因此,如果想产生多个结果则需要采用别的方式,实际上就是任务: 下面给出一段具体的代码(虽然很简单),体会函数 阅读全文
posted @ 2017-12-06 21:27 少年π 阅读(2010) 评论(0) 推荐(0)
摘要:综合研究前言心得 王爽老师《汇编语言》开篇提出了三个问题:1.都在用,我们就非得用吗;2.规定了,我们就只知道遵守吗;3,司空见惯,我们就不怀疑吗。 这三个问题直接命中了这个阶段的学习导向:向教条挑战,发散式,自启发式的学习开始。 其实对于我本人而言,我更倾向于对一个问题的研究到本质,只有这样,我才 阅读全文
posted @ 2017-12-06 12:38 少年π 阅读(168) 评论(0) 推荐(0)
摘要:2017-12-01 在Verilog语言中,赋值语句经常使用,阻塞赋值和非阻塞赋值经常带给我们很多困扰。在此讨论两种赋值方式的差异性。 首先根据表面含义深刻理解阻塞和非阻塞: 阻塞:在进程语句块中(initial或者always或者其他),当前赋值语句的执行阻塞了后面语句的执行。即后面语句的赋值需 阅读全文
posted @ 2017-12-01 20:00 少年π 阅读(1550) 评论(0) 推荐(0)