摘要: 一、前提知识1、如何传递参数(主函数)a、函数的参数是通过栈传递,而且是从右到左依次入栈b、即使是char型变量,在传递参数时,也是占用两个字节,因为push操作是两个字节为单位的。 c、showchar('a',2)这样的传入两个常数,也会在堆栈中开辟两个空间,也即对应两个实参变量。2、函数如何接收参数(子函数)a、函数接受形参是通过从栈中取的b、通过BP可以找到传入参数的值,BP+4是第一个参数,BP+6是第二个参数......取参数是从左到右取的 3、如何释放参数(主函数) 释放参数可以通过多次pop来实现。有时是通过“add sp,+数值”来实现的。二、研究一个简单的不 阅读全文
posted @ 2014-02-27 20:15 amanlikethis 阅读(1617) 评论(0) 推荐(0) 编辑
摘要: 转载于:TC2.0中怎样调用汇编程序一、概述 TC是美国BORLAND 公司在IBM PC机上开发的一个高效、优化的C编译程序,它自带高效的全屏幕编辑程序,在集成开发环境下可支持编辑、编译、连接调试和运行等过程连续完成。 TC提供了与汇编语言的接口和在C程序中直接插入汇编指令代码的功能,支持以“远调用”和“近调用”方式来调用使用汇编语言编写的函数。 TC调用汇编语言函数时,对汇编语言的编写要求十分严格,并且对大小写字母也有严格的区分。如果在编写供TC调用的汇编函数时不按照规定好了的格式书写,调用是不会成功的。二、操作步骤下面先举一个在TC中调用汇编函数的例子,然后再详细讲解怎样做才能成功。步. 阅读全文
posted @ 2014-02-27 11:19 amanlikethis 阅读(746) 评论(0) 推荐(0) 编辑
摘要: 一、如何搭建一个精简的C语言开发环境准备:下载TC2.0,并解压,比如说“d:\tc2.0\tc”目录1、在C盘建立一个目录minicc:\ md minic2、从解压的目录中将以下文件拷贝到c:\minic中 其中TC.EXE是在d:\tc2.0\tc目录下,而COS.OBJ、EMU.LIB、MATHS.LIB、GRAPHICS.LIB、CS.LIB是在D:\tc2.0\tc\lib目录中的。3、软件配置 选择菜单项“Options”中的“Directories”选项,对TC的工作路径进行设置,将所有的路径都设置为“c:\minic”。然后用“Save options”选项保存设置。 生.. 阅读全文
posted @ 2014-02-27 11:14 amanlikethis 阅读(924) 评论(0) 推荐(0) 编辑
摘要: 前提知识 c0s调用main函数的地址: 11ah main函数的连接地址: 01fah一、全局变量与局部变量测试程序int a1,a2,a3;void f(void);void g(void);void h(void);main(){ int b1,b2,b3; a1 = 0xa1;a2 = 0xa2;a3 = 0xa3; b1 = 0xb1;b2 = 0xb2;b3 = 0xb3;}void f(void){ int c1,c2,c3; a1 = 0x0fa1;a2 = 0x0fa2; a3 = 0x0fa3; c1 = 0xc1; c2 = 0... 阅读全文
posted @ 2014-02-27 09:56 amanlikethis 阅读(7522) 评论(0) 推荐(1) 编辑
摘要: 一、不定参数函数原理二、实现一个属于自己的printf函数参考博文:王爽汇编语言综合研究-函数如何接收不定数量的参数 阅读全文
posted @ 2014-02-27 09:51 amanlikethis 阅读(500) 评论(0) 推荐(0) 编辑