汇编语言程序设计----第1章(张雪兰等主编)

上传人:j****9 文档编号:54531775 上传时间:2018-09-14 格式:PPT 页数:37 大小:238.50KB
返回 下载 相关 举报
汇编语言程序设计----第1章(张雪兰等主编)_第1页
第1页 / 共37页
汇编语言程序设计----第1章(张雪兰等主编)_第2页
第2页 / 共37页
汇编语言程序设计----第1章(张雪兰等主编)_第3页
第3页 / 共37页
汇编语言程序设计----第1章(张雪兰等主编)_第4页
第4页 / 共37页
汇编语言程序设计----第1章(张雪兰等主编)_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《汇编语言程序设计----第1章(张雪兰等主编)》由会员分享,可在线阅读,更多相关《汇编语言程序设计----第1章(张雪兰等主编)(37页珍藏版)》请在金锄头文库上搜索。

1、汇编语言程序设计,课程介绍,专业基础课、必修课 计算机组成原理的一个部分 软件开发的一个组成部分 一种低级语言的程序设计 高级语言程序设计的扩展,相关课程,先修课 高级语言程序设计 计算机组成原理 后续课 微机接口技术 计算机控制技术,计算机语言发展简史,汇编语言,汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令 助记符(mnemonic)是便于人们记忆、并能描述指令功能和指令操作数的符号 助记符一般就是表明指令功能的英语单词或其缩写 用助记符表示的指令就是汇编语言中的汇编格式指令 汇编格式指令以及使用它们编写程序的规则就形成汇编语言(Assembly Lan

2、guage) 汇编语言源程序以 .ASM为默认的扩展名,汇编程序(Assembler),80x86CPU的汇编程序主要有微软的宏汇编程序MASM。较著名的还有Borland公司的TASM,无实质差别 本课程采用Borland的TASM5.0,汇编语言的特点 面向机器的低级语言,通常是为特定的计算机或计算机系列专门设计的。保持了机器语言的优点,具有直接和简捷的特点。可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。经常与高级语言配合使用,应用十分广泛。,汇编语言可操作的系统硬件资源,中央处理单元 存储器 外部

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

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

5、采用汇编语言的时候 分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等 70%以上的系统软件是用汇编语言编写的。,一个简单的汇编语言源程序举例,分别用C语言和汇编语言编制一程序,实现如下功能:给定两个整数(128),将其进行加法运算并在屏幕上显示加法运算结果。,一个简单的汇编语言源程序举例,#include “stdafx.h“#include “stdio.h“int main() int a,b,c;a=1; b=2;c=a+b;printf( “c=%dn“,c );return 0;,编译后的目标文件达到3.59KB,一个简单的汇编语言源程序举例,data seg

6、ment a db ? b db ? c db ? string db c=$ data endscode segment main proc farassume cs:code, ds:data, es:data start:push dssub ax,axpush axmov ax,datamov ds,axmov es,ax,mov a,1mov b,2mov al,aadd al,bmov c,allea dx,stringmov ah,09int 21hadd c,30hmov dl,cmov ah,2int 21hmov dl,0ahint 21hmov dl,0dhint 21h

7、ret main endp code endsend start,汇编后的目标文件只有208字节,学习汇编语言,你需要,胆量:不要害怕去接触那些计算机的内部工作机制。 知识:了解计算机常用的数制,特别是二进制、十六进制、八进制,以及计算机保存数据的方法。 开放:接受汇编语言与高级语言的差异,而不是去指责它如何的不好读。 经验:要求你拥有任意其他编程语言的一点点编程经验。 头脑。,参考资料 1.80X86汇编语言程序设计沈美明 温冬婵 清华大学出版社 2.IBM PC 汇编语言与程序设计 PETER ABEL 编著 第4版 清华大学出版社.PRENTICE HALL第5版 人民邮电出版社 3.

8、IBM PC 汇编语言与程序设计例题习题集温冬婵 沈美明 清华大学出版社,第1章 基 础 知 识, 数制 数制之间的转换 运算 数和字符的表示,预 备 知 识,存储容量 1K = 1024 = 210 (Kilo) 1M = 1024K = 220 (Mega) 1G = 1024M = 230 (Giga)1个二进制位:bit (比特) 8个二进制位:Byte (字节) 1Byte = 8bit 2个字节: Word (字) 1Word = 2Byte = 16bit,1. 数 制,二进制: 基数为2,逢二进一11012 = 12 3 + 12 2 + 12 0 = 1310 十六进制:基数

9、为16,逢十六进一1001, 0001, 1000, 01119 1 8 7= 9 16 3 + 1 16 2 + 8 16 1 + 7 16 0,2. 数制之间的转换,二进制 十六进制十进制 二进制十进制 十六进制,降幂法 除法, 二进制 十六进制0011 0101 1011 1111 3 5 B F 0011,0101,1011,1111B = 35BFHA 1 9 C 1010 0001 1001 1100 A19CH = 1010,0001,1001,1100B,1011B = 23+21+20=11D降幂法 除法例: 27D = ? B27 11 3 3 1- - - -2n 16

10、8 4 2 11 1 0 1 1 27D = 11011B, 二进制 十进制, 十六进制 十进制BF3CH = 11163 +15162 +3161 +12160= 48956D降幂法 除法例:399D = ? H399 143 15 399/1624/161/16 0 - - - 16n 256 16 1 F 8 1 1 8 F 399D = 18FH,3. 运算(算术运算和逻辑运算), 算术运算二进制数:逢二进一 借一为二加法规则 乘法规则0 + 0 = 0 0 0 = 00 + 1 = 1 0 1 = 01 + 0 = 1 1 0 = 01 + 1 = 0 (进位1) 1 1 = 1,0

11、 5 C 3 H 3 D 2 5 H 4 2 E 8 H,3 D 2 5 H 0 5 C 3 H 3 7 6 2 H,1,1,十六进制数:逢十六进一 借一为十六, 逻辑运算(按位操作),“与”运算(AND) “或”运算(OR)A B AB A B AB 0 0 0 0 0 00 1 0 0 1 11 0 0 1 0 11 1 1 1 1 1“非”运算(NOT) “异或”运算(XOR)A A A B AB0 1 0 0 01 0 0 1 11 0 11 1 0,例:X=00FFH Y=5555H,求Z=XY= ?X= 0000 0000 1111 1111 B Y= 0101 0101 0101 0101 BZ= 0101 0101 1010 1010 B Z=55AAH,4. 数和字符的表示, 计算机中正负数的表示,7 6 5 4 3 2 1 0,符号位 数值位,假设机器字长为16位:,符号位 = 0 正数 数值位= 1 负数,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号