ASM/C/C++
expert2000
这个作者很懒,什么都没留下…
展开
-
可启动程序编写环境的搭建和使用
工欲善其事,必先利其器。最近想学习计算机启动程序的编写,就在网上找了几篇好文章,把环境搭了起来。所需工具如下(windows环境): 任意一种文本编辑器,用于生成.s文件。 从网上下载nasm(win32)汇编程序或其他汇编程序,能编译成bin文件。 从网上下载winhex,必须是能注册的,用于生成img文件。 从网上下载winiso,用于生原创 2005-03-01 09:55:00 · 1297 阅读 · 0 评论 -
汇编push,pop,call操作
[section .text]global _start charact db a_start: MOV ECX,charact PUSH ECX CALL usestack POP ECX原创 2005-08-02 14:13:00 · 2903 阅读 · 0 评论 -
LINUX下汇编的编译,调试命令
LINUX下汇编的编译:nasm -f elf hello.asm 生成hello.old -o hello hello.o 生成可执行的elf格式文件hello,通过./hello执行如果输入nasm hello.asm,得到二进制可执行文件helloLINUX下汇编的调试:调试主要是用的ALD(Assembly Language Debugger)ald hello原创 2005-08-02 14:29:00 · 2108 阅读 · 0 评论 -
汇编程序调用c程序
首先是汇编程序,还是前面的例子,只是加了2行程序:extern main ;说明这个函数从外面程序获得[section .data] charact db a[section .text]global _start_start: MOV ECX,charact PUSH ECX CALL usestac原创 2005-08-02 14:51:00 · 1681 阅读 · 0 评论 -
NASM概述
WWW: http://www.drpaulcarter.com/pcasmmov dest src,mov 操作相当于高级语言中的分配操作。可能相当于int i =1之类的。mov操作不能对内存中的两个数进行操作,且被操作的两个数位数要相同,al和bh就不能被操作。下面是一些例子:mov eax, 3 ; store 3 into EAX register (3 is immediate op原创 2005-06-17 15:28:00 · 2711 阅读 · 0 评论 -
程序运行时的内存分配--静态的,栈式的,和堆式的
以下内容从http://www.21ds.net/article/Thinking_In_Java_dsbj__e__,155.html摘录按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(原创 2006-04-10 14:05:00 · 1261 阅读 · 0 评论