1 / 23
文档名称:

第6章 汇编语言程序设计1课件.ppt

格式:ppt   大小:1,374KB   页数:23页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第6章 汇编语言程序设计1课件.ppt

上传人:aluyuw1 2022/11/25 文件大小:1.34 MB

下载得到文件列表

第6章 汇编语言程序设计1课件.ppt

相关文档

文档介绍

文档介绍:该【第6章 汇编语言程序设计1课件 】是由【aluyuw1】上传分享,文档一共【23】页,该文档可以免费在线阅读,需要了解更多关于【第6章 汇编语言程序设计1课件 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第6章汇编语言程序设计
本章概述
结构化程序设计
汇编语言程序设计的一般步骤
流程图
第6章汇编语言程序设计
结构化程序设计的概念
所谓结构化程序设计是指程序的设计、编写和测试都采用一种规定的组织形式进行,而不是想怎么写就怎么写。这样,可使编制的程序结构清晰,易于读懂,易于调试和修改,充分显示出模块化程序设计的优点。
一个良好的程序除了应能正常运行和实现预定的功能以外,还应尽量满足以下要求:
程序要结构化、简明、可读性好,便于调试。
执行速度快,程序代码效率高。
占用存储空间少。
要想实现这些目标,就并必须严格按照结构化程序设计思想来分析、设计程序。
第6章汇编语言程序设计
结构化程序设计的概念
在20世纪70年代初,由Boehm和Jacobi提出并证明的结构定理:即任何程序都可以由3种基本结构程序构成结构化程序,这3种结构是:顺序结构、分支(条件选择)结构和循环结构。
顺序结构
分支结构
循环结构
每一个结构只有一个入口和一个出口,3种结构的任意组合和嵌套就构成了结构化的程序。
第6章汇编语言程序设计
汇编语言程序设计的一般步骤
,确定算法



第6章汇编语言程序设计

下面举例说明顺序程序的设计。
【】试编写一程序计算以下表达式的值。
w=(v-(x*y+z-540))/x
式中x、y、z、v均为有符号字数据。
一、分析问题:
设x、y、z、v的值存放在字变量X、Y、Z、V
中,结果存放在双字变量W之中。

第6章汇编语言程序设计

下面举例说明查表程序的设计。
【】已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在TAB表中,要查的学生的学号放在变量NO中,查表结果放在变量ENGLISH中。
一、分析问题:
本题要求查找TAB表中的学生英语成
绩,首先需要为TAB表定义一个空间,
另外,还需要定义学号NO和结果
ENGLISH。
数据定义完成后,需要将TAB表中的数
据送到BX寄存器中,再将学生的学号传
送给AL寄存器,因表的首地址是0开头
的,所以在查找前需要将AL减1.
开始
初始化
获取数据
获取TAB表首地址
获取查表数
查表交换
ENGLISH←(AL)
结束
第6章汇编语言程序设计

下面举例说明字符串的应用。
【】已经定义字符串MYSTRING如下:
MYSTRINGDB‘ASampleforaddressing.’
用适当的指令把这个字符串的第5个字符送入BH寄存器,第12个字符送入BL寄存器。
分析:
首先需定义字符串MTSTRING,再获得该字符
串的内存地址,其偏移地址存放在SI数据指针
寄存器中,将指针加N可得字符串的第N个字符.
注意:字符串中每个字符的编码占用一个字
节,连续地存储在内存中,这片存储单元是由
隐含指针DS:SI或者ES:DI来指定的。
开始
初始化
获得数据
获得字符串的偏移地址
BH←第5个字符
BL←第12个字符
结束
第6章汇编语言程序设计

【】将NUM1和NUM2两个存储单元的内容交换(设NUM1的初值为1,NUM2的初值为2)
分析:
定义两个存储单元,
设定初值,
交换内容.
DATASEGMENT
NUM1DB1
NUM2DB2
DATAENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAL,NUM1
XCHGAL,NUM2
MOVNUM1,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
第6章汇编语言程序设计
【】编写程序完成下面的功能:从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序将这三个字符存入三个连续的字节单元。
分析:
首先利用1号系统功能调用显示输
入的字母,然后找到该字母的前导
字符,数据的ASCⅡ码减1,且数
据指针减1,
后继字符,数据的ASCⅡ码加1,
且数据指针加1.
DATASEGMENT
ADB3DUP(?)
DATAENDS
CODESEGMENT
ASSUMEDS:DATA,CS:CODE
START:MOVAX,DATA
MOVDS,AX
LEASI,A
MOVAH,01H
INT21H
MOVBL,AL
SUBBL,1
MOV[SI],BL
INCSI
ADDBL,1
MOV[SI],BL
INCSI
ADDBL,1
MOV[SI],BL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
第6章汇编语言程序设计
作业
第145页第8题和第9题
,使寄存器BL中的高4位与低4位互换。