摘要: 之前的课程里面我们已经讲过了:1.什么是函数2.什么是参数3.通过寄存器或者栈传递把参数传递给函数4.平衡栈一个复杂的函数内部往往会用到栈,而ESP是存储的栈顶的值,栈顶会随着放入数据而发生改变,所以定位参数不太方便.push 0x1push 0x2push 0x3call 函数 push ecxp 阅读全文
posted @ 2017-08-10 21:28 随意就好欧巴 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 通过上节课的学习,我们简单了解了32位汇编和16位汇编的一些区别.并且我们把一段重复的代码,独立出来,单独调用.需要用到这个功能的时候,用CALL指令跳转过去,执行完毕之后,用RET指令再跳回来.从而可以避免写大量重复的代码,软件开发效率自然也就上来了.这节课,我们来写一个三个任意整数相加的代码或者 阅读全文
posted @ 2017-08-10 21:21 随意就好欧巴 阅读(857) 评论(0) 推荐(0) 编辑
摘要: 寄存器 主要用途 存储范围 EAX 累加器 32位 ECX 计次 32位EDX I/O指针 32位EBX DS段的数据指针 32位 ESP 堆栈指针 32位EBP SS段的数据指针 32位ESI 字符串操作的源指针; SS段的数据指针 32位EDI 字符串操作的数据指针;ES段的数据指针 32位 因 阅读全文
posted @ 2017-08-10 21:20 随意就好欧巴 阅读(1570) 评论(0) 推荐(0) 编辑
摘要: 最简单的C语言开发环境一个C语言编译器和一个写代码的软件。#include<stdio.h>#include<stdlib.h>int main(){ printf("第一个C程序\n"); system("pause"); return 0;} gcc.exe d:/1.c -o d:/1.exe 阅读全文
posted @ 2017-08-10 21:17 随意就好欧巴 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 处理器比作经理,把打印机比作一名员工.处理器告诉打印机要打印什么文件的时候,当打印机完成之后,打印机会告诉处理器,这件事情办完了,你有什么其他安排吗?这就叫做中断.中断可以分两种:一种是严重的,一种是不严重的.比如有的电脑不可以断电,电池电量很低的时候,电源就会给CPU发出一个中断.或者内存里面的电 阅读全文
posted @ 2017-08-10 21:16 随意就好欧巴 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 计算机科学家,为了能够更好的管理,设计程序。为我们提供了一种抽象思维,把程序分成几个不同的区域。当然,这仅仅是我们用汇编语言的时候,并且没有操作系统的情况下,才需要这种抽象思维。现在我们是在没有操作系统上的计算机进行模拟程序运行。当然下面的这幅图仅仅是参考,并非绝对的。程序的概念: section 阅读全文
posted @ 2017-08-10 21:14 随意就好欧巴 阅读(319) 评论(0) 推荐(0) 编辑