Win32汇编
文章平均质量分 76
TalosChen
这个作者很懒,什么都没留下…
展开
-
【转贴】80386ASM程序设计基础(十一)
主要介绍系统地址寄存器和控制寄存器以及在程序中实方式下与保护方式下的切换 80386处理器新增了一组控制寄存器CR0,CR1,CR2,CR3和一组系统地址寄存器GDTR,LDTR,IDTR,TR,它们全部都是32位的。CR0包含了指定处理器工作方式的控制位,CR1保留未使用,CR2和CR3由分页管理部件使用,CR0中的5~30位和CR3中的0~11位必须为0,分别介绍如下: _____转载 2005-02-27 20:10:00 · 653 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(七)
位操作指令,处理器控制指令 AA.位操作指令,8086新增的一组指令,包括位测试,位扫描。BT,BTC,BTR,BTS,BSF,BSR a.BT(Bit Test),位测试指令,指令格式: BT OPRD1,OPRD2,规则:操作作OPRD1可以是16位或32位的通用寄存器或者存储单元。操作数OPRD2必须是8位立即数或者是与OPRD1操作数长度相等的通用寄存器。如果用OPRD2除以OPRD1转载 2005-02-27 20:05:00 · 674 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(十)
主要介绍段描述符,段选择子 在保护模式下,段是实现虚拟地址到线性地址转换的基础。在保护方下,每个段有三个参数:段基址,段界限,段属性。段基址规定了线性地址空间中段的开始地址,段基址长度为32位,所以任何一个段都可以从32位线性地址空间中的任何一个字节开始,这一点和实式方式不同,实式方式下要求段的边界必须被16整除。段界限规定段的大小,段界限用20位表示,而且段界限可以是字节或4K为单位,这个称转载 2005-02-27 20:09:00 · 741 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(九)
虽然80386处理器要较以前的处理器的功能大大增强,但这些功能只能在保护模式下才能全部得到发挥。在实模式下最大寻址空间只有1M,但在保护模式最大寻址空间可达4G,可以访问到所有的物理内存。同时由于引入虚拟内存的概念,在程序设计中可使用的地址空间为64TB。80386处理器采用了可扩充的分段管理和可选的分页管理机制,这两个存储管理机制由MMU(Memory Management Unit)部件来实转载 2005-02-27 20:08:00 · 623 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(八)
80386实模式下编程 80386在实模式下是一个更快的8086,它不但可以进行32位操作,而且还可以进32位寻址,并且还可以使用80386的扩展指令。不过,由于是在实模下,寻址的最大空间为1M。在一个段内,段的最大长度不超过64K,否则就会发生异常。 在8086下定义一个段的完整格式是: 段名 [定位类型] [组合类型] [‘类别’] 80386下定义一个段的完整格式是: 段名 [定位类型]转载 2005-02-27 20:06:00 · 710 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(六)
高级语言支持,条件字节设置指令 AA.高级语言支持指令,开始于80186,主要是用来简化高级语言的某些特征,总共有3条指令:ENTER,LEAVE,BOUND a.ENTER,LEAVE,建立与释放堆栈框架命令。在C语言中,栈不仅用来向函数传递入口参数,而且在函数内部的局部变量也存放在栈中。为了准确地存取这些这些局变量和准确地获得入口参数,就需要建立堆栈框架,先看一个小程序: //C Pro转载 2005-02-27 20:04:00 · 637 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(五)
控制转移指令,串操作指令 80386控制转移指令包括:转移指令,循环指令,过程调用和返回指令。 A.转移指令包括无条件转移指令JMP和条件转移指令,无条件转移指令分为段内直接转移,段内间接转移,段间直接转移,段间间接转移。由于80386有保护模式和实模式,在实模式下,段内转移的范围在-128~127,段间转移最大范围为64K。在保护模式需要用48位指针,即CS:EIP(16位+32位)。条转载 2005-02-27 20:03:00 · 811 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(四)
算术运算指令,逻辑运算指令,移位指令 AA.算术运算指令 A.加减法运算ADD,ADC,INC,SUB,SBB,DEC,CMP,NEG a.ADD,和8086功能,用法相同,不过支持32位操作,下面的语句都是合法的。 ADD ESI,EDI ADD EAX,DWORD PTR [1000H] b.ADC,带进位的加法指令,即OPRDS+OPRDD+CF,其中O转载 2005-02-27 20:01:00 · 711 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(三)
在接下来的四篇里将介绍80386的汇编指令及用法,并和8086的指令进行比较。 80386的指令集包含了8086/8088,80186,80286的指令集,可以分为几个大类:数据传送指令,算术运算/逻辑运算指令,移位指令,控制转移指令,串操作指令,高级语言支持的指令,条件字节设置指令,位操作指令,处理器控制指令和保护方式指令。高级语言支持指令始于80186,保护方式指令始于80286,条转载 2005-02-27 20:00:00 · 773 阅读 · 0 评论 -
【转贴】80386ASM程序设计基础(二)
80386处理器的寻址方式 在实式模式下,80386处理器的最大寻址空间仍然为1M,和8086/8088相似。即段地址*10H+段内偏移地址,从而形成20位地址。此种模式下,段基址是16的倍数,长度最大不超过64K。 在保护模式下,80386处理器可以使用所有的物理内存。段基址可以是32位,也可以不是16的倍数,同时它的最大长度为4G,这与8086完全不同,在形成逻辑地址时用段基址直接转载 2005-02-27 19:58:00 · 670 阅读 · 0 评论 -
Windows 95 Boot Sector
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;; Description: Heroic attempt to disassemble the Windows 95 Boot Sector.; Date: 16. Aug. 1998; Author: Mr.原创 2005-03-26 10:52:00 · 1123 阅读 · 0 评论