- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机]第1章汇编语言基础 补充-20080831
韩晓茹 相关课程 先修课 高级语言程序设计 计算机组织 。。。 后续课 微机原理及接口技术 单片机原理及应用 。。。 教学要求 课堂上注意听讲、重要的是理解 部分补充例题等内容需要笔记 课堂外一定要看书复习或预习、完成作业 充分利用上机时间、多编程练习 教学环节 课堂教学:35学时 上机实验:10学时,要求完成实验指导书中的5个单元 的实验。每次上机前编写好程序;上机时记录好调试的过程;上机时请指导老师检查。 作业:每章后布置作业,逢周一交作业;作业缺1/3者不能参加考试。 考查:考试成绩(70%)上机(20%) 平时(10%) 上机安排 学习目标 了解以Intel80X系列微处理器为基础的PC机的基本结构(编程结构) 掌握Intel80X系列微处理器的指令系统及寻址方式 学会使用DOS和BIOS功能调用及高级汇编语言技术 掌握使用汇编语言设计、编写、调试和运行程序的方法 计算机语言发展简史 机器码和机器语言 用二进制数编码表示的指令,称为机器指令或机器码。 机器语言是机器码及其使用的一组规则。 用机器语言编写的程序称为目标程序。 机器语言特点 面向机器,可直接被计算机执行 执行速度快,占用内存空间小 编程效率低、可读性差、可移值性差 什么是汇编语言 汇编语言是一种面向机器的低级程序设计语言 汇编语言以助记符形式表示每一条计算机指令 助记符是有助记忆、并能描述指令功能的符号。通常是指令功能的英文单词的缩写。 例: 数的传送指令用助记符MOV, 加法用ADD,转移用JMP等 用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序(.ASM) 汇编程序将汇编语言程序“汇编”成机器代码目标模块(.OBJ) 汇编格式指令与机器指令 汇编格式指令与机器指令一一对应 例如 将地址为2000H和2001H 的两内存单元内容相加, 结果存在地址2002H单元中。 汇编语言的主要特点: 面向机器,反映机器运行的实际过程,与计算机的硬件结构和指令系统密切相关 程序员可直接、有效地控制系统硬件 占内存少,执行速度快 编写繁琐、调试困难 汇编语言和高级语言 汇编语言与处理器密切相关 ↘ 汇编语言程序的通用性、可移植性较差 高级语言与具体计算机无关 ↗ 高级语言程序可以在多种计算机上编译后执行 汇编语言和高级语言(2) 汇编语言 编写程序比较繁琐,调试起来也比较困难 高级语言 不必关心琐碎问题, 类似自然语言的语法,易于掌握和应用 汇编语言和高级语言(3) 汇编语言本质上就是机器语言 可以直接、有效地控制计算机硬件 易于产生速度快、容量小的高效率目标程序 高级语言不针对具体计算机系统 不易直接控制计算机的各种操作 目标程序比较庞大、运行速度较慢 汇编语言的应用场合 程序要具有较快的执行时间,或者只能占用较小的存储容量 程序与计算机硬件密切相关,程序要直接、有效地控制硬件 大型软件需要提高性能、优化处理的部分 没有合适的高级语言、或只能采用汇编语言的时候 分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒等等 * * 教师:熊书明 计算机科学与通信工程学院 计算机工程系 Office: 计算机大楼528 Tel: 528(o) m) Email: xsm@ujs.edu.cn 汇编语言程序设计 十进制数据输入/输出 14 分类统计字符个数 13 用表格形式显示一批字符 12 求数组的最大元素(或偶数) 11 求5个数的平均数 10 备注 实验项目 周次 周四3.4节,计算机楼306 周六5.6节,计算机楼306 周六5.6节,计算机楼306 周四3.4节,计算机楼306 周四3.4节,计算机楼306 机器语言 汇编语言 高级语言 FORTRAN BASIC COBOL PASCAL C/C++ JAVA …... 用机器码编程: A0 00 20 02 06 01 20 A2 02 20 用汇编语言编写的确程序段为: MOV AL , var1 ADD AL , var2 MOV var3 , AL #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=%d\n,c); return 0;
文档评论(0)