- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
宋军 计算机学院信息安全系 songjun@cug.edu.cn 教学安排 课时 48学时:课堂教学(32) + 上机实践(16) 成绩评定 平时成绩:40 % 考试成绩:60 % 考试方式 闭(开)卷笔试:选择题、程序阅读、程序设计 3次作业 + Project 参考教材 高级语言、汇编语言、机器语言 课程说明 汇编语言程序设计Assembly Language and Programming 掌握汇编语言及其程序设计方法,了解计算机软硬件的若干底层细节和基本原理。 为后续课程和工程应用打下重要的专业基础。 预备知识 Win32:Windows 32位汇编语言程序设计的原理、方法与技术 CPU分层:DLL/MA/ISA层 ISA-32CPU与IA-32 IA-32是一类ISA-32 IA-32是CISC下的ISA 汇编语言程序设计 最古老的程序设计语言 深入理解计算机体系结构和操作系统 高级汇编语法 ,MASM,TASM接近MASM 什么是汇编语言 汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令 助记符:易记忆、描述指令功能和指令操作数 汇编指令:用助记符表示的指令 汇编语言:汇编格式指令、编写规则 汇编程序:称汇编语言源程序(.ASM) 编译和调试环境 编辑器、编译器、链接器和调试器 编辑器创建源文件,如文本或代码编辑器 编译器把汇编源程序转换为二进制目标文件 链接器是把编译器创建的多个单独的文件组合链 接成可执行文件 调试器查看程序运行中寄存器和内存状态 工作模式 16位实地址模式 与8086兼容的模式,仅低20位地址线起作用,能寻址第一个1MB的内存空间,MS DOS运行在实模式下 32位保护模式 工作于32位80x86 CPU,提供对程序和数据进行安全检查的保护机制,如Windows 9x/NT/2000等32位操作系统 虚拟8086模式 在Windows 9x下,运行一个DOS应用程序,该程序即运行在虚拟8086模式下 什么是汇编语言 汇编语言与机器语言 机器语言 一种二进制(十六进制)语言,纯粹的数字形式 特定的处理器才能理解 汇编语言 使用助记符的语句 汇编指令与机器指令一一对应 汇编语言与高级语言 高级语言与汇编语言及机器语言是一对多的关系 一条简单的C语言会被扩展成多条汇编语言或机器语言指令 汇编语言和高级语言(cont.) 汇编语言功能有限,涉及硬件细节 ↘ 汇编语言程序的通用性、可移植性较差 ↘ 编写程序比较繁琐,调试起来也比较困难 高级语言功能强大,与具体计算机无关 ↗ 高级语言程序可在多种计算机上编译后执行 ↗ 类似自然语言的语法,易于掌握和应用 汇编语言和高级语言( cont. ) 汇编语言本质上就是机器语言 ↗ 可以直接、有效地控制计算机硬件 ↗ 易于产生速度快、容量小的高效率目标程序 高级语言不针对具体计算机系统 ↘ 不易直接控制计算机的各种操作 ↘ 目标程序比较庞大、运行速度较慢 汇编语言和高级语言( cont. ) 汇编语言的优点 直接控制计算机硬件部件 编写在“时间”和“空间”两方面最有效的程序 汇编语言的缺点 需要熟悉计算机硬件系统、考虑许多细节 编写繁琐,调试、维护、交流和移植困难 汇编语言和高级语言( cont. ) 汇编语言的优点使得它在程序设计中占有重要的位置,是不可被取代的 汇编语言的缺点使得人们主要采用高级语言进行程序开发工作 有时需要采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题 混和编程—C内联汇编 __asm {//关中断 cli mov eax, cr0 and eax, ~0x10000 mov cr0, eax } *( pBase + uIndex ) = *((PULONG)pOutputBuffer); __asm {//开中断 mov eax, cr0 or eax, 0x10000 mov cr0, eax sti } 汇编语言和高级语言 汇编语言的主要特点 与机器相关性 汇编语言程序与处理器指令系统密切相关 通用性和可移植性低 执行效率高 程序员可直接、有效地控制系统硬件 形成的可执行文件运行速度快、占用内存量少 编写程序的复杂性 汇编指令单一、具体,源代码编写繁琐 程序调试困难 汇编语言的应用场合 适用的领域 要有较快的执行时间,或者占用较小的存储空间 与计算机硬件密切相关,要直接有效地控制硬件 大型软件需要提高性能、优化处理的部分 没有合适的高级语言、或只能采用汇编语言的时候 不宜使用的领域 大型软件的整
文档评论(0)