随笔分类 -  汇编语言学习笔记

摘要:1:sub dst,srccf=1表示无符号数减法发生溢出OF=1表示有符号减法发生溢出(一个正数减去一个负数却得到一个负数,一个负数减去一个正数却得到一个正数)2:DEC DST目的操作数减1,不置标志位,速度快3:SBB DST,SRC两个操作数相减再减去CF标志位SBB多用于多位数的减法两个64位数相减要先把两个64位数拆成4个32位数再进行如下操作mov eax,low1mov edx,h... 阅读全文
posted @ 2010-01-26 20:23 liulun 阅读(11898) 评论(0) 推荐(0) 编辑
摘要:1.add dst,srcdst不能是立即数dst和src不能同时采用内存操作数可用于有符号和无符号的加法运算CF=1说明无符号数加法运算有溢出,最高位有进位OF=1说明有符号数加法运算有溢出,两个正数相加结果却是负数,或两个负数相加结果却是正数2.inc dst目的操作数加1,不设置CF标志位速度快3.adc dst,src两个操作数做加法,在加上CF的值两个加数都为64位的时候会用到此指令要先... 阅读全文
posted @ 2010-01-25 21:00 liulun 阅读(1787) 评论(0) 推荐(0) 编辑
摘要:1.mov如:mov eax,20 ;把立即数20送入通用寄存器mov edi,esi ;寄存器之间传递数据mov dVar,20 ;把20送入内存操作数(变量)mov WORD PTR [EBX],20 ;传送字到EBX指向的地址mov [ebx],DWORD PTR [ESI] ;错误指令,两个操作数不能都是内存操作数,可改为两条指令完成这个需求mov ds,0023h ;错误指令,立即数不能... 阅读全文
posted @ 2010-01-21 20:57 liulun 阅读(1646) 评论(0) 推荐(0) 编辑
摘要:32位CPU一般包括如下寄存器1.通用寄存器8个32位寄存器EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP8个16位寄存器AX,BX,CX,DX,SI,DI,BP,SP8个8位寄存器AH,AL,BH,BL,CH,CL,DH,DL2.段寄存器6个16位段寄存器SS,CS,DS,ES,FS,GS注意只能对CS寄存器做读取操作 阅读全文
posted @ 2010-01-21 20:08 liulun 阅读(307) 评论(0) 推荐(0) 编辑
摘要:类型  助记符简写字节数范围字节BYTEDB10~255字WORDDW20~65535双字  DWORD  DD  4  0~4294967295远字  FWORD  DF  6    四字  QWORD  DQ  8    十字  TBYTE  DT  10    有符号字节  SBYTE    1  -128~127有符号字  SWORD    2 -32768~32767有符号双字  SDW... 阅读全文
posted @ 2010-01-20 21:19 liulun 阅读(359) 评论(0) 推荐(0) 编辑
摘要:1立即寻址在指令中使用的操作数为常数如:mov eax,190;与mov eax,00BEH相同,低字节在前smov eax,0FFFFFFFFH;与 mov eax,-1相同eax可以存放一个双字2寄存器寻址操作数已经在CPU的寄存器中如:mov EAX,EBX3直接寻址操作数为一个已经定义好的变量如:mov eax,dvar;dvar为一个双字变量mov dvar,eax在翻译成及其指令后,以... 阅读全文
posted @ 2010-01-18 21:32 liulun 阅读(685) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--.386.model flat,stdcall;内存平坦,参数传递约定option casemap:none;大小写敏感;;;;;;引用一些必要的数据include D:\masm32\include... 阅读全文
posted @ 2010-01-18 12:59 liulun 阅读(411) 评论(1) 推荐(0) 编辑
摘要:先做菜单的资源文件,代码如下代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#define IDM_TEST 1 #define IDM_HELLO 2 #define IDM_GOODBYE 3 #define IDM_EXIT 4 FirstM... 阅读全文
posted @ 2010-01-17 16:35 liulun 阅读(367) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--.386.model flat,stdcall;内存平坦,参数传递约定option casemap:none;大小写敏感;;;;;;引用一些必要的数据include D:\masm32\include... 阅读全文
posted @ 2010-01-16 16:55 liulun 阅读(393) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--.386.model flat,stdcall;内存平坦,参数传递约定option casemap:none;大小写敏感;;;;;;引用一些必要的数据include D:\masm32\include... 阅读全文
posted @ 2010-01-16 16:54 liulun 阅读(374) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--.386.model flat,stdcall;内存平坦,参数传递约定option casemap:none;大小写敏感;;;;;;引用一些必要的数据include D:\masm32\include... 阅读全文
posted @ 2010-01-16 16:52 liulun 阅读(301) 评论(0) 推荐(0) 编辑
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--.386.model flat,stdcall;内存平坦,参数传递约定option casemap:none;大小写敏感;;;;;;引用一些必要的数据include D:\masm32\include... 阅读全文
posted @ 2010-01-16 16:49 liulun 阅读(467) 评论(0) 推荐(0) 编辑
摘要:1如果你不熟悉开发环境的搭建请看此文:http://www.cnblogs.com/liulun/archive/2009/12/26/1632985.html2如果你看了此文的所有注释仍看不懂,请暂且不要再看本系列的其他文章了,先学学WINDOWS API的相关知识吧3以上代码摘自一个汇编语言全接触的CHM 是一个名叫Lxx的前辈翻译的4希望得到大家的支持 .386.model flat,std... 阅读全文
posted @ 2010-01-05 16:22 liulun 阅读(782) 评论(3) 推荐(1) 编辑
摘要:我用的IDE是masm32官方网站是:http://www.masm32.com/下载的地址是:http://www.masm32au.com/masm32/m32v10r.zip(这个包适合中国人开发For programmers in Australia, China, South East Asia and the Pacific region.)hello world的汇编代码如下代码Co... 阅读全文
posted @ 2009-12-26 21:16 liulun 阅读(1085) 评论(2) 推荐(0) 编辑