微机原理全部指令用法.doc

微机原理全部指令用法.doc

ID:62246662

大小:32.50 KB

页数:5页

时间:2021-04-22

微机原理全部指令用法.doc_第1页
微机原理全部指令用法.doc_第2页
微机原理全部指令用法.doc_第3页
微机原理全部指令用法.doc_第4页
微机原理全部指令用法.doc_第5页
资源描述:

《微机原理全部指令用法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一.机械码,又称机器码.ultraedit打开,编辑exe文件时你会看到许许多多的由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F组成的数码,这些数码就是机器码.修改程序时必须通过修改机器码来修改exe文件.二.需要熟练掌握的全部汇编知识(只有这么多)不大容易理解,可先强行背住,混个脸儿熟,以后慢慢的就理解了cmpa,b比较a与bmova,b把b的值送给aret返回主程序nop无作用,英文“nooperation”的简写,意思是“donothing”(机器码90)***机器码的含义参看上面(解释:u

2、ltraedit打开编辑exe文件时你看到90,等同于汇编语句nop)call调用子程序je或jz若相等则跳(机器码74或0F84)jne或jnz若不相等则跳(机器码75或0F85)jmp无条件跳(机器码EB)jb若小于则跳ja若大于则跳jg若大于则跳jge若大于等于则跳jl若小于则跳jle若小于等于则跳pop出栈push压栈三.常见修改(机器码)74=>7574=>9074=>EB75=>7475=>9075=>EBjnz->nop75->90(相应的机器码修改)jnz->jmp75->EB(相应的机器码修改)j

3、nz->jz75->74(正常)0F85->0F84(特殊情况下,有时,相应的机器码修改)四.两种不同情况的不同修改方法1.修改为jmpje(jne,jz,jnz)=>jmp相应的机器码EB(出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息xxxxxxxxxxxx出错信息,例如:注册码不对,sorry,未注册版不能…,”FunctionNotAvaibleinDemo”或”CommandNotAvaible”或”Can’tsaveinShareware/Demo”等(我们希望把它

4、跳过,不让它出现)。。。。。。xxxxxxxxxxxx正确路线所在2.修改为nopje(jne,jz,jnz)=>nop相应的机器码90(正确信息向上找到的第一个跳转)nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处xxxxxxxxxxxx正确信息,例如:注册成功,谢谢您的支持等(我们希望它不被跳过,让它出现,程序一定要顺利来到这里)。。。。。。xxxxxxxxxxxx出错信息(我们希望不要跳到这里,不让它出现)它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.1.

5、通用数据传送指令.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交换字或字节.(

6、至少有一个操作数为寄存器,段寄存器不可作为操作数)CMPXCHG比较并交换操作数.(第二个操作数必须为累加器AL/AX/EAX)XADD先交换再累加.(结果在第一个操作数里)XLAT字节查表转换.——BX指向一张256字节的表的起点,AL为表的索引值(0-255,即0-FFH);返回AL为查表结果.([BX+AL]->AL)2.输入输出端口传送指令.INI/O端口输入.(语法:IN累加器,{端口号│DX})OUTI/O端口输出.(语法:OUT{端口号│DX},累加器)输入输出端口由立即方式指定时,其范围是0-255

7、;由寄存器DX指定时,其范围是0-65535.3.目的地址传送指令.LEA装入有效地址.例:LEADX,string;把偏移地址存到DX.LDS传送目标指针,把指针内容装入DS.例:LDSSI,string;把段地址:偏移地址存到DS:SI.LES传送目标指针,把指针内容装入ES.例:LESDI,string;把段地址:偏移地址存到ESI.LFS传送目标指针,把指针内容装入FS.例:LFSDI,string;把段地址:偏移地址存到FSI.LGS传送目标指针,把指针内容装入GS.例:LGSDI,string;把段地址

8、:偏移地址存到GSI.LSS传送目标指针,把指针内容装入SS.例:LSSDI,string;把段地址:偏移地址存到SSI.4.标志传送指令.LAHF标志寄存器传送,把标志装入AH.SAHF标志寄存器传送,把AH内容装入标志寄存器.PUSHF标志入栈.POPF标志出栈.PUSHD32位标志入栈.POPD32位标志出栈.二、算术运算指令ADD加法.ADC带进位加

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。