cay22的专栏

让一切都有记录;让一切都能分析;让程序像人一样思考.

原码, 补码, 反码

(1)原码表示法     原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用1表示负号,数值一般用二进制形式表示。 设有一数为x,则原码表示可记作[x]原。 例如, X1 = +1010110 X2 = -1001010 其原码记作:  [X1]原 =[+1010110]原...

2012-04-12 21:52:35

阅读数 717

评论数 0

汇编的寻址方式

指令操作数的寻址方式 一些概念   DISP/16位:AX(累加器),BX(基侄寄存器),CX(计数器),DX(数据与地址寄存器),SP(堆栈指针),BP(基址指针),SI(源变址器),DI(目的变址器)   DISP/8位:AH(高8位),AL(低8位),BH,BL,CH,CL.DH,DL...

2012-04-06 12:59:32

阅读数 846

评论数 0

汇编字符串处理指令 三

http://bdxnote.blog.163.com/blog/static/8444235201062084132551/   字符串操作指令的实质是对一片连续的存储单元进行处理,这片连续的存储单元由隐含指针DS:SI或ES:DI来指定;字符串操作指令可对内存单元按照字节、字、双字进行处理...

2012-04-05 20:43:56

阅读数 1884

评论数 0

汇编字符串处理指令 二

http://zzc1684.iteye.com/blog/1297417 这里的 "串" 并不单指字符串, 包括所有连续的数据(如数组); 串指令只用于内存操作. -----------------------------------------------------...

2012-04-05 20:27:25

阅读数 1097

评论数 0

汇编字符串处理指令 一

http://www.cnblogs.com/JCSU/articles/2137802.html 一、字符串处理指令 (1) lodsb、lodsw:把DS:SI指向的存储单元中的数据装入AL或AX,然后根据DF标志增减SI(CLD递增, STD递减) (2) stosb、stosw:把A...

2012-04-05 20:13:24

阅读数 1785

评论数 0

汇编的Enter, leave, return 指令

enter的用法: enter   8, 3                   ;就是申请8个存储单元(在堆栈中),特权为3 http://www.cnblogs.com/keepfocus/archive/2011/09/15/2176925.html 1. enter等价于: p...

2012-03-21 13:08:02

阅读数 3955

评论数 0

Call指令与ret指令

