- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 新式健康操的歌词分解动作及口白.doc.doc
- 新版校园电子邮件系统使用指南.doc-湖南科技大学.doc
- 新版档案管理系统报表插件安装说明书.doc
- 新版馆际互借系统读者登录注册方法和步骤.ppt-山东大学图书馆.ppt
- 新生101研讨会撰稿格式.doc
- 方法1选中一个AP层.ppt
- 方法和作用域-51Testing.ppt
- 方法和数组.ppt
- 施耐德电气QuantumPLC在选煤行业的应用-米尔自动化网.doc
- 旋转变换设计图案.doc
- 小公司年会创意节目活动方案.pptx
- 暑假安全教育心得体会模板.pptx
- 残疾人帮扶活动方案.pptx
- 二级建筑师报名流程.pptx
- 2024社区爱国卫生月宣传活动方案.pptx
- 湖南省多校联考2024-2025学年高三上学期11月月考政治试题含答案.pdf
- 河南省部分重点高中青桐鸣大联考2024-2025学年高三上学期11月月考历史试题含答案.pdf
- 广东省汕头市金山中学2024-2025学年高二上学期期中考试物理试题(含答案).pdf
- 广东省汕头市金山中学2024-2025学年高二上学期期中考试含部分答案(8科试卷).pdf
- 湖北省荆州市沙市中学2024-2025学年高三上学期11月月考含答案(8科试卷).pdf
文档评论(0)