汇编语言程序设计2ppt培训课件

汇编语言程序设计2ppt培训课件

ID:33617471

大小:441.50 KB

页数:79页

时间:2018-05-23

汇编语言程序设计2ppt培训课件_第1页
汇编语言程序设计2ppt培训课件_第2页
汇编语言程序设计2ppt培训课件_第3页
汇编语言程序设计2ppt培训课件_第4页
汇编语言程序设计2ppt培训课件_第5页
资源描述:

《汇编语言程序设计2ppt培训课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章汇编语言程序设计3.1概述-计算机语言的层次结构3.2汇编语言源程序的格式3.3伪操作命令3.4DOS和BIOS调用3.5汇编语言程序设计举例3.1概述-计算机语言的层次结构计算机语言分为三类:机器语言,汇编语言和高级语言.(1)机器语言机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合.优点:执行速度快,占用内存少缺点:不直观,不易理解和记忆.(2)汇编语言汇编语言是一种用助记符表示的仍然面向机器的计算机语言.为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母

2、和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言.优点:与机器语言相比,编写、阅读和修改都比较方便;占用空间少,执行速度快.缺点:面向机器的语言,通用性差.(3)高级语言计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言.这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言.目前被广泛使用的高级语言有BASIC、PASCAL、C、COBOL、FORTRAN、LOGO以及VC、VB等.优点:不针对某个具体的计

3、算机,通用性强;语言程序易读、易编.缺点:占用更多的内存,编译或解释的过程也要花费更多的时间.为什么要用汇编语言编写程序高级语言“易学易用”,这是因为高级语言的语句是面向数学语言和自然语言的,因此容易接受、掌握.相对来说汇编语言编制程序比高级语言要困难些.既然如此,为什么还要学习和使用汇编语言呢?主要有以下几点:⑴程序设计人员可以充分利用机器硬件的全部功能,发挥机器的长处.⑵现在的微机系统中,底层的一些功能仍然靠汇编语言程序来实现.例如机器的自检、系统初始化、实际的输入输出操作,至今仍然是用汇编语言编制的程序来完成.⑶汇编语言程序的

4、效率通常高于高级语言程序.所以在节省内存空间和提高程序运行速度的重要场合,如实时控制,常常使用汇编语言来编制的.鉴于以上理由,现在许多高级语言都设置有与汇编语言程序接口的功能,以便于提高高级语言程序的效率.3.2汇编语言源程序的格式3.2.1程序结构3.2.2语句结构3.2.1程序结构-分段结构例3.1将五个字节的16进制数相加.被加数存放在数据段以DATA1为首地址的内存空间内,数据:0F8H,60H,0ACH,74H,3BH.加数存放在数据段以DATA2为首地址的内存空间内,数据为:0C1H,36H,9EH,0D5H,20H.;

5、实现将两个五字节的16进制数相加DATASEGMENT;定义数据段DATA1DB0F8H,60H,0ACH,74H,3BH;被加数DATA2DB0C1H,36H,9EH,0D5H,20H;加数DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;初始化DSMOVCX,5;循环次数送CXMOVSI,0;置SI初值为零CLC;清CF标志LOOPER:MOVAL,DATA2[SI];取一个字节加数ADCDATA1[SI],AL;与被加数相加

6、INCSI;SI加1DECCX;CX减1JNZLOOPER;若不等于零,转LOOPERMOVAH,4CHINT21H;返回DOSCODEENDS;代码段结束ENDSTART;源程序结束数据段名SEGMENT┊数据段名ENDS堆栈段名SEGMENT┊堆栈段名ENDS代码段名SEGMENTASSUMECS:代码段名,DS:数据段名,SS:堆栈段名起始标号:MOVAX,数据段名MOVDS,AX┊MOVAH,4CHINT21H;返回DOS代码段名ENDSEND起始标号汇编语言源程序的一般格式:3.2.1程序结构-分段结构;实现将两个五字节的

7、16进制数相加DATASEGMENT;定义数据段DATA1DB0F8H,60H,0ACH,74H,3BH;被加数DATA2DB0C1H,36H,9EH,0D5H,20H;加数DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;初始化DSMOVCX,5;循环次数送CXMOVSI,0;置SI初值为零CLC;清CF标志LOOPER:MOVAL,DATA2[SI];取一个字节加数ADCDATA1[SI],AL;与被加数相加INCSI;SI加

8、1DECCX;CX减1JNZLOOPER;若不等于零,转LOOPERMOVAH,4CHINT21H;返回DOSCODEENDS;代码段结束ENDSTART;源程序结束程序由数条语句构成,每语句占一行.指令性语句(指令语句)指示性语句(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。