汇编语言06.ppt.ppt

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

第 6 章;教学重点;IA-32结构的指令系统;6.1 32位指令的运行环境;实地址方式;保护方式;虚拟8086方式;6.1.1 寄存器组;6.1.2 寻址方式;32位寻址方式;6.1.3 机器代码格式;6.2 32位扩展指令;将立即数压入堆栈;通用寄存器全部进出栈;符号扩展和零位扩展;串输入/输出;条件转移; ;将AX的每一位依次重复一次 ;所得的32位结果保存于EAX中 mov ecx,16 mov bx,ax next: shr ax,1 rcr edx,1 shr bx,1 rcr edx,1 loop next mov eax,edx;;利用双字串传送MOVSD指令提高字符串复制效率 mov edx,ecx ;字符串长度,转存EDX shr ecx,2 ;长度除以4 rep movsd ;以双字为单位重复传送 mov ecx,edx and ecx,11b ;求出剩余的字符串长度 rep movsb ;以字节为单位传送剩余字符;6.3 DOS下的32位程序设计;例6.5-1/2;例6.5-2/2;例6.6-1/10;例6.6-2/10;例6.6-3/10;例6.6-4/10;例6.6-5/10;例6.6-6/10;例6.6-7/10;例6.6-8/10;例6.6-9/10;例6.6-10/10;6.4.1 80386新增指令;位测试指令;条件设置指令;6.4.2 80486新增指令;字节交换指令;交换加指令;比较交换指令;6.4.3 Pentium新增指令;8字节比较交换指令;6.4.4 Pentium Pro新增指令;条件传送指令;6.5 用汇编语言编写32位Windows应用程序;16位DOS与32位Windows-1;16位DOS与32位Windows-2;16位DOS与32位Windows-3;16位DOS与32位Windows-4;6.5.2 32位Windows控制台程序; .386 .model flat,stdcall option casemap:none includelib bin32\kernel32.lib ExitProcess proto,:DWORD GetStdHandle proto,:DWORD WriteConsoleA proto,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD WriteConsole equ WriteConsoleA ReadConsoleA proto,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD ReadConsole equ ReadConsoleA STD_INPUT_HANDLE = -10 STD_OUTPUT_HANDLE = -11; .data outhandle dd ? outbuffer db Welcome to the Win32 Console !,0dh,0ah db Please enter your name:,0dh,0ah outbufsize = $-outbuffer outsize dd ? inhandle dd ? inbufsize = 80 inbuffer db inbufsize dup(?),0,0 insize dd ?; .code start: ;获得输出句柄 invoke GetStdHandle,STD_OUTPUT_HANDLE mov outhandle,eax ;显示信息 invoke WriteConsole,outhandle, addr outbuffer,outbufsize, addr outsize,0; ;获得输入句柄 invoke GetStdHandle,STD_INPUT_HANDLE mov inhandle,eax ;等待用户输入 invoke ReadConsole,inhandle, addr inbuffer,inbufsize,addr insize,0 ;退出 invoke ExitProcess,0 end start;源程序格式;动态链接库;程序退出;控制台句柄;控制台输出函数;控制台输入函数;6.5.3 Windows应用程序的开发;一个最简单的Win32汇编语言程序; .data szCaption db Win32示例,0 szText db 欢迎进入32位Windows世界!,0 .code start: invoke MessageBox,NULL,\ addr szText, addr szCaption,MB_OK invoke ExitProcess,NULL end start

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档