- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安装VS2010、2012、2015 选中Visual C++ XP下需安装补丁 安装帮助文档:帮助-添加删除帮助内容 重置开发环境:工具-导入导出设置-重置 设置汇编语言关键字高亮显示 下载usertype.dat,拷贝到VS安装目录下的common files\IDE 在工具-选项-文本编辑器-增加.asm(Visual C++) 设置源程序显示行号:工具-选项-编辑器-C++ VS2015需下载C标准函数库msvcrt.lib 安装帮助文档 重置开发环境 设置汇编关键字高亮显示 设置显示行号 二、建立汇编语言工程 创建解决方案和工程 建议选择“空项目” 在旧解决方案里创建新工程后,要设置启动项目 设置汇编语言程序的编译器 工程上“生成依赖项” ,选择MASM 设置程序的运行环境 工程上属性-连接器-系统-子系统-console 添加源程序 选择visual c++的.cpp,但文件名用.asm 编译调试同Visual C++ 创建解决方案和工程 设置汇编语言编译器 设置程序运行环境 添加汇编语言源程序 编写汇编语言源程序 编译连接与运行调试 编译连接与运行调试 建议直接F10,一次性编译链接并进入单步调试模式。 调试时使用的跟踪类热键 F5 全速运行 Shift+F5 终止运行 F10 单步执行 F11单步进入子程序 Ctrl+F10 运行到当前光标处 F9 设置/取消断点 Shift+F11跳出本函数 调试时使用的查看类热键 ALT+8 反汇编 ALT+5 寄存器 ALT+6 内存 CTRL+ALT+M 1/2/3/4 VS中的标志位 Intel的标志位 OV OF UP DF EI IF PL SF ZR ZF AC AF PE PF CY CF 其实VS中的标志位是Intel标志位为1时对应的英文单词的速写 如PF=1 是偶校验 ParityEven Visual Studio寄存器的标志位 三、汇编语言程序格式 汇编语言面向硬件直接编程,所以需要对硬件环境和设置需要指示清楚 CPU 存储模式、函数调用缺省规范 堆栈段大小—若有深层递归需增加到符合要求 数据段定义 代码段定义 第一条指令位置 END main 程序结束要返回操作系统 调用OS标准函数ExiProcess(int return_val) 外部函数要用PROTO先声明再使用 Windows标准函数,PROTO STDCALL(可省) C函数PROTO C 可变参数类型 VARARG 参数类型为BYTE、DWORD等,不能DB、DD 外部的函数库用INCLUDELIB指明 用OPTION指明大小写是否敏感 由于调用C函数,大小写敏感 函数调用的参数传递 通过push param1等传递参数,倒着传输。 要注意是传地址(OFFSET 变量)还是传值 函数调用后的堆栈平衡 参数传递(push)改变了当前堆栈的栈顶ESP 函数调用后要把参数退出(pop)堆栈 C用 “ADD ESP,4*参数个数n” 即可堆栈平衡,不要pop,因为pop慢而且pop出来的数没有用 Windows标准调用的函数不用在主程序中堆栈平衡,因为子程序在返回时实现了堆栈平衡 函数调用的简写方法—宏缩写方式 INVOKE 函数名,参数1,参数2,…… 可代替 push参数 call函数 堆栈平衡 chr$ MACRO any_text:VARARG LOCAL txtname .data txtname db any_text,0 align 4 .code EXITM OFFSET txtname ENDM .code INVOKE printf,chr$(“Hello!”,0dh,0ah) ;与C语言的函数调用基本一致了。 采用chr$宏的函数调用缩写方式 四、汇编语言的程序元素 类型?数与表达式?指令/语句?函数/模块?源程序文件?工程?解决方案 标识符:关键字/保留字、标号、常量名、变量名、类型名、函数名、宏名等 表达式 常量表达式:编译器计算出来,放在二进制代码的位置 汇编语言没有变量表达式,寻址方式中的+*等不是EU计算的。一个变量表达式在汇编中要用多条指令实现 表达式具备与C同样的运算符顺序 有算术表达式、逻辑表达式 硬指令与软指令 硬指令:执行性语句,由CPU执行 软指令:指示性语句,由编译器/连接器识别,处理该指令 五、汇编语言的数据类型 简单数据类型与复杂数据类型 字符、数值、数组、地址与指针类型是简单数据类型 结构struct、联合union是复杂的数据类型,是多个数(类型可不同)组成的一个
您可能关注的文档
- 2016年中考科学复习:第38讲基本的化学反应教案.ppt
- 2014高三地理二轮专题复习——地表形态的变化教案.ppt
- 麦田里的守望者精选.ppt
- 改进物料包装规格增加移动时的稳定性提高托盘容积率-改精选.ppt
- 2014高压单选题(204T)教案.ppt
- 满井游记(经典)精选.ppt
- 2014高中生人际交往教案.ppt
- 标准横断面设计题稿.ppt
- 2016年中考物理热点专题五作图题教案.ppt
- 漫画八大危险作业注意事项精选.ppt
- 2025年智能电网柔性直流输电技术在我国西部地区应用前景.docx
- 7.2 弹力-人教版八年级物理下册.pptx
- 2025年智能电网柔性直流输电技术在智能变电站中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化存储中的应用.docx
- 2025年智能电网柔性直流输电技术在新能源并网中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化控制中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化预测中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化服务中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化运维中的应用.docx
- 2025年智能电网柔性直流输电技术智能化保护系统研究.docx
最近下载
- 2013款北京现代胜达_汽车使用手册用户操作图解驾驶车主车辆说明书电子版.pdf
- 承历史之痛,立青春之志——以电影《南京照相馆》开启高中第一课-2025-2026学年高中主题班会优质课件.pptx VIP
- 《南京照相馆》电影介绍ppt课件(优质ppt).pptx VIP
- 《安全生产专业实务习题集(化工安全)中级》.docx VIP
- 员工现场安全知识培训.ppt VIP
- 三菱FR-E740变频器简介.doc VIP
- 《室内装饰构造与施工图深化》第三章 室内装饰顶棚构造与施工图深化 教学课件.ppt VIP
- 三菱通用变频器FR-E740中文手册2.pdf VIP
- 5.16.1+神经系统的调节+第1课时(教学课件)生物苏教版2024八年级上册.pptx VIP
- 短线操盘实战技巧.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)