版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、许算机科学与技术学院 汇编语言程序设计 0910第一学期 许算机科学与技术学院 汇编语言程序设计 0910第一学期 汇编语言程序设计汇编语言程序设计1 属于低级语言的程序设计属于低级语言的程序设计 硬件类课程和操作系统先行课硬件类课程和操作系统先行课 对计算机专业:专业基础课、必修课对计算机专业:专业基础课、必修课许算机科学与技术学院 汇编语言程序设计 0910第一学期 许算机科学与技术学院 汇编语言程序设计 0910第一学期 计算机语言的发展计算机语言的发展 机器语言机器语言FORTRANFORTRANBASICBASICCOBOLCOBOLPASCALPASCALC/C+C/C+JAVAJ
2、AVA.汇编语言汇编语言高级语言高级语言2许算机科学与技术学院 汇编语言程序设计 0910第一学期 实实 例例int x, y, sum;x=100;y=200;sum=x+y;x word ?y word ?sum word ?mov x, 100mov y,200mov ax, yadd ax, xmov sum ,ax66C705002040006400 66C70502204000C800 66A102204000 66030500204000 66A304204000 3许算机科学与技术学院 汇编语言程序设计 0910第一学期 指令:01010000 (PUSH AX)电平脉冲: 机
3、器语言机器语言 : 计算机能够直接识别由0和1组成的二进制代码,机器指令就是用二进制编码的指令,每种处理器都有各自的机器指令集,指令集及使用它们编写程序的规则被称为机器语言。 对于同样的二进制序列,不同型号的对于同样的二进制序列,不同型号的CPU对它的对它的“理解理解”是不一样的。是不一样的。4许算机科学与技术学院 汇编语言程序设计 0910第一学期 5示例示例 应用8086CPU完成运算:S = 768 + 12288 1280 机器码: 假如将程序错写成以下这样,请找出错误: 许算机科学与技术学院 汇编语言程序设计 0910第一学期 汇编语言的产生 汇编语言的主体是汇编指令汇编语言的主体是
4、汇编指令 汇编指令和机器指令的差别在于指令的表汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆示方法上。汇编指令是机器指令便于记忆的书写格式的书写格式 汇编指令是机器指令的助记符汇编指令是机器指令的助记符6许算机科学与技术学院 汇编语言程序设计 0910第一学期 例:例: 机器指令:机器指令: 操作:寄存器操作:寄存器BX的内容送到的内容送到AX中中 汇编指令:汇编指令:MOV AX, BX 这样的写法与人类语言接近,便于阅读这样的写法与人类语言接近,便于阅读和记忆。和记忆。7许算机科学与技术学院 汇编语言程序设计 0910第一学期 什么是汇编语言(1) 汇编语言是一种
5、面向机器的低级程序设计语言汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令汇编语言以助记符形式表示每一条计算机指令 助记符(助记符(mnemonicmnemonic)是便于人们记忆、并能描)是便于人们记忆、并能描述指令功能和指令操作数的符号述指令功能和指令操作数的符号 助记符一般就是表明指令功能的英语单词或其助记符一般就是表明指令功能的英语单词或其缩写缩写8许算机科学与技术学院 汇编语言程序设计 0910第一学期 什么是汇编语言(2) 用助记符表示的指令就是汇编语言中的汇编格式用助记符表示的指令就是汇编语言中的汇编格式指令指令 汇编格式指令以及使用它们编写程序
6、的规则就形汇编格式指令以及使用它们编写程序的规则就形成汇编语言(成汇编语言(Assembly LanguageAssembly Language) 用汇编语言书写的程序就是汇编语言程序,或称用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序(汇编语言源程序(.ASM.ASM) 汇编程序将汇编语言程序汇编程序将汇编语言程序“汇编汇编”成机器代码目成机器代码目标模块(标模块(.OBJ.OBJ)9许算机科学与技术学院 汇编语言程序设计 0910第一学期 什么是汇编语言(3)汇编语言的特点汇编语言的特点 面向机器的低级语言,通常是为特定的计算面向机器的低级语言,通常是为特定的计算 机或计算机系列
7、机或计算机系列专门设计的。专门设计的。 保持了机器语言的优点,具有直接和简捷保持了机器语言的优点,具有直接和简捷 的特点。的特点。 可有效地访问、控制计算机的各种硬件设备可有效地访问、控制计算机的各种硬件设备, , 如磁盘、存储器、如磁盘、存储器、CPUCPU、I/OI/O端口等。端口等。 目标代码简短,占用内存少,执行速度快,目标代码简短,占用内存少,执行速度快, 是高效的程序设计语言。是高效的程序设计语言。 经常与高级语言配合使用,应用十分广泛经常与高级语言配合使用,应用十分广泛。10许算机科学与技术学院 汇编语言程序设计 0910第一学期 11计算机能读懂的只有机器指令,那么如何让计算计
8、算机能读懂的只有机器指令,那么如何让计算机执行程序员用汇编指令编写的程序呢?机执行程序员用汇编指令编写的程序呢? 许算机科学与技术学院 汇编语言程序设计 0910第一学期 #include stdafx.h #include stdio.h int main(int argc, char* argv ) int a,b,c; a=1; b=2; c=a+b; printf(“c=%dn,c); return 0; 编译后的目标文编译后的目标文件达到件达到3.59KB12汇编语言和高级语言许算机科学与技术学院 汇编语言程序设计 0910第一学期 data segmentdata segmenta
9、 db ?a db ?b db ?b db ?c db ?c db ?string db c=$string db c=$data endsdata endscode segmentcode segmentmain proc farmain proc far assume cs:code, assume cs:code, ds:data, es:datads:data, es:datastart:start: push ds push ds sub ax,ax sub ax,ax push ax push ax mov ax,datamov ax,data mov ds,ax mov ds,a
10、x mov es,ax mov es,axmov a,1mov a,1 mov b,2 mov b,2 mov al,a mov al,a add al,b add al,b mov c,al mov c,al lea dx,string lea dx,string mov ah,09 mov ah,09 int 21h int 21h add c,30h add c,30h mov dl,c mov dl,c mov ah,2 mov ah,2 int 21h int 21h mov dl,0ah mov dl,0ah int 21h int 21h mov dl,0dh mov dl,0d
11、h int 21h int 21h ret retmain endpmain endpcode endscode ends end start end start例例 2. C = a + b2. C = a + b汇编后的目汇编后的目标文件只有标文件只有208208字节字节13许算机科学与技术学院 汇编语言程序设计 0910第一学期 汇编语言和高级语言(1) 汇编语言与处理器密切相关 汇编语言程序的通用性、可移植性较差 高级语言与具体计算机无关 高级语言程序可以在多种计算机上编译后执行14许算机科学与技术学院 汇编语言程序设计 0910第一学期 汇编语言和高级语言(2) 汇编语言功能有限、涉
12、及硬件细节 编写程序比较繁琐,调试起来也比较困难 高级语言提供了强大的功能,不必关心琐碎问题类似自然语言的语法,易于掌握和应用15许算机科学与技术学院 汇编语言程序设计 0910第一学期 汇编语言和高级语言(3) 汇编语言本质上就是机器语言 可以直接、有效地控制计算机硬件 易于产生速度快、容量小的高效率目标程序 高级语言不针对具体计算机系统 不易直接控制计算机的各种操作 目标程序比较庞大、运行速度较慢16许算机科学与技术学院 汇编语言程序设计 0910第一学期 汇编语言和高级语言(4) 汇编语言的优点: 直接控制计算机硬件部件 可以编写在“时间”和“空间”两方面最有效的程序 汇编语言的缺点:
13、与处理器密切有关 需要熟悉计算机硬件系统、考虑许多细节 编写繁琐,调试、维护、交流和移植困难汇编语言:?高级语言:?17许算机科学与技术学院 汇编语言程序设计 0910第一学期 汇编语言和高级语言(5) 汇编语言的优点使得它在程序设计中占有重要的位置,是不可被取代的 汇编语言的缺点使得人们主要采用高级语言进行程序开发工作 有时需要采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题18许算机科学与技术学院 汇编语言程序设计 0910第一学期 系统程序、效率代码、系统程序、效率代码、I/OI/O驱动程序驱动程序70%70%以上的系统软件是用汇编语言编写的。以上的系统软件是用汇编
14、语言编写的。 某些快速处理、位处理、访问硬件设备等某些快速处理、位处理、访问硬件设备等 高效程序是用汇编语言编写的。高效程序是用汇编语言编写的。 高级绘图程序、视频游戏程序一般是用汇高级绘图程序、视频游戏程序一般是用汇 编语言编写的。编语言编写的。19汇编语言的应用场合许算机科学与技术学院 汇编语言程序设计 0910第一学期 汇编语言的应用场合 程序要具有较快的执行时间,或者只能占用较小的存储容量 程序与计算机硬件密切相关,程序要直接、有效地控制硬件 大型软件需要提高性能、优化处理的部分 没有合适的高级语言、或只能采用汇编语言的时候 分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治
15、计算机病毒等等20 汇编语言的作用实在不小汇编语言的作用实在不小 !许算机科学与技术学院 汇编语言程序设计 0910第一学期 教师建议教师建议目标:目标: 了解汇编语言的特性及其编程技术,了解汇编语言的特性及其编程技术, 建立起建立起“机器机器”和和“程序程序”、“空间空间”和和“时间时间”的的概念。概念。建议:建议: 充分注意充分注意“汇编汇编”课实践性强的特点,课实践性强的特点, 多读程序多读程序, ,多写程序多写程序, ,多上机调试程序多上机调试程序, , 熟悉熟悉PCPC机的编程结构,机的编程结构, 掌握汇编语言及其程序设计的基本概念、方法和技巧。掌握汇编语言及其程序设计的基本概念、方法和技巧。 学习重点放在如何利用硬件系统的编程结构和指令集学习重点放在如何利用硬件系统的编程结构和指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度大型体育赛事n95口罩应急采购专项合同范本3篇
- 2025年度个人股权质押租赁合同(灵活版)4篇
- 2025年度房地产租赁合同法规范细则4篇
- 2025年度灭火器产品安全标准制定合同3篇
- 二零二五年度房地产拍卖合同汇编
- 二零二五版南京市二手房交易税费减免合同3篇
- 2025年度高端铝艺门定制安装合同范本4篇
- 二零二五年度培训中心教师教学实践基地聘用合同
- 二零二五年度红砖行业市场调研与购销合同
- 二零二五年度车贷担保与汽车租赁服务合同
- 二零二五年度无人驾驶车辆测试合同免责协议书
- 2025年湖北华中科技大学招聘实验技术人员52名历年高频重点提升(共500题)附带答案详解
- 高三日语一轮复习助词「と」的用法课件
- 毛渣采购合同范例
- 无子女离婚协议书范文百度网盘
- 2023中华护理学会团体标准-注射相关感染预防与控制
- 五年级上册小数递等式计算200道及答案
- 2024年广东高考政治真题考点分布汇 总- 高考政治一轮复习
- 燃气管道年度检验报告
- GB/T 44052-2024液压传动过滤器性能特性的标识
- 国际市场营销环境案例分析
评论
0/150
提交评论