一. call指令段内转移 CPU执行call指令时,进行两步操作: 1、将当前的IP或CS和IP压入栈中; 2、转移; call指令不能实现短转移。 与jmp指令实现转移的原理相同。 格式: call 标号 (把当前IP压栈后, 转到标号处执行指令) a. (SP) = (SP...

2012-03-20 13:15:40

阅读数 3111

评论数 0

SS, SP, BP 三个寄存器

SS, SP, BP 三个寄存器 SS:存放栈的段地址; SP:堆栈寄存器SP(stack pointer)存放栈的偏移地址; BP: 基数指针寄存器BP(base pointer)是一个寄存器,它的用途有点特殊,是和堆栈指针SP联合使用的,作为SP校准使用的,只有在寻找堆栈里的数据和使...

2012-03-19 20:27:11

阅读数 15712

评论数 1

8086CPU的栈操作和PUSH与POP

一. 栈的执行过程下图: 该图注意如下: 1. 任意时刻, SS:SP指向栈顶元素 SS:存放栈的段地址; SP:存放栈的偏移地址; 2. 栈底的地址大. 3. 栈是空的是什么意思? 例如: 将10000H----1000FH这段空间当作栈, 初始状态栈是空的,  此时, SS=...

2012-03-19 19:46:28

阅读数 4794

评论数 0

罗云彬win32汇编教程笔记 子函数的声明, 定义与调用

在主程序中用call指令来调用子程序。 Win32汇编中的子程序也采用堆栈来传递参数,这样就可以用invoke伪指令来进行调用和语法检查工作。 一. 子程序的定义 子程序的定义方式如下所示。 子程序名  proc [距离][语言类型][可视区域][USES 寄存器列表][,参数:类型...

2012-03-16 11:56:51

阅读数 3522

评论数 0

汇编lea 指令与 mov 指令

http://www.cnitblog.com/textbox/articles/51912.html 比如你用local在栈上定义了一个局部变量LocalVar,你知道实际的指令是什么么?一般都差不多像下面的样子:     push   ebp     mov   esp,   ebp...

2012-03-12 21:22:54

阅读数 3731

评论数 0

Win32汇编的 PTR, OFFSET, ADDR

http://tech.ddvip.com/2010-04/1270705496150170.html PTR: 指定要操作的数据尺寸 OFFSET: 获取全局变量或标号的偏移地址 ADDR: 类似 offset 也是获取变量的地址(局部变量的地址只能用ADDR来获取)   PTR: 指...

2012-03-12 20:18:45

阅读数 1575

评论数 0

X86汇编 伪指令

在汇编语言源程序中,包含两种指令,一种是汇编指令,一种是伪指令。 汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU 所执行。而伪指令没有对应的机器指令,最终不被CPU所执行, 它只是用来告诉编译器进行相关的编译工作。 看下面代码: assume cs:codesg ...

2012-02-07 21:43:35

阅读数 1764

评论数 0

Debug常用指令

R ---- 查看 改变CPU寄存器内容 D ---- 查看内存中的内容 E ---- 改写内存中的内容 U ---- 将内存中机器指令翻译汇编指令 T ---- 执行一条机器指令 A ---- 以汇编指令格式写入一条机器指令   1 r 查看、修改寄存器内容   r 寄存器名/...

2012-02-07 21:09:36

阅读数 665

评论数 0

masm.exe 与 link.exe 的参数

下面介绍宏汇编译器MASM5.0的使用:   命令格式:MASM [/options] [source(.asm)],[out(.obj)],[list(.list)],[cref(.cfr)][;]    /options: 可选的命令,由“/”引导,利用命令“MSAM /HELP”...

2012-01-11 20:41:55

阅读数 4637

评论数 0

把某个PE文件里的DOS Stub程序分离出来

http://hi.baidu.com/sageking2/blog/item/c653a23dfe2bfae73c6d9715.html 把某个PE文件里的DOS Stub程序分离出来 正常PE文件格式会有一个Dos Stub块,事实上就是一个DOS下的*.exe程序。 当我们拿一个Win...

2012-01-11 15:31:57

阅读数 1696

评论数 0

VC中改变PE文件中Dos Stub程序(显示This program cannot be run in DOS mode)那一段程序.

VC中改变PE文件中Dos Stub程序(显示This program cannot be run in DOS mode)那一段程序. 1. 先做一个纯DOS下的dos16.exe, (masm5.0编译连接) 2. 然后做一个window下的win32.exe (VC6.0编译连接) ...

2012-01-11 14:53:10

阅读数 5937

评论数 0

X86 汇编编译连接的简单步骤

1. 环境配置如下:  http://blog.csdn.net/cay22/article/details/7192703   2. 编写代码保存(例如: C:\AsmCode\hello.asm) DATAS  SEGMENT      STRING  DB  13,10,'Hell...

2012-01-11 10:26:47

阅读数 1282

评论数 0

X86汇编在windows上的环境配置

对于X86汇编的其实也没什么环境配置, 就是使用masm.exe了 直接下载 masm5.0 解压 配置环境变量(方便cmd使用)就是了.  http://download.csdn.net/detail/cay22/4014341   现在有masm6.11 没试过 下载地址如下: ...

2012-01-11 09:54:01

阅读数 1742

评论数 0

Win32汇编中资源的创建与编辑

很简单, 就是用VC6 中 File | New | File | Resource Script 按步骤来, 创建后VC将生成rc文件 并自动生成 resource.h 另外,用Visual C++生成的.rc文件总是包含了很多VC自己的头文件,如果将它们去掉,下次就无法再用VC打开;如...

2011-11-08 21:24:13

阅读数 870

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