基本的汇编指令讲述.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本的汇编指令讲述

跳转命令-------------------------------------------------------------根据条件作出是否跳转的决定,通常前面会有一个判断语句,例如:    CMP AX,BX    JZ XX //jump zero上面两条命令意为用 AX 减 BX,它的值如果为 0 则跳转到 XX 的标号行。常用的跳转命令有:    JZ/JE   相等或为零为则跳转    JNZ/JNE  不相等或不为零则跳转    JL/JLE  小于/小于或等于则跳转    JG/JGE  大于/大于或等于则跳转    JMP    无条件跳转-------------------------------------------------------------比较语句-------------------------------------------------------------    CMP AX,BX??//AX 寄存器减去 BX 寄存器的内容    AND AX,BX??//AX 与 BX 做“与运算”    OR AX,BX? ?//AX 与 BX 做“或运算”    TEST AX,BX 与 AND AX,BX 命令有相同效果    XOR AX,AX 使 AX 的内容清零,每个寄存器与自己作异或运算等于清零动作-------------------------------------------------------------子程序-------------------------------------------------------------一个子程的模样长得像这个样子    CALL 15F:334422子程式是个很重要的概念,它是主程式的一个分支,用来做特定动作。打个比方:你要上班,先你是走路到车站,然后上车,然后下车,然后走到自己的办公室。这里如果要把上班编为一段程式的话,那么就可以把“走路”、“搭车”、“走到办公室”做为分支程式来处理。说得再通俗一点就是:你要破解的程式不可能就是一条主程式到底,肯定会呼叫下面的子程式,由子程式来处理你发送的注册信息,然后比较,然后标记是否注册正确,这些都是靠它来完成的。所以说,破解的关键在于,你找准程式在哪儿将会作注册判断,并进入那个注册子程式,仔细观察,你就成功了。(子程式的返回码是 RET)-------------------------------------------------------------算术运算-------------------------------------------------------------    ADD AX,BX  加法运算  AX=AX+BX    SUB AX,BX  减法运算  AX=AX-BX    INC AX   寄存器加一 AX=AX+1    DEC AX   寄存器减一 AX=AX-1    MUL     乘法运算    DIV/idiv     除法运算-------------------------------------------------------------数据操作-------------------------------------------------------------    MOV AX,BX 数据传送指令,将 BX 的值移送到 AX 中    XCHG AX,BX 将 AX 与 BX 的值互换8086/8088指令集?为了便于查询,这里分类列出8086/8088汇编指令:?数据传送指令?MOV?功能: 把源操作数送给目的操作数?语法: MOV 目的操作数,源操作数?格式: MOV r1,r2 或 MOV r,m 或 MOV m,r 或 MOV r,data?XCHG?功能: 交换两个操作数的数据?语法: XCHG?格式: XCHG r1,r2 或 XCHG m,r 或 XCHG r,m?PUSH,POP?功能: 把操作数压入或取出堆栈?语法: PUSH 操作数 POP 操作数?格式: PUSH r 或 PUSH M 或 PUSH data POP r 或 POP m?PUSHF,POPF,PUSHA,POPA // PUSHFD POPFD PUSHAD POPAD功能: 堆栈指令群?格式: PUSHF POPF PUSHA POPA?LEA,LDS,LES?功能: 取地址至寄存器?语法: LEA r,m LDS r,m LES r,m?XLAT(XLATB)?功能: 查表指令?语法: XLAT XLAT m?算术运算指令?ADD,ADC?功能: 加法指令?语法: ADD OP1,OP2 ADC OP1,OP2?格式:

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档