汇编语言程序设计课件1培训教材_第1页
汇编语言程序设计课件1培训教材_第2页
汇编语言程序设计课件1培训教材_第3页
汇编语言程序设计课件1培训教材_第4页
汇编语言程序设计课件1培训教材_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

汇编语言程序设计 AssemblyLanguageProgramming陈生庆Tel: 2977575教材相关课程先修课高级语言程序设计计算机组成原理后续课微机接口技术计算机控制技术第一章绪论§1.1汇编语言程序设计的一般概念§1.2为什么要学习和使用汇编语言§1.3一个简单的汇编语言源程序举例§1.4计算机中数和字符的表示 §1.1汇编语言程序设计的一般概念一、汇编语言二、汇编语言源程序三、汇编程序四、目标程序五、连接程序六、调试程序一、汇编语言汇编语言是一种面向机器的低级程序设计语言汇编语言以助记符形式表示每一条计算机指令助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号助记符一般就是表明指令功能的英语单词或其缩写用助记符表示的指令就是汇编语言中的汇编格式指令汇编格式指令以及使用它们编写程序的规则就形成汇编语言(AssemblyLanguage)二、汇编语言源程序用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序汇编语言源程序以.ASM为默认的扩展名三、汇编程序(Assembler)汇编程序将汇编语言源程序翻译(称为“汇编”)成机器代码目标模块80x86CPU的汇编程序主要有微软的宏汇编程序MASM。较著名的还有Borland公司的TASM,无实质差别本课程采用微软的MASM6.11这是MASM的最后一个独立版本可免费升级为MASM6.14(支持奔腾3)也可升级为MASM6.15(支持奔腾4)四、目标程序机器语言程序汇编语言源程序经汇编程序翻译而成不能直接运行五、连接程序(Linker)连接程序将汇编后的目标模块转换为可执行程序每个程序开发环境都有连接程序连接程序的文件名通常是:LINK.EXE六、调试程序(Debugger)调试程序进行程序排错、分析等本课程采用DOS的DEBUG程序其他还有TurboDebugger等源程序可执行文件目标模块文本编辑器汇编程序连接程序调试程序§1.2为什么要学习和使用汇编语言一、汇编语言的主要特点二、汇编语言可操作的系统硬件资源三、汇编语言与高级语言之比较四、汇编语言的应用场合一、汇编语言的主要特点汇编语言程序与处理器指令系统密切相关程序员可直接、有效地控制系统硬件资源形成的可执行文件运行速度快、占用主存容量少二、汇编语言可操作的系统硬件资源中央处理单元存储器(主存储器)外部设备(接口电路)1、中央处理单元CPU

(Intel80x86) 对汇编语言程序员,最关心其中的寄存器(Register)2、存储器(主存储器)呈现给汇编语言程序员的,是存储器地址(Address)存储器是由大量存储单元组成。为了区别每个单元,我们将它们编号存储器地址是存储器中存储单元的编号微机的每个存储单元存放一个字节的数据一个字节B(Byte)包含了8个二进制位b(bit)通常采用十六进制数来表达地址Intel8086具有1兆字节(1MB)存储器容量其存储器地址可以表示为:00000H~FFFFFH其中大写H(或小写h)表示是16进制数3、外部设备(接口电路)汇编语言程序员看到的是端口(Port)I/O接口电路由接口寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址。端口就是指I/O地址,是微机系统对I/O接口电路中与程序设计有关的寄存器的编号系统实际上就是通过这些端口与外设进行通讯的通常采用十六进制数来表达端口Intel8086支持64K个8位端口其I/O地址可以表示为:0000H~FFFFH三、汇编语言和高级语言(1)汇编语言与处理器密切相关 ↘汇编语言程序的通用性、可移植性较差高级语言与具体计算机无关 ↗高级语言程序可以在多种计算机上编译后执行三、汇编语言和高级语言(2)汇编语言功能有限、涉及硬件细节 ↘编写程序比较繁琐,调试起来也比较困难高级语言提供了强大的功能,不必关心琐碎问题 ↗类似自然语言的语法,易于掌握和应用三、汇编语言和高级语言(3)汇编语言本质上就是机器语言↗可以直接、有效地控制计算机硬件↗易于产生速度快、容量小的高效率目标程序高级语言不针对具体计算机系统↘不易直接控制计算机的各种操作↘目标程序比较庞大、运行速度较慢三、汇编语言和高级语言(4)汇编语言的优点:直接控制计算机硬件部件可以编写在“时间”和“空间”两方面最有效的程序汇编语言的缺点:与处理器密切有关需要熟悉计算机硬件系统、考虑许多细节编写繁琐,调试、维护、交流和移植困难三、汇编语言和高级语言(5)汇编语言的优点使得它在程序设计中占有重要的位置,是不可被取代的汇编语言的缺点使得人们主要采用高级语言进行程序开发工作有时需要采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题四、汇编语言的应用场合程序要具有较快的执行时间,或者只能占用较小的存储容量程序与计算机硬件密切相关,程序要直接、有效地控制硬件大型软件需要提高性能、优化处理的部分没有合适的高级语言、或只能采用汇编语言的时候分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等微机的软件系统软件:DOS平台MS-DOS6.22Windows9.x的DOS实地址方式MS-DOS虚拟环境应用软件:开发汇编语言程序涉及文本编辑器汇编程序连接程序调试程序集成化开发环境集成化开发环境集成开发环境是进行程序设计所用到的各种软件的有机集合。其中,有文本编辑器,有语言翻译程序,有连接程序,还组合有调试程序等。大型的程序设计项目往往要借助这种集成开发环境,也就是软件开发工具(包)。教材中介绍有集编辑、汇编、连接和调试为一体的综合开发环境,即MASM的程序员工作平台PWB。§1.3一个简单的汇编语言源程序举例分别用C语言和汇编语言编制一程序,实现如下功能: 从键盘输入两个1位整数,将其进行加法运算并在屏幕上显示加法运算等式(和《=9)。

1 DATA SEGMENT ;定义数据段2 A DB03 B DB04 C DB?5 DATA ENDS6 PROG SEGMENT ;定义程序段7 MAIN PROCFAR ;定义一远过程8 ASSUMECS:PROG,DS:DATA9 START: PUSH DS ;为返回做准备10 SUB AX,AX11 PUSH AX12 MOV AX,DATA13 MOV DS,AX

14 MOV AH,01H ;mainpartofprogramcodegoeshere15 INT 21H16 AND AL,0FH17 MOV A,AL18 MOV AH,01H19 INT 21H20 AND AL,0FH21 MOV B,AL22 ADD AL,A23 MOV C,AL24 MOV DL,A25 ADD DL,30H26 MOV AH,227 INT 21H28 MOV DL,”+”29 INT 21H30 MOV DL,B31 ADD DL,30H32 INT 21H33

MOV DL,“=”34 ADD DL,30H35 INT 21H36

MOV DL,C37 ADD DL,30H38 INT 21H39 RET40 MAIN ENDP ;ReturntoDOS41 PROG ENDS ;Endofmainpartofprogram42 END START ;Endassembly§1.4计算机中数和字符的表示一、数制及数制之间的转换二、码制三、BCD码及其表示四、字符的编码五、几种基本的逻辑运算一、数制及数制之间的转换汇编语言使用的数制:十进制数(D)二进制数(B)十六进制数(H)汇编程序自动完成二、码制计算机中的数是用补码表示的带符号数的表示范围(补码) n位二进制数 -2n-1

≦N≦2n-1-18位二进制数: -128—+12716位二进制数: -32768—+32767三、BCD码及其表示76543210BCD无意义76543210BCDBCD个位十位用4位二进制数表示1位十进制数常用的BCD码存储格式组合(压缩)型BCD码(1Byte表示2个BCD码)非组合(非压缩)型BCD码(1Byte表示1个BCD码)四、字符的编码采

温馨提示

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

评论

0/150

提交评论