汇编指令(chm格式)
8088 汇编速查手册
一、数据传输指令
───────────────────────────────────────
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.
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 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.
BSWAP 交换32位寄存器里字节的顺序
XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)
CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )
XADD 先交换再累加.( 结果在第一个操作数里 )
XLAT 字节查表转换.
── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即
0-FFH); 返回 AL 为查表结果. ( [BX+AL]->AL )
2. 输入输出端口传送指令.
IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )
OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )
输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,
其范围是 0-65535.
3. 目的地址传送指令.
LEA 装入有效地址.
例: LEA DX,string ;把偏移地址存到DX.
LDS 传送目标指针,把指针内容装入DS.
例: LDS SI,string ;把段地址:偏移地址存到DS:SI.
LES 传送目标指针,把指针内容装入ES.
例: LES DI,string ;把段地址:偏移地址存到ES:DI.
LFS 传送目标指针,把指针内容装入FS.
例: LFS DI,string ;把段地址:偏移地址存到FS:DI.
LGS 传送目标指针,把指针内容装入GS.
例: LGS DI,string ;把段地址:偏移地址存到GS:DI.
LSS 传送目标指针,把指针内容装入SS.
例: LSS DI,string ;把段地址:偏移地址存到SS:DI.
4. 标志传送指令.
LAHF 标志寄存器传送,把标志装入AH.
SAHF 标志寄存器传送,把AH内容装入标志寄存器.
PUSHF 标志入栈.
POPF 标志出栈.
PUSHD 32位标志入栈.
POPD 32位标志出栈.
二、算术运算指令
───────────────────────────────────────
ADD 加法.
ADC 带进位加法.
INC 加 1.
AAA 加法的ASCII码调整.
DAA 加法的十进制调整.
SUB 减法.
SBB 带借位减法.
DEC 减 1.
NEC 求反(以 0 减之).
CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).
AAS 减法的ASCII码调整.
DAS 减法的十进制调整.
MUL 无符号乘法.
IMUL 整数乘法.
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
AAM 乘法的ASCII码调整.
DIV 无符号除法.
IDIV 整数除法.
以上两条,结果回送:
商回送AL,余数回送AH, (字节运算);
或 商回送AX,余数回送DX, (字运算).
AAD 除法的ASCII码调整.
CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)
CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)
CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去)
CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)
三、逻辑运算指令
───────────────────────────────────────
AND 与运算.
OR 或运算.
XOR 异或运算.
NOT 取反.
TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).
SHL 逻辑左移.
SAL 算术左移.(=SHL)
SHR 逻辑右移.
SAR 算术右移.(=SHR)
ROL 循环左移.
ROR 循环右移.
RCL 通过进位的循环左移.
RCR 通过进位的循环右移.
以上八种移位指令,其移位次数可达255次.
移位一次时, 可直接用操作码. 如 SHL AX,1.
移位>1次时, 则由寄存器CL给出移位次数.
如 MOV CL,04
SHL AX,CL
四、串指令
───────────────────────────────────────
DS:SI 源串段寄存器 :源串变址.
ES:DI 目标串段寄存器:目标串变址.
CX 重复次数计数器.
AL/AX 扫描值.
D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量.
Z标志 用来控制扫描或比较操作的结束.
MOVS 串传送.
( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. )
CMPS 串比较.
( CMPSB 比较字符. CMPSW 比较字. )
SCAS 串扫描.
把AL或AX的内容与目标串作比较,比较结果反映在标志位.
LODS 装入串.
把源串中的元素(字或字节)逐一装入AL或AX中.
( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )
STOS 保存串.
是LODS的逆过程.
REP 当CX/ECX0时重复.
REPE/REPZ 当ZF=1或比较结果相等,且CX/ECX0时重复.
REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX0时重复.
REPC 当CF=1且CX/ECX0时重复.
REPNC 当CF=0且CX/ECX0时重复.
五、程序转移指令
───────────────────────────────────────
1>无条件转移指令 (长转移)
JMP 无条件转移指令
CALL 过程调用
RET/RETF过程返回.
2>条件转移指令 (短转移,-128到+127的距离内)
( 当且仅当(SF XOR OF)=1时,OP1循环控制指令(短转移)
LOOP CX不为零时循环.
LOOPE/LOOPZ CX不为零且标志Z=1时循环.
LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.
JCXZ CX为零时转移.
JECXZ ECX为零时转移.
4>中断指令
INT 中断指令
INTO 溢出中断
IRET 中断返回
5>处理器控制指令
HLT 处理器暂停, 直到出现中断或复位信号才继续.
WAIT 当芯片引线TEST为高电平时使CPU进入等待状态.
ESC 转换到外处理器.
LOCK 封锁总线.
NOP 空操作.
STC 置进位标志位.
CLC 清进位标志位.
CMC 进位标志取反.
STD 置方向标志位.
CLD 清方向标志位.
STI 置中断允许位.
CLI 清中断允许位.
六、伪指令
───────────────────────────────────────
DW 定义字(2字节).
PROC 定义过程.
ENDP 过程结束.
SEGMENT 定义段.
ASSUME 建立段寄存器寻址.
ENDS 段结束.
END 程序结束.
补丁技术(cektop)
基本都是用汇编语言写补丁,内存补丁
有兴趣的可以下载chm格式
VC基础篇(chm格式)
1.C语言和Visual c++6.0的简介
http://dx.3800hk.com/donghua/b/27675.html
2.常量变量及数据结构
http://www.hackfans.com.cn/html/bbsvip/huiyuanjiaocheng/Cxiliejiaocheng/20090407/56154.html
黑防Vp - 汇编程序全接触(fasm)
汇编程序全接触1
http://www.namipan.com/d/%e6%b1%87%e7%bc%96%e7%a8%8b%e5%ba%8f%e5%85%a8%e6%8e%a5%e8%a7%a61.rar/99920c542ab2cb5b9f1d9fb7e56c548d9981b3b12ba15602
汇编程序全接触2
http://www.namipan.com/d/%e6%b1%87%e7%bc%96%e7%a8%8b%e5%ba%8f%e5%85%a8%e6%8e%a5%e8%a7%a62.rar/de4bab0f4024dde2cd6705f412b83e91971d06cd5dae1a01
杀毒软件安装和配置.chm
用于免杀
卡巴斯基
瑞星
金山
江民
自己做的,要的就下载
VC++类型转换整理(PDF格式)
1、CString to char*
经过类型强制转换,可以将CString类型转换成char*,例如:
CString cStr = "Hello,world!";
char* zStr = (char*)(LPCTSTR)cStr;
2、char* to CString
char*类型可以直接给CString,完成自动转换,例如:
char* zStr = "Hello,world!";
CString cStr = zStr;
3、CString to LPCSTR
将CString转换成LPCSTR,需要获得CString的长度,例如:
CString cStr = _T("Hello,world!");
int nLen = cStr.GetLength();
LPCSTR lpszBuf = cStr.GetBuffer(nLen);
4、CString to LPSTR
这个和第3个技巧是一样的,例如:
CString cStr = _T("Hello,world!");
int nLen = str.GetLength();
LPSTR lpszBuf = str.GetBuffer(nLen);
5、Char[] to int
将字符串类型转换成整数型,可以使用atoi函数,例如:
char c[10];
int n;
n = atoi(c);
6、Char[] to float
和第5个技巧一样,使用atof()函数可以转换成float型,例如:
char c[10];
float f;
f = atof(c);
7、Char* to int
和第5个技巧完全一样,例如:
char *str = "100";
int i;
i = atoi(str);
脱壳入门初级教学(CHM格式)
第一课 PE格式
第二课 SEH技术
第三课 认识壳
第四课 常见压缩壳与加密壳
第五课 文件类型分析
第六课 寻找OEP
第七课 Dump内存映像
第八课 重建输入表
第九课 手动确定IAT的地址与大小
第十课 DLL文件脱壳
第十一课 优化与自校验去除
银河破解班培训课程(Chm格式)
银河破解班培训课程
破解培训教程(第一课)
壳的介绍(一)
http://down.yhsafe.com/MST/破解班/200808241356.rar
感谢 [M.S.T]小雄 提供
破解培训教程(第二课)
壳的介绍(二)
http://down.yhsafe.com/MST/破解班/200808241357.rar
破解培训教程(第三课)
壳的介绍(三)
http://down.yhsafe.com/MST/破解班/200808241354.rar
破解培训教程(第四课)
壳的介绍(四)
http://down.yhsafe.com/mst/破解班/200808242104.rar
70 C++(汇编和C++教程)
汇编和C++教程
·数据传送类指令;
·算术运算类指令;
·逻辑运算类指令
·控制程序转移类指令;
·位(布尔)处理类指令.
用机器码表示的指令格式以8位2进制数(字节)为基础。111条指令中单字节指令49条,双字节指令45条,三字节指令仅17条,有利于提高程序存贮器的使用效率。
1、数据传送类指令
2、算术运算类指令
3、逻辑运算类指令
4、控制程序转移类指令
5、位处理类指令
Vb 过程与函数(cektop)
过程
过程是用来执行一个特定任务的一段程序代码。VB应用程序由若干过程组成,这些过程保存在文件中,每个文件的内容通常称为一个模块。
在程序设计过程中,将一些常用的功能编写成过程,可供多个不同的事件过程多次调用,从而可以减少重复编写代码的工作量,实现代码重用,使程序简练、便于调试和维护。
在VB6.0中,用户自定义过程分为:Sub 子过程、Function函数,它们的主要区别在与Sub 子过程没有返回值,和Function函数有返回值。
VB API 参考(破解必备)
Zombie_Release
Zombie_Release :
在每个事件结束之后都后调用MSVBVM60.Zombie_Release来
释放事件引用的COM组件对象,约定eax.
MSVBVM60.Zombie_Release释放对象约定参数寄存器:eax
--------------------------------------------------------------------------------
ASM:
mov eax,dword ptr ss:[ebp+8]
push eax //对象地址eax
mov ecx,dword ptr ds:[eax] //对象虚拟表地址给edx
call dword ptr ds:[ecx+8] // MSVBVM60.Zombie_Release
delphi对话框应用
Chm格式,
打开文件与保存文件对话框
OpenDialog组件
Delphi为用户提供了一组常用的对话框组
件,包括:打开文件、保存文件、设置字体、设置颜色、查找字符串和替换字符串等。在程序运行时,这些组件以对话框的形式出现,供用户操作使用。首先介绍OpenDialog组件。
OpenDialog组件即打开文件对话框组件,位于组件板“Dialogs”选项卡的第二个位置。程序运行时,打开文件对话框不会自动打开,必须利用其Execute方法才能打开。
OpenDialog组件的主要属性:
l FileName
设置或保存打开文件的名称(包括路径名和扩展
汇编常用命令(汇编语言的几条常用命令)
根据条件作出是否跳转的决定,通常前面会有一个判断语句,例如:
CMP AX,BX
JZ XX
上面两条命令意为用AX减BX,它的值如果为0则跳转到XX的标号行.
常用的跳转命令有:
C++ Builder VCL库函数
内存管理函数
文件操作函数
磁盘管理函数
数值转换函数
字符串函数
时间函数
易语言chm格式....
易语言,刚才整理了下,做成了CHM格式................................
汇编 API(masm 各种语句)
各种语句API 数据类型...自己写的
常数 变量........
Win32 API 函数
Win32 API 函数
1、限制程序功能函数
5、注册表处理函数
2、对话框函数
6、时间处理函数
3、磁盘处理函数
7、进程函数
4、文件处理函数
8、断点设置列表
delphi窗体的基本属性、方法和事件
窗体的基本属性、方法和事件
在 Delphi 中,窗体(Form )组件是一个特殊的组件,任何组件都要放到该组件中,因此,Form 起到一个容器的作用。如果没有该组件,那么所谓的图形用户界面也就不存在了。
Delphi 简单组件
简单组件
简单组件是应用程序中最常用的,也是必不可少的,因此,读者一定要对它们的使用方法完全掌握。常见的简单组件包括对标签组件、按钮组件、复选框组件、单选框组件、下拉列表组件、窗格组件、滚动条组件和单选分组框组件等,下面加以详细介绍。
Delphi 对话框组件
对话框组件的应用,使用户与应用程序有一个很好的交互。本节将对打开对话框、保存对话框、
字体对话框、颜色对话框、打印及打印设置对话框和查找及替换对话框
SkinSharp 易语言皮肤(*.Skin)
enjoy.she
hlong.she
homestead.sh
insomnia.she
itunes.she
longhorn.she
ouframe.she
pixos.she
qq2008.she
QQ2009.she
QQ2009_宽_底
QQ2009_窄_底
royale.she
storm音影.sh
vista.she
whitefire.sh
wish.she
Xenes.she
XP系统色.she
按钮平行.she
标题黄.she
纯VISTA.she
仿MSN.she
仿office2007
仿qqgame.she
仿QQ影音.she
仿REAL.she
精典黑.she
木质色.she
清纯淡蓝.she
四方平板.she
纹条色.she
炫绿色.she
ClearTryKey(eBook Pack Express 电子书试用信息清除工具)
测试版本: eBook Pack Express 1.75
清除此电子书的试用信息(清除一些加了试用功能的电子书)
by cektop
MSIL 指令(pdf 格式)
pdf格式,非常详细
流程控制指令 算法指令...............
软件加密技术内幕PDF(5)
此PDF文件为:161 MB
我这里分为5个压缩包,大家需要全部下载才能解压
by cektop
软件加密技术内幕PDF(4)
此PDF文件为:161 MB
我这里分为5个压缩包,大家需要全部下载才能解压
by cektop
软件加密技术内幕PDF(3)
此PDF文件为:161 MB
我这里分为5个压缩包,大家需要全部下载才能解压
by cektop
软件加密技术内幕PDF(2)
此PDF文件为:161 MB
我这里分为5个压缩包,大家需要全部下载才能解压
by cektop
软件加密技术内幕PDF(1)
此PDF文件为:161 MB
我这里分为5个压缩包,大家需要全部下载才能解压
by cektop
Win32 C(讲解API-GUI操作)
Win32 C编程01
http://dx.3800hk.com/donghua/g/27241.html
Win32 C编程02
http://dx.3800hk.com/donghua/g/27255.html
Win32 C编程03
http://dx.3800hk.com/donghua/g/27358.html
Win32 C编程04
http://dx.3800hk.com/donghua/g/27441.html
Win32 C编程05
http://dx.3800hk.com/donghua/g/27421.html
黑鹰C语言VIP特训班
目录
1.C语言概述
2.程序的灵魂—算法初步认识
3.1-数据类型、运算符与表达式
3.2-数据类型、运算符与表达式
3.3-数据类型、运算符与表达式
4-最简单的C程序设计--顺序程序设计
5-分支结构程序
6-循环控制
7-数组相关
8-函数
9-预处理命令
10-指针
11-结构体与共用体
12-编写第一个Windows程序
13-一个简单的CRACKME
14-一个简单的关闭进程
15-实现本地关机
16-C语言易错分析
17-生成密码
18-下载者最基本实现
http://hi.baidu.com/dingby2006/blog/item/72d597c27d12661c0ef47731.html
花指令技术(chm格式)
SEH异常的应用
SEH异常就是结构化异常处理,程序遇到SEH异常时,异常交给系统处理(这讲是一个非常负责的过程,很容易跟飞),所以利用SEH异常时可以一定程度的防止程度调试(SEH异常在壳里是很常见的)。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push ******** //地址压入堆栈
mov eax,dword ptr fs:[0]
push eax //fs[0]压入堆栈,执行完成后fs[0]指向堆栈
mov dword ptr fs:[0],esp //构造一个ERR结构
mov esi,0 //简单的赋值语句
mov eax,dword ptr ds:[esi] //产生异常
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push ********
mov eax,dword ptr fs:[0]
push eax
mov dword ptr fs:[0],esp
mov ebx,0
div ebx
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
nop
push ********
mov eax,dword ptr fs:[0]
push eax
mov dword ptr fs:[0],esp
int 3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push ********
mov eax,dword ptr fs:[0]
push eax
mov dword ptr fs:[0],esp
nop
int 68
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push ********
mov eax,dword ptr fs:[0]
push eax
mov dword ptr fs:[0],esp
nop
vxdcall 134543
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push ********
mov eax,dword ptr fs:[0]
push eax
mov dword ptr fs:[0],esp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push xxx
push dword ptr fs:[0]
mov fs:[0], esp
stc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push xxx
push dword ptr fs:[0]
mov fs:[0], esp
JMP 0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push xxx
push dword ptr fs:[0]
mov fs:[0], esp
ret
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
push xxx
push dword ptr fs:[0]
mov fs:[0], esp
pop ss
超详细木马箱子讲座.chm 附语音教程
连接:
http://guaosi.banzhu.net/article/guaosi-6-446835.html
众联入门培训.chm 附语音教程
http://61.177.186.211/admin/zlbbs/rm1.rar
http://61.177.186.211/admin/zlbbs/rm2.rar
http://61.177.186.211/admin/zlbbs/rm3.rar
http://61.177.186.211/admin/zlbbs/rm4.rar
http://61.177.186.211/admin/zlbbs2/rm5.rar
http://61.177.186.211/admin/zlbbs2/rm6.rar
连接:
http://guaosi.banzhu.net/article/guaosi-6-446832.html
Vc++ 打造局域网聊天室
Vc++ 打造局域网聊天室(1)---编程环境及准备知识
http://dx.3800hk.com/donghua/g/27288.html
Vc++ 打造局域网聊天室(2)---聊天室界面的制作及初始化
http://www.3800hk.com/donghua/g/27317.html
Vc++ 打造局域网聊天室(3)---动态启用 or 禁用窗口及MFC消息映射机制
http://www.3800hk.com/donghua/g/27350.html
Vc++ 打造局域网聊天室(4)---实现动态伸缩窗口
http://www.3800hk.com/donghua/g/27387.html
Vc++ 打造局域网聊天室(5)---Socket编程初步
http://www.3800hk.com/donghua/g/27426.html
Vc++ 打造局域网聊天室(6)---异步I/O模型及多线程
http://www.3800hk.com/donghua/g/27485.html
Vc++ 打造局域网聊天室(7) ---客户端队列及其处理线程
http://www.3800hk.com/donghua/g/27539.html
Vc++ 打造局域网聊天室(8)---客户端编程及数据发送
http://www.3800hk.com/donghua/g/27564.html
Vc++ 打造局域网聊天室(9)---程序关闭及线程的结束
http://www.3800hk.com/donghua/g/27574.html
Vc++ 打造局域网聊天室(10)---任务栏托盘功能的实现
http://www.3800hk.com/donghua/g/27627.html
Delphi 与汇编入门
初学 Delphi 嵌入汇编[1] - 汇编语言与机器语言
初学 Delphi 嵌入汇编[2] - 汇编语言关键字
初学 Delphi 嵌入汇编[3] - 第一个 Delphi 与汇编的例子
初学 Delphi 嵌入汇编[4] - 寄存器在过程与函数中的使用
初学 Delphi 嵌入汇编[5] - 寄存器在过程与函数中的使用 - 续
初学 Delphi 嵌入汇编[6] - & 操作符
初学 Delphi 嵌入汇编[7] - 使用常量
初学 Delphi 嵌入汇编[8] - 8 位寄存器、16 位寄存器与 32 位寄存器
初学 Delphi 嵌入汇编[9] - asm 可以代替 begin
初学 Delphi 嵌入汇编[10] - 函数返回值与寄存器
初学 Delphi 嵌入汇编[11] - 用汇编重写一个 Delphi 函数
初学 Delphi 嵌入汇编[12] - 在汇编代码中可以直接使用 Result
初学 Delphi 嵌入汇编[13] - 地址参数用 [] 取值
初学 Delphi 嵌入汇编[14] - 常量与变量在汇编中的一个区别
初学 Delphi 嵌入汇编[15] - 需要保护的寄存器
初学 Delphi 嵌入汇编[16] - 进制的表示方法
初学 Delphi 嵌入汇编[17] - 逻辑运算
初学 Delphi 嵌入汇编[18] - SHL 与 SHR
初学 Delphi 嵌入汇编[19] - Delphi 的无符号整数类型
初学 Delphi 嵌入汇编[20] - Delphi 的 Integer 类型
初学 Delphi 嵌入汇编[21] - Delphi 的其他整数类型
初学 Delphi 嵌入汇编[22] - 在汇编代码中使用记录
初学 Delphi 嵌入汇编[23] - LOOP 循环
初学 Delphi 嵌入汇编[24] - 汇编语言的简单数据类型
初学 Delphi 嵌入汇编[25] - 在汇编中调用函数
初学 Delphi 嵌入汇编[26] - 大小写字母转换
初学 Delphi 嵌入汇编[27] - XCHG 指令: 交换寄存器的内容
初学 Delphi 嵌入汇编[28] - 把 EAX 的值置为 0 的三种方法与效率
初学 Delphi 嵌入汇编[29] - 寄存器所能接受的数值范围
初学 Delphi 嵌入汇编[30] - 寄存器表
天草软件DIY.chm
http://View.Begin09.Com/DIY/0、DIY需要的工具以及DIY介绍.rar
http://View.Begin09.Com/DIY/1、VC++&汇编程序.rar
http://View.Begin09.Com/DIY/2、VB程序.rar
http://View.Begin09.Com/DIY/3、BC++&Delphi程序.rar
http://View.Begin09.Com/DIY/4、总结.rar
初级批处理.chm(BATCH)
初级批处理第一课
http://www.520hack.com/donghua/donghua9/200810/11902.html
初级批处理第二课
http://www.520hack.com/donghua/donghua9/200810/11917.htm
BAT 编程.pdf
批处理是什么、批处理的作用、批处理简单命令
批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式。每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。
批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。
要学好批处理,DOS基础一定要牢!DOS命令如copy、dir、del、type、path、break、start等内部命令,以及ping、net、cmd、at、sort(在字符型文件中进行数据排序, 或者将DOS命令的输出进行排序)、attrib、fc、find等外部命令,在批处理里的应用非常广泛
1.Echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。 echo on echo off
2.Rem 命令
注释命令,在C语言中相当与/*--------*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。::
3.Pause 命令
运行 Pause 命令时,将显示下面的消息:
Press any key to continue . . .
4.title 命令
标题命令
5.color命令
颜色命令
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 湖蓝色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6.end命令
结束命令
VB高级教程API的使用
vb高级教程(api的使用第一节课)
http://www.3800hk.com/donghua/f/25778.html
vb高级教程(api的使用第二节课)
http://www.3800hk.com/donghua/f/25809.html
汇编指令学习.chm
8088 汇编速查手册
一、数据传输指令
───────────────────────────────────────
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.
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 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.
BSWAP 交换32位寄存器里字节的顺序
XCHG 交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)
CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )
XADD 先交换再累加.( 结果在第一个操作数里 )
XLAT 字节查表转换.
── BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即
0-FFH); 返回 AL 为查表结果. ( [BX+AL]->AL )
2. 输入输出端口传送指令.
IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )
OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )
输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,
其范围是 0-65535.
3. 目的地址传送指令.
LEA 装入有效地址.
例: LEA DX,string ;把偏移地址存到DX.
LDS 传送目标指针,把指针内容装入DS.
例: LDS SI,string ;把段地址:偏移地址存到DS:SI.
LES 传送目标指针,把指针内容装入ES.
例: LES DI,string ;把段地址:偏移地址存到ES:DI.
LFS 传送目标指针,把指针内容装入FS.
例: LFS DI,string ;把段地址:偏移地址存到FS:DI.
LGS 传送目标指针,把指针内容装入GS.
例: LGS DI,string ;把段地址:偏移地址存到GS:DI.
LSS 传送目标指针,把指针内容装入SS.
例: LSS DI,string ;把段地址:偏移地址存到SS:DI.
4. 标志传送指令.
LAHF 标志寄存器传送,把标志装入AH.
SAHF 标志寄存器传送,把AH内容装入标志寄存器.
PUSHF 标志入栈.
POPF 标志出栈.
PUSHD 32位标志入栈.
POPD 32位标志出栈.
二、算术运算指令
───────────────────────────────────────
ADD 加法.
ADC 带进位加法.
INC 加 1.
AAA 加法的ASCII码调整.
DAA 加法的十进制调整.
SUB 减法.
SBB 带借位减法.
DEC 减 1.
NEC 求反(以 0 减之).
CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).
AAS 减法的ASCII码调整.
DAS 减法的十进制调整.
MUL 无符号乘法.
IMUL 整数乘法.
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
AAM 乘法的ASCII码调整.
DIV 无符号除法.
IDIV 整数除法.
以上两条,结果回送:
商回送AL,余数回送AH, (字节运算);
或 商回送AX,余数回送DX, (字运算).
AAD 除法的ASCII码调整.
CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)
CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)
CWDE 字转换为双字. (把AX中的字符号扩展到EAX中去)
CDQ 双字扩展. (把EAX中的字的符号扩展到EDX中去)
三、逻辑运算指令
───────────────────────────────────────
AND 与运算.
OR 或运算.
XOR 异或运算.
NOT 取反.
TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).
SHL 逻辑左移.
SAL 算术左移.(=SHL)
SHR 逻辑右移.
SAR 算术右移.(=SHR)
ROL 循环左移.
ROR 循环右移.
RCL 通过进位的循环左移.
RCR 通过进位的循环右移.
以上八种移位指令,其移位次数可达255次.
移位一次时, 可直接用操作码. 如 SHL AX,1.
移位>1次时, 则由寄存器CL给出移位次数.
如 MOV CL,04
SHL AX,CL
四、串指令
───────────────────────────────────────
DS:SI 源串段寄存器 :源串变址.
ES:DI 目标串段寄存器:目标串变址.
CX 重复次数计数器.
AL/AX 扫描值.
D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量.
Z标志 用来控制扫描或比较操作的结束.
MOVS 串传送.
( MOVSB 传送字符. MOVSW 传送字. MOVSD 传送双字. )
CMPS 串比较.
( CMPSB 比较字符. CMPSW 比较字. )
SCAS 串扫描.
把AL或AX的内容与目标串作比较,比较结果反映在标志位.
LODS 装入串.
把源串中的元素(字或字节)逐一装入AL或AX中.
( LODSB 传送字符. LODSW 传送字. LODSD 传送双字. )
STOS 保存串.
是LODS的逆过程.
REP 当CX/ECX<>0时重复.
REPE/REPZ 当ZF=1或比较结果相等,且CX/ECX<>0时重复.
REPNE/REPNZ 当ZF=0或比较结果不相等,且CX/ECX<>0时重复.
REPC 当CF=1且CX/ECX<>0时重复.
REPNC 当CF=0且CX/ECX<>0时重复.
五、程序转移指令
───────────────────────────────────────
1>无条件转移指令 (长转移)
JMP 无条件转移指令
CALL 过程调用
RET/RETF过程返回.
2>条件转移指令 (短转移,-128到+127的距离内)
( 当且仅当(SF XOR OF)=1时,OP1<OP2 )
JA/JNBE 不小于或不等于时转移.
JAE/JNB 大于或等于转移.
JB/JNAE 小于转移.
JBE/JNA 小于或等于转移.
以上四条,测试无符号整数运算的结果(标志C和Z).
JG/JNLE 大于转移.
JGE/JNL 大于或等于转移.
JL/JNGE 小于转移.
JLE/JNG 小于或等于转移.
以上四条,测试带符号整数运算的结果(标志S,O和Z).
JE/JZ 等于转移.
JNE/JNZ 不等于时转移.
JC 有进位时转移.
JNC 无进位时转移.
JNO 不溢出时转移.
JNP/JPO 奇偶性为奇数时转移.
JNS 符号位为 "0" 时转移.
JO 溢出转移.
JP/JPE 奇偶性为偶数时转移.
JS 符号位为 "1" 时转移.
3>循环控制指令(短转移)
LOOP CX不为零时循环.
LOOPE/LOOPZ CX不为零且标志Z=1时循环.
LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.
JCXZ CX为零时转移.
JECXZ ECX为零时转移.
4>中断指令
INT 中断指令
INTO 溢出中断
IRET 中断返回
5>处理器控制指令
HLT 处理器暂停, 直到出现中断或复位信号才继续.
WAIT 当芯片引线TEST为高电平时使CPU进入等待状态.
ESC 转换到外处理器.
LOCK 封锁总线.
NOP 空操作.
STC 置进位标志位.
CLC 清进位标志位.
CMC 进位标志取反.
STD 置方向标志位.
CLD 清方向标志位.
STI 置中断允许位.
CLI 清中断允许位.
六、伪指令
───────────────────────────────────────
DW 定义字(2字节).
PROC 定义过程.
ENDP 过程结束.
SEGMENT 定义段.
ASSUME 建立段寄存器寻址.
ENDS 段结束.
END 程序结束.