汇编
文章平均质量分 61
hitop0609
一个有梦想每天也努力但没有收获,每天写程序但不是程序员,工作于软件开发无关的年轻人!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
实模式->保护模式->实模式 的切换步骤
实模式->保护模式->实模式 的切换步骤1、设置必要的实模式环境,如实模式下的堆栈等。 2、初始化全局描述符表(GDT)、局布描述符表(LDT)及中断描述符表(IDT)等。 3、保存实模式下的堆栈地址到某内存处,以便切换回实模式后恢复,如有必要也可保存DS、ES、FS、GS等数据段寄存器的值。 4、加载全局描述符表至全局描述符表寄存器(GDTR),如果未定义中断描述符表,则关中断,然后打开地址原创 2009-09-07 12:55:00 · 1471 阅读 · 0 评论 -
扩展int 13H/调用规范 /大硬盘读写中断/FAT NTFS文件结构
<br />第一部分 简 介<br />一. 硬盘结构简介<br />1. 硬盘参数释疑<br />到目前为止,人们常说的硬盘参数还是古老的 CHS (Cylinder/Head/Sector)参数。那么为什么要使用这些参数,它们的意义是什么?它们的取值范围是什么?<br />很久以前(long long ago ...),硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘。也就是硬盘盘片的每一条磁道都具有相同的扇区数。由此产生了所谓的3D参数 (Disk Geometry)。即磁头数(Heads)转载 2011-04-14 21:05:00 · 1886 阅读 · 0 评论 -
BIOS中断大全:“INT 10H ~ INT 1AH”
BIOS中断:<br />1、显示服务(Video Service——INT 10H)<br />00H —设置显示器模式<br />01H —设置光标形状<br />02H —设置光标位置<br />03H —读取光标信息<br />04H —读取光笔位置<br />05H —设置显示页<br />06H、07H —初始化或滚屏<br />08H —读光标处的字符及其属性<br />09H —在光标处按指定属性显示字符<br />0AH —在当前光标处显示字符<br />0BH —设置调色板、背景色或边框转载 2011-04-14 21:03:00 · 277 阅读 · 0 评论 -
没有钱了
<br /> 从今天开始,慢慢的一步一步的深入学习研究汇编语言和C语言,说不定也能干出一件大事来,只是时间上的问题了,呵呵!祝福自己!<br /><br /><br /> 会当击水三千里,自信人生三百年!原创 2010-09-09 13:08:00 · 156 阅读 · 0 评论 -
实模式与保护模式切换实例
演示实模式和保护模式切换的实例(实例一)实例一的逻辑功能是,以十六进制数的形式显示从内存地址110000H开始的256个字节的值。本实例指定该内存区域的目的仅仅是想说明切换到保护模式的必要性,因为在实模式下不能访问该指定内存区域,只有在保护模式下才能访问到该指定区域。 本实例的具体实现步骤是:(1)作切换到保护方式的准备;(2)切换到保护方式;(3)把指定内存区域的内容传送到位于常规内存的转载 2009-09-22 22:14:00 · 400 阅读 · 0 评论 -
实模式和保护模式
x86系列最早的16位处理器8086采用的是实模式寻址:尽管8086有20位地址总线,能寻址1M地址空间,不过他只有16位运算能力(指令能处理的最长数据是16位),所以逻辑地址就被拆成了两部分:一个段基址(16bit,存放在相应的段寄存器中,对应地址总线的高16位)和段内偏移(16bit,指令中,对应低16位)。每次访问内存时,CPU内部会用硬件加法器两者相加(指令中的地址的高12bit加到基址1转载 2009-09-22 22:14:00 · 445 阅读 · 0 评论 -
什么是实模式、保护模式和虚拟8086方式
1:实模式:寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB。可以使用32位指令。32位的x86 CPU用做高速的8086。2:保护模式:寻址采用32位段和偏移量,最大寻址空间4GB,最大分段4GB (Pentium Pre及以后为64GB)。在保护模式下CPU可以进入虚拟8086方式,这是在保护模式下的实模式程序运行环境。 第一:实模式下程序的运行回顾. 程序运转载 2009-09-22 22:13:00 · 577 阅读 · 0 评论 -
第七章: 编写16位代码 (DOS, Windows 3/3.1)
本章将介绍一些在编写运行在MS-DOS和Windows 3.x下的16位代码的时候需要用到的一些常见的知识.涵兽了如果连接程序以生成.exe或.com文件,如果编写.sys设备驱动程序,以及16位的汇编语言代码与C编译器和Borland Pascal编译器之间的编程接口. 7.1 产生.EXE文件. DOS下的任何大的程序都必须被构建成.EXE文件,因为只有.EXE文转载 2009-07-07 22:29:00 · 934 阅读 · 0 评论 -
第五章: 汇编器指令
尽管NASM极力避免MASN和TASM中的那些庸肿复杂的东西,但还是不得不支持少量的指令,这些指令在本章进行描述。NASM的指令有两种类型:用户级指令和原始指令。一般地,每一条指令都有一个用户级形式和原始形式。在大多数情况下,我们推荐用户使用有户级指令,它们以宏的形式运行,并去调用原始形式的指令。原始指令被包含在一个方括号中;用户级指令没有括号。除了本章所描述的这些通用的指令,每一种目转载 2009-07-07 22:23:00 · 1442 阅读 · 0 评论 -
第八章: 编写32位代码(Unix, Win32, DJGPP)
本章主要介绍在编写运行在Win32或Unix下的32位代码,或与Unix风格的编译器, 比如DJGPP连接的代码时,通常会碰到的一些问题。这里包括如何编写与32位C 函数连接的汇编代码,如何为共享库编写地址无关的代码。 几乎所有的32位代码,即在实际使用中的所有运行在Win32,DJGPP和所有PC Unix变体都运行 在_flat_内存模式下。转载 2009-07-07 22:35:00 · 1047 阅读 · 0 评论 -
第六章: 输出文件的格式
NASM是一个可移植的汇编器,它被设计为可以在任何ANSI C编译器支持的平台上被编译,并可以产生在各种intel x86系例的操作系统上运行的代码。为了做到这一点,它拥有大量的可用的输出文件格式,使用命令行上的选项-f可以选择。每一种格式对于NASM的语法都有一定的扩展,关于这部分内容,本章将详细介绍。就象在2.1.1中所描述的,NASM基于输入文件的名字和你选择的输出文件的格式为你的输转载 2009-07-07 22:25:00 · 1071 阅读 · 0 评论 -
第三章 NASM语言
3.1 NASM源程序行的组成。 就像很多其他的汇编器,每一行NASM源代码包含(除非它是一个宏,一个预处理操作符,或一个汇编器操作符,参况第4,5章)下面四个部分的全部或某几个部分:label: instruction operands ; comment通常,这些域的大部分是可选的;label,instruction,comment存在或不存在都是允许的。当然,op原创 2009-07-07 22:09:00 · 1997 阅读 · 0 评论 -
Nasm中文手册
--------------------------------------------------------------------------------第一章: 简介----------------------- 1.1 什么是NASM NASM是一个为可移植性与模块化而设计的一个80x86的汇编器。它支持相当多 的目标文件格式,包括Linux和NetBSD原创 2009-07-07 22:02:00 · 247 阅读 · 0 评论 -
实模式、保护模式、长模式
内存地址 实模式2的10次方是1K,20次方就是1M。如果一个变量只有16 bit,(即只有16个表示二进制的位),那么只能表示 2的16次方种情况。如果一个变量只有1 bit,那么只能表示两种情况,即0和1。 要表示地址(十进制)1234,(对应的十六进制为:4D2)只要12 bit就可以了。要表示12345678 这个地址,(BC614E)需要 24 bit。在实模式下,转载 2009-09-07 13:00:00 · 2137 阅读 · 1 评论 -
征服汇编语言第一招
mov原创 2011-12-11 15:44:32 · 201 阅读 · 0 评论
分享