Intel汇编语言程序设计笔记勘误

Intel汇编语言程序设计笔记勘误

ID:40556289

大小:149.73 KB

页数:26页

时间:2019-08-04

Intel汇编语言程序设计笔记勘误_第1页
Intel汇编语言程序设计笔记勘误_第2页
Intel汇编语言程序设计笔记勘误_第3页
Intel汇编语言程序设计笔记勘误_第4页
Intel汇编语言程序设计笔记勘误_第5页
资源描述:

《Intel汇编语言程序设计笔记勘误》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Intel汇编语言程序设计程序模板TITLEProgramTemplate(Template.asm);编译器忽视TITLE的一行;程序描述注释信息;作者;创建日期;修改者;修改日期includeIrvine32.inc包含一些常量定义,函数声明includelibkernel32.dll包含函数定义的导入库.data;在此插入变量.codemainPROC;伪指令,标识一个程序的开始指令;在此插入可执行代码callsample;调用子程序(过程)exit;调用Irvine32.inc中的命令,结

2、束程序mainENDP;伪指令,标识一个程序的结束samplePROC;子程序(过程)指令;在此插入可执行代码retsampleENDPENDmain;伪指令,标识所有程序的结束,后跟程序入口点注意:1.单行注释:以分号(;)字符开始,汇编器忽视分号后所有字符2.IA-32处理器从偶数双字地址处加载代码和数据更快速3.NOP空操作(配合第二条).stack4096;在运行时栈上保留4096字节的空间x86的寄存器32位通用寄存器EAX在乘法和除法指令中被自动使用AXAH

3、ALEBXBXBH

4、BLE

5、CX在某些指令中作为循环记数器CXCH

6、CLEDXDXDH

7、DLEBPBPESPSP栈指针ESISI用于数据传递EDIDI用于数据传递EFLAGSEIP指令指针16位段寄存器CSSSDSESFSGSEFLAGS控制标志CF进位标志OF溢出标志SF符号标志ZF零标志AC辅助进位标志PF奇偶标志系统寄存器浮点寄存器[参数]可选参数{参数1

8、参数2}必须任选一个参数[{参数1

9、参数2}]参数1,参数2任选其一,作为可选参数标号命名规则1.标号可包含1~247个字符2.标号大小写不敏感3.标号第一个字符必

10、须是字母,_(下划线),@,?或$4.标号第二个字母以后可以有数字5.标号不能与保留字相同6.尽量避免用@/_作为首字母数据定义[变量名]数据定义伪指令初始值[,初始值]例:val1byte1,2,3,4数据定义伪指令(数据类型)BYTE/SBYTE1字节整数(无符号/有符号)WORD/SWORD2字节整数(无符号/有符号)DWORD/SDWORD4字节整数(无符号/有符号)FWORD6字节整数QWORD8字节整数TBYTE10字节整数REAL44字节短实数REAL88字节长实数REAL1010字

11、节扩展精度实数PTRXXXX(例如BYTE)4字节指针,指向一个指定类型的地址例:value1BYTE‘A’定义一个byte,值为’A’,变量名为value1value2WORD?定义一个未初始化的word,变量名为value2listbyte10,20,30,40定义4个byte,值为10,20,30,40,变量名位listgreeting1BYTE“1234”,0dh,0ah定义6个byte,值为’1’,’2’,’3’,’4’,dh,ah变量名位greeting注意:16进制数以字符开始时,前

12、面加0.0dh,0ah为回车换行符DUPBYTE20DUP(0)定义20个BYTE,值都为0BYTE2DUP(“AB”)定义4个BYTE,值为”ABAB”.data?BYTE1000DUP(?)比.dataBYTE1000DUP(?)更有效率,更节省空间定义实数(p63)“=”伪指令与TEXTEQU可以在同一源文件中重新定义,EQU不可以重新定义count=500此句不占内存movax,count等同于movax,500listBYTE10,20,30ListSize=($-list)自动计算li

13、st的数据长度,不占内存$表示当前地址的值在循环语句块中,$表示第一个节点的地址值M1EQU10*10此句不占内存wordM1等同于word100M2EQU<”12345”>此句不占内存byteM2等同于byte“12345”M3EQU10+10movax,M3*10AX=200M4EQU<10+10>movax,M4*10AX=110M5EQUM1此句不占内存movax,M5等同于movax,100TITEXTEQU%(M3*2)%展开操作符,返回40(作为文本)MOVax,T1等同于movax

14、,40MOVETEXTEQUMOVEeax,T1等同于moveax,40操作数类型r8r16r328位/16位/32位通用寄存器reg通用寄存器sreg16位段寄存器(6个)imm立即数mem内存操作数imm8imm16imm328位/16位/32位立即数r/m88位操作数(可以是通用寄存器或内存操作数)r/m16r/m3216位操作数/32位操作数mov目的操作数,源操作数目的操作数源操作数regreg/mem/immmemreg/immr/m16sregsregr/m

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

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

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