code2012

加油,坚持,努力,自信
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  汇编

摘要:Linux 汇编语言开发指南肖文鹏 (xiaowp@263.net), 北京理工大学计算机系硕士研究生本文作者 肖文鹏是北京理工大学计算机系的一名硕士研究生,主要从事操作系统和分布式计算环境的研究,喜爱Linux和Python。你可以通过 xiaowp@263.net与他取得联系。 简介:汇编语言的优点是速度快,可以直接对硬件进行操作,这对诸如图形处理等关键应用是非常重要的。Linux 是一个用 C 语言开发的操作系统,这使得很多程序员开始忘记在 Linux 中还可以直接使用汇编这一底层语言来优化程序的性能。本文为那些在Linux 平台上编写汇编代码的程序员提供指南,介绍 Linux 汇编语言 阅读全文

posted @ 2011-06-11 00:54 code2012 阅读(365) 评论(0) 推荐(0) 编辑

摘要:1.笔记:CPL遇到一致代码段时,情况稍稍有点特殊,一致代码段可以被相同的或者更低特权级的代码访问ret分两种: retn 和retfretn是近返回,用于段内返回,它返回到堆栈内保存的本段内的偏移地址retf是远返回,一般用于段间返回,它返回堆栈内保存的段地址:偏移地址————————————————————————————————————————————-From:http://www.cnblogs.com/wanghj-dz/archive/2011/04/24/2026174.htmlretf,call 指令运行的详细情况call指令的运行情况:(代码段只能从低到高如:ring3到r 阅读全文

posted @ 2011-05-31 15:33 code2012 阅读(441) 评论(0) 推荐(0) 编辑

摘要:汇编指令: LGDT、LIDT、LLDT、LMSW、LOADALL、LOADALL286、LOCK、LODSB、LODSW、LODSD FROM:http://hi.baidu.com/formerdays/blog/item/76aa90606464f743ebf8f88a.html 名称 功能 操作数 操作码 模数 寄存器1 寄存器2 或内存 位移量 立即数 符号 方向 芯片 型号 16位 32位 LGDT加载全局描述符[寄16]$0F01000105无无无无286无$67LGDT加载全局描述符[寄32]$0F01000105无无无无286$67无LGDT加载全局描述符[寄16+位移8]. 阅读全文

posted @ 2011-05-29 15:11 code2012 阅读(5879) 评论(0) 推荐(0) 编辑

摘要:位运算 在很多系统程序中常要求在位(bit)一级进行运算或处理。C语言提供了位运算的功能, 这使得C语言也能像汇编语言一样用来编写系统程序。 一、位运算符C语言提供了六种位运算符: & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二 阅读全文

posted @ 2011-05-26 16:04 code2012 阅读(1877) 评论(0) 推荐(0) 编辑

摘要:汇编指令集合大全 收藏 一:数据传输指令 ─────────────────────────────────────── 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈. PUSHAD 把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈. POPAD 阅读全文

posted @ 2011-05-24 15:49 code2012 阅读(1026) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示