
D.汇编语言(Nasm/GAS)
文章平均质量分 81
do2jiang
http://www.mythroad.net/modou
展开
-
对比 GNU Assembler(GAS)和 Netwide Assembler(NASM)
本文解释两种最流行的 Linux 汇编器 —— GNU Assembler(GAS)和 Netwide Assembler(NASM) —— 之间一些比较重要的语法差异和语义差异,包括基本语法、变量和内存访问、宏处理、函数和外部例程、堆栈处理以及重复执行代码块的技术方面的差异。与其他语言不同,汇编语言要求开发人员了解编程所用机器的处理器体系结构。汇编程序不可移植,维护和理解常原创 2009-11-28 23:46:00 · 3612 阅读 · 0 评论 -
qqCPUID 的一个汇编实例
使用 CPUID 查看 CPUID 生成的厂商 ID 字符串,目的是了解汇编程序编写的基本框架,编译,连接,调试。原创 2010-09-04 15:46:00 · 1817 阅读 · 0 评论 -
“魔数”的来由
<br /> ELF魔数 我们可以从前面readelf的输出看到,最前面的“Magic”的16个字节刚好对应“Elf32_Ehdr”的e_ident这个成员。这16个字节被ELF标准规定用来标识ELF文件的平台属性,比如这个ELF字长(32位/64位)、字节序、ELF文件版本,如图3-5所示。 <br /><br /><br /> 最开始的4个字节是所有ELF文件都必须相同的标识码,分别为0x7F、0x45、0x4c、0x46,第一个字节对应ASCII字符里面的DEL控制符,后面3个字节刚好是E原创 2010-08-11 21:58:00 · 3925 阅读 · 0 评论 -
X86汇编语言学习手记(2)
X86汇编语言学习手记(2) 作者: Badcoffee Email: blog.oliver@gmail.com 2004年11月 原文出处: http://blog.youkuaiyun.com/yayong 版权所有: 转载时请务必以超链接形式标明文章原始出处、作者信息及本声明 这是作者在学习X86汇编过程中的学习笔记,难免有错误和疏漏之处,欢迎指正。作者将随时修改错误并将新的版本发布在转载 2010-03-22 17:19:00 · 1281 阅读 · 0 评论 -
X86汇编语言学习手记(1)
X86汇编语言学习手记(1)作者: BadcoffeeEmail: blog.oliver@gmail.com2004年10月原文出处: http://blog.youkuaiyun.com/yayong版权所有: 转载时请务必以超链接形式标明文章原始出处、作者信息及本声明这是作者在学习X86汇编过程中的学习笔记,难免有错误和疏漏之处,欢迎指正。作者将随时修改错误并将新的版本发布在自己的Blog站点上。严格说转载 2010-03-22 17:16:00 · 1462 阅读 · 0 评论 -
汇编指令: JO、JNO、JB、JNB、JE、JNE、JBE、JA、JS、JNS、JP、JNP、JL、JNL、JNG、JG、JCXZ、JECXZ、JMP、JMPE
名称 功能 操作数操作码模数寄存器1寄存器2或内存位移量立即数符号方向芯片型号16位32位JO溢出跳转短$70无无无无10无无8086无无JNO不溢出跳转短$71无无无无10无无8086无转载 2010-01-27 16:40:00 · 33605 阅读 · 2 评论 -
8086 汇编指令速查手册
一、数据传输指令 ─────────────────────────────────────── 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUS原创 2009-11-30 15:25:00 · 1186 阅读 · 0 评论 -
Linux Assembly "Hello World" Tutorial, CS 200
by Bjorn Chambless IntroductionThe following is designed familiarize the reader with programming in x86 (AT&Tstyle, that produced by gcc) assembly under Linux and how to interface ass转载 2009-11-30 14:43:00 · 1278 阅读 · 0 评论 -
Linux 汇编语言(GNU GAS汇编)开发指南
汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux 是一个用 C语言开发的操作系统,这使得很多程序员开始忘记在 Linux 中还可以直接使用汇编这一底层语言来优化程序的性能。本文为那些在Linux平台上编写汇编代码的程序员提供指南,介绍 Linux 汇编语言的语法格式和开发工具,并辅以具体的例子讲述如何开发实用的Linux 汇编程序。原创 2009-11-29 00:24:00 · 1895 阅读 · 0 评论 -
x86寄存器说明
ebp和esp是32位的SP,BP esp是堆栈指针 ebp是基址指针 ESP与SP的关系就象AX与AL,AH的关系. 32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)原创 2009-11-29 00:30:00 · 1065 阅读 · 0 评论 -
解答 LEA指令的疑惑
问题:LEA指令不是取地址的吗?为什么最后ECX=0x30,可以用来存储立即数?那这样为什么不直接用mov ecx,0x30呢?这样用LEA指令有什么含义?答案:1. mov ecx,[eax+0x30]表示先运算eax+0x30得到一个结果,以这个结果为地址找一个ecx长原创 2011-07-16 15:52:46 · 2164 阅读 · 0 评论