资源描述:
《汇编语言基础知识-进制转换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、汇编语言程序设计先修课程高级语言程序设计教材《汇编语言及应用教程》,李浪熊江齐忠主编,华中科技大学出版社参考书《IBM-PC汇编语言程序设计(第2版)》,沈美明温冬婵编著,清华大学出版社《汇编语言》,王爽编,清华大学出版社学时课堂教学32学时,上机实践8学时考核方式期末考试:60%平时成绩:40%作业:10%上机:30%作业:40%程序一词来自生活,通常指完成某些事务的一种既定方式和过程在日常生活中,可以将程序看成对一系列动作的执行过程的描述什么是程序介绍你从住处到学校上课的过程银行1、带上存折/银行卡
2、去银行3、将存折或储蓄卡递给银行职员并告知取款数额2、取号排队5、银行职员办理取款事宜生活中的程序6、拿到钱并离开银行4、输入密码什么是指令?1、做口述笔记……2、键入信函的内容……3、发送传真……1、口述2、信函movax,yaddax,xmovsum,ax指令被逐条执行程序员老板秘书计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合要执行的一组指令程序3、传真计算机中的程序编写程序的工具就是计算机语言,汇编就是多种语言中的一种汇编语言是什么?汇编语言能做什么?汇编语言为什
3、么学?汇编语言怎么学?初始汇编语言汇编语言机器语言高级语言FORTRANBASICPASCALC/C++JAVAScript……xword?yword?sumword?movx,100movy,200movax,yaddax,xmovsum,ax66C70500204000640066C70502204000C80066A1022040006603050020400066A304204000intx,y,sum;x=100;y=200;sum=x+y;机器语言汇编语言C/C++语言3种类型语言之间的直观
4、比较机器语言机器语言真正唯一能让CPU直接识别的语言。它是用二进制编码表示的机器指令的集合及一组使用机器指令的规则。例1:用8086机器语言实现简单加法(2200H)+(2201H)结果存放在(2202H)中的程序片段:用16进制表示A00022;将(2200H)中的数送到AL中02060122;将(AL)+(2201H),和数送到AL中A20222;将(AL)送回(2202H)中机器语言优缺点优点:目标程序小,执行速度快,效率高;缺点:表达的意义不直观,编写、阅读、调试较困难。汇编语言汇编语言:是一种
5、符号语言,与机器语言一一对应;使用助记符表示相应的操作,并遵循一定的语法规则。与机器语言有类似的优缺点,比机器语言更容易所理解。A0002202060122A20222MOVAL,[2200H]ADDAL,[2201H]MOV[2202H],AL高级语言高级语言:面向人的语言,有多种类型。优缺点优点:便于阅读,易学易用,不涉及硬件,具有通用性;缺点:目标代码冗长,占用内存多,从而执行时间长,效率不高,不能对某些硬件进行操作。高级语言与汇编语言开销对比下面是两个小例子,例2是用高级语言VC++编写的,例3
6、是用汇编语言编写的。它们完成相同的功能。例2#include"stdio.h"main(){inta,b,c;a=1;b=2;c=a+b;printf(“c=%d",c);}编译后的目标文件达到3.59KB高级语言与汇编语言开销对比datasegmentadb?bdb?cdb?stringdb'c=$'dataendscodesegmentmainprocfarassumecs:code,ds:data,es:datastart:pushdssubax,axpushaxmovax,datamovds
7、,axmoves,axmova,1movb,2moval,aaddal,bmovc,alleadx,stringmovah,09int21haddc,30hmovdl,cmovah,2int21hmovdl,0ahint21hmovdl,0dhint21hretmainendpcodeendsendstart汇编后的目标文件只有208字节例3用高级语言和汇编语言书写的程序均不能被CPU直接识别并执行,这些程序通称源程序。因此,所有源程序都必须翻译成目标程序后才能被CPU执行。高级语言程序、汇编语言程序和
8、机器语言程序的关系:高级语言源程序编译解释汇编语言源程序汇编目标程序相应编译器或解释程序汇编程序汇编程序则专门负责完成将汇编语言源程序翻译为目标程序汇编语言相对于高级语言的特点:汇编语言是面向机器的语言,它的指令语句与机器指令一一对应,是机器指令的符号表示。因此,对于不同类型的cpu,要求使用不同的汇编语言和汇编程序。汇编语言保持了机器语言的特点,具有直接和简捷的特点。汇编语言可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、cpu、