天津大学 计算机专业 汇编语言 课程 第一章_第1页
天津大学 计算机专业 汇编语言 课程 第一章_第2页
天津大学 计算机专业 汇编语言 课程 第一章_第3页
天津大学 计算机专业 汇编语言 课程 第一章_第4页
天津大学 计算机专业 汇编语言 课程 第一章_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言程序设计Assembly Language ProgrammingAbout Teacher王秀锦wxiujinhttp:/faculty/wangxiujin/汇编语言/25B-1214 by appointmen材参考书学时安排总学时授课上机644816成绩构成总分期末%平时%1008020课程介绍专业基础课、必修课计算机组成原理的一个部分软件开发的一个组成部分一种低级语言的程序设计高级语言程序设计的扩展相关课程先修课高级语言程序设计计算机组成原理后续课微机接口技术计算机控制技术第一章 绪论1.1 汇编语言程序设计的一般概念1.2 为什么要学习和使用汇编语

2、言1.3一个简单的汇编语言源程序举例1.4计算机中数和字符的表示1.1 汇编语言程序设计的一般概念一、汇编语言二、汇编语言源程序三、汇编程序四、目标程序五、连接程序六、调试程序一、汇编语言汇编语言是一种面向机器的低级程序设计语言汇编语言以助记符形式表示每一条计算机指令助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号助记符一般就是表明指令功能的英语单词或其缩写用助记符表示的指令就是汇编语言中的汇编格式指令汇编格式指令以及使用它们编写程序的规则就形成汇编语言(Assembly Language)二、汇编语言源程序用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序汇

3、编语言源程序以 .ASM为默认的扩展名三、汇编程序(Assembler)汇编程序将汇编语言源程序翻译(称为“汇编”)成机器代码目标模块80 x86CPU的汇编程序主要有微软的宏汇编程序MASM。较著名的还有Borland公司的TASM,无实质差别本课程采用微软的MASM 5.0以上四、目标程序机器语言程序汇编语言源程序经汇编程序翻译而成不能直接运行五、连接程序(Linker)连接程序将汇编后的目标模块转换为可执行程序每个程序开发环境都有连接程序连接程序的文件名通常是:LINK.EXETLINK.EXE六、调试程序(Debugger)调试程序进行程序排错、分析等本课程采用DOS的DEBUG程序其

4、他还有Turbo Debugger等源程序可执行文件目标模块文本编辑器汇编程序连接程序调试程序1.2为什么要学习和使用汇编语言一、汇编语言的主要特点二、汇编语言可操作的系统硬件资源三、汇编语言与高级语言之比较四、汇编语言的应用场合一、汇编语言的主要特点汇编语言程序与处理器指令系统密切相关程序员可直接、有效地控制系统硬件资源形成的可执行文件运行速度快、占用主存容量少二、汇编语言可操作的系统硬件资源1. 中央处理单元对汇编语言程序员,最关心其中的寄存器(Register)2. 存储器(主存储器)通过存储器地址(Address)访问存储单元外部设备(接口电路)通过I/O端口(Port)地址对I/O设

5、备进行操作三、汇编语言和高级语言(1)汇编语言与处理器密切相关 汇编语言程序的通用性、可移植性较差高级语言与具体计算机无关 高级语言程序可以在多种计算机上编译后执行汇编语言功能有限、涉及硬件细节 编写程序比较繁琐,调试起来也比较困难高级语言提供了强大的功能,不必关心琐碎问题类似自然语言的语法,易于掌握和应用三、汇编语言和高级语言(2)汇编语言本质上就是机器语言 可以直接、有效地控制计算机硬件 易于产生速度快、容量小的高效率目标程序高级语言不针对具体计算机系统 不易直接控制计算机的各种操作 目标程序比较庞大、运行速度较慢三、汇编语言和高级语言(3)汇编语言的优点:直接控制计算机硬件部件可以编写在

6、“时间”和“空间”两方面最有效的程序在程序设计中占有重要的、不可被取代位置汇编语言的缺点:与处理器密切有关需要熟悉计算机硬件系统、考虑许多细节编写繁琐,调试、维护、交流和移植困难主要采用高级语言进行程序开发工作有时需要采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题四、汇编语言的应用场合程序要具有较快的执行时间,或者只能占用较小的存储容量程序与计算机硬件密切相关,程序要直接、有效地控制硬件大型软件需要提高性能、优化处理的部分没有合适的高级语言、或只能采用汇编语言的时候分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等微机的软件系统软件:DOS平台MS

7、-DOS 6.22 Windows 9.x的DOS实地址方式MS-DOS虚拟环境应用软件:开发汇编语言程序涉及文本编辑器汇编程序连接程序调试程序集成化开发环境1.3 一个简单的源程序举例分别用C语言和汇编语言编制一程序,实现如下功能:给定两个整数(128),将其进行加法运算并在屏幕上显示加法运算结果。 #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; C语言实现 编译后的目标文件达到3.59KB汇编语言

8、实现data segmenta db ?b db ?c db ?string db c=$data endscode segmentmain proc far assume cs:code, ds:data, es:datastart: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,ax mov a,1 mov b,2 mov al,a add al,b mov c,al lea dx,string mov ah,09 int 21h add c,30h mov dl,c mov ah,2 int 21h mov dl,0ah i

9、nt 21h mov dl,0dh int 21h retmain endpcode ends end start汇编后的目标文件只有208字节学习汇编语言,你需要胆量:不要害怕去接触那些计算机的内部工作机制。 知识:了解计算机常用的数制,特别是二进制、十六进制、八进制,以及计算机保存数据的方法。 开放:接受汇编语言与高级语言的差异,而不是去指责它如何的不好读。 经验:要求你拥有任意其他编程语言的一点点编程经验。 头脑。 为什么学习汇编如果你仅仅只是想混口饭吃,找个工作,可能教你成为MFC的高手之类的书对你就足够了。但是,如果你想做一个很好的软件,不仅能满足你谋一碗饭吃,还能使你扬名,最后你的

10、软件还能成为很多人用,甚至你还想把它作为一个事业去经营,从最低层开始做起,从最基本做起。 梁肇新编程高手箴言1.4 计算机中数和字符的表示一、数制及数制之间的转换二、码制三、BCD码及其表示四、字符的编码五、几种基本的逻辑运算一、数制及数制之间的转换 汇编语言使用的数制:十进制数(D)二进制数(B)十六进制数(H)汇编程序自动完成二、码制计算机中的数是用补码表示的带符号数的表示范围(补码)n位二进制数-2 n-1 N 2 n-1-18位二进制数:-128 +12716位二进制数:-32768 +32767三、BCD码及其表示 7 6 5 4 3 2 1 0BCD无意义 7 6 5 4 3 2 1 0BCDBCD个 位十 位用4位二进制数表示1位十进制数常用的BCD码存储格式组合(压缩)型BCD码(1Byte表示2个BCD码)非组合(非压缩)型BCD码(1Byte表示1个B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论