中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第五章 汇编程序设计

第5章汇编语言程序设计 5.1顺序结构程序设计 5.2分支结构程序设计 5.3循环结构程序设计 5.4子程序设计 5.5模块化程序设计 5.6常用D0s中断调用
第5章 汇编语言程序设计 5.1 顺序结构程序设计 5.2分支结构程序设计 5.3循环结构程序设计 5.4子程序设计 5.5模块化程序设计 5.6常用Dos中断调用 1

汇编语言程序设计的基本过程,可以分为以下几步: 1.分析问题,明确要求。 2.建立数学模型。 3.确定算法。 4.画出程序的流程图。 5.编写程序,上机调试。 6.整理资料,投入使用。 汇编语言程序设计,应采用模块化和结构化的设计方法。 888 2
汇编语言程序设计的基本过程,可以分为以下几步: 1.分析问题,明确要求。 2.建立数学模型 。 3.确定算法。 4.画出程序的流程图 。 5.编写程序,上机调试。 6.整理资料,投入使用 。 汇编语言程序设计 汇编语言程序设计,应采用模块化和结构化的设 应采用模块化和结构化的设计方法。 2

5.1顺序结构程序设计 顺序结构程序是指完全按先后顺序逐条执行指令序列的程序,● 既不跳转也不循环,从头到尾一条一条执行语句。单独的 顺序结构程序完成的功能相对简单,很多情况下都是顺序、 分支、循环、子程序结构相结合,这样的程序可以具有更 大的功能。如图5.1所示。 开始→语句1→ ..>语句n>结束 见课本图5.1顺序结构程序流程图
5.1 顺序结构程序设计 顺序结构程序是指完全按先后顺序逐条执行指令序列的程序, 既不跳转也不循环,从头到尾一条一条执行语句。单独的 顺序结构程序完成的功能相对简单,很多情况下都是顺序 、 分支、循环、子程序结构相结合,这样的程序可以具有更 大的功能。如图5.1所示。 开始 Æ语句 1 Æ ….. Æ语句 n Æ结束 见课本图5.1 顺序结构程序流程图 3

例题5.1 键盘输入任一按键,用十进制输出相应按键的ASCII值 分析:问题的求解并不复杂,首先从键盘接收一个 按键,键的ASCII值一定在0到255之间,最多是十 进制的3位数。作为整数是不能直接输出的,应先 把这个值除以100,得到商是百位数字,再把刚才 的余数除以10,商是十位数字,余数是个位数字, 把这3个数字分别加上30H,则转换成相应的ASCII 码,在回车换行后依次输出
例题5.1 键盘输入任一按键,用十进制输出相应按键的ASCII值。 分析:问题的求解并不复杂,首先从键盘接收一个 按键,键的ASCII值一定在0到255之间,最多是十 进制的3位数。作为整数是不能直接输出的 作为整数是不能直接输出的,应先 把这个值除以100,得到商是百位数字,再把刚才 的余数除以10,商是十位数字,余数是个位数字 余数是个位数字, 把这3个数字分别加上30H,则转换成相应的ASCII 码,在回车换行后依次输出。 4

CODE SEGMENT ADD AH,30H ASSUME CS:CODE MOV BX,AX;AX存放十位 START:MOV AH,1 数字和个位数字 NT21H;读入一个按键 MOV AH,2 MOV AH,0;AX保存按键的 MOV DL,13 ASC INT 21H ;输出回车 MOV BL,100 MOV DL,10 DVBL;ASCI除以100, INT 21H ;输出换行 取百位数字 MOV DL,CL MOV CL,AL;CL存放百位 INT 21H 数字 ;输出百位数字 MOV DL,BL ADD CL,30H;CL存放百位 数字的ASCⅡ INT 21H ;输出十位数字 MOV AL,AH MOV BL,BH MOV AH,0 INT 21H ;输出个位数字 MOV BL,10 MOV AH,4CH DIV BL ;ASCⅡ除以10, INT 21H 取十位数字 CODE ENDS ADD AL,30H END START ●
CODE SEGMENT ADD AH, 30H ASSUME CS:CODE START: MOV AH, 1 INT 21H ;读入 一个按键 , MOV BX, AX ;AX存放十位 数字和个位数字 MOV AH, 2 INT 21H ;读入 个按键 MOV AH, 0 ;AX保存按键的 ASCII MOV BL 100 , MOV DL, 13 INT 21H ;输出回车 MOV BL, 100 MOV DL 10 DIV BL ;ASCII除以100, 取百位数字 MOV CL AL ;CL存放百位 MOV DL, 10 INT 21H ;输出换行 MOV DL, CL MOV CL, AL ;CL存放百位 INT 21H ;输出百位数字 数字 ADD CL, 30H ;CL存放百位 数字的 ASCII INT 21H ;输出百位数字 MOV DL, BL INT 21H ;输出十位数字 OBB 数字的MOV AL, AH MOV AH, 0 MOV BL 10 M OV BL, B H INT 21H ;输出个位数字 MOV AH, 4CH MOV BL, 10 DIV BL ;ASCII除以10, 取十位数字 ADD AL 30H INT 21H CODE ENDS ADD AL, 30H END START 5

●● 例5.2编写程序,计算Z=((W-X)/10*Y)的平方值,R为相除所得余 数,其中W,X,Y均为八位有符号二进制数。 ● 分析:这是一个简单的算术运算问题,编程之前首先根据运算对 象分配存储单元,然后针对运算对象选择操作指令。注意Z变量的 数据类型。 DATA SEGMENT MOV AL,X CBW W DB-128 MOV BX,AX X DB 127 MOV AL,W Y DB-100 CBW SUB AX,BX R DBO MOV BL,10 Z DD0 IDIV BL DATA ENDS MOVR,AH IMUL Y CODE SEGMENT IMUL AX ASSUME MOV WORD PTRZ,AX CS:CODEDS:DATA.SS:STACK MOV WORD PTR Z+2,DX BEGIN:MOV AX,DATA MOV AH,4CH INT 21H MOV DS,AX CODE ENDS ●● END BEGIN
例5.2 编写程序,计算Z=((W-X)/10*Y)的平方值,R为相除所得余 数,其中W,X,Y均为八位有符号二进制数 均为八位有符号二进制数 。 分析:这是一个简单的算术运算问题,编程之前首先根据运算对 象分配存储单元,然后针对运算对象选择操作指令。注意Z变量的 数据类型 。 DATA SEGMENT W DB -128 MOV AL,X CBW MOV BX AX W DB 128 X DB 127 Y DB -100 MOV BX,AX MOV AL,W CBW SUB AX BX R DB 0 Z DD 0 DATA ENDS SUB AX,BX MOV BL,10 IDIV BL DATA ENDS MOV R AH CODE SEGMENT ASSUME MOV R,AH IMUL Y IMUL AX MOV WORD PTR Z,AX CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX,DATA MOV WORD PTR Z,AX MOV WORD PTR Z+2,DX MOV AH,4CH INT 21H MOV DS, AX CODE ENDS END BEGIN 6

5.2分支结构程序设计 ●● 在程序中,往往需要对不同的情况或条件做出不同的处理,这样 的程序就不再是简单的顺序结构,而要采用分支结构。分支程 序结构可以有两种基本形式,即二路分支结构和多路分支结构, 如图5.2所示。 条 件 条 古- (a)二路分支结构 (b)多路分支结构 图5.2分支结构程序流程图
5.2 分支结构程序设计 在程序中,往往需要对不同的情况或条件做出不同的处理,这样 的程序就不再是简单的顺序结构,而要采用分支结构。分支程 序结构可以有两种基本形式,即二路分支结构和多路分支结构, 如图5.2所示。 条件 条件 …… (a)二路分支结构 (b)多路分支结构 图5.2 分支结构程序流程图 7

由图可知,这两种结构都只有一个入口和一个出口。。 不论哪一种形式,它们的共同特点是:运行方向 是向前的,在某一种确定的条件下,只能执行多 个分支中的一个分支。 分支程序常常利用比较指令和条件转移指令来实现。 80
由图可知,这两种结构都只有一个入口和一个出口。 不论哪一种形式,它们的共同特点是:运行方向 是向前的,在某一种确定的条件下,只能执行多 个分支中的一个分支。 分支程序常常利用比较指令和条件转移指令来实现。 8

5.2.1二路分支 例题5.3从键盘输入一位数字,判断其奇偶性, 并在屏幕输出一个标志,若为奇数,则输出1,否 则输出0。 分析:判断键入的一位数字的ASCII码的最低位是 否为1,若为1,则是奇数,否则是偶数。输入采 用D0S中断的1号子功能调用,键入的一位数字的 ASCII码放进AL中,此时只需将最低位移入状态寄 存器的CF标志位,然后对CF进行判断,即可确定 输入数字的奇偶性,输出采用D0S中断的2号子功 能调用。 889 9
5.2.1二路分支 例题5.3 从键盘输入一位数字 从键盘输入一位数字,判断其奇偶性, 并在屏幕输出一个标志,若为奇数,则输出1,否 则输出0。 分析:判断键入的一位数字的ASCII码的最低位是 否为1,若为1,则是奇数,否则是偶数。输入采 用DOS中断的1号子功能调用,键入的一位数字的 ASCII码放进AL中,此时只需将最低位移入状态寄 此时只需将最低位移入状态寄 存器的CF标志位,然后对CF进行判断,即可确定 输入数字的奇偶性 输入数字的奇偶性,输出采用DOS中断的2号子功 能调用。 9

程序如下 JMP DISP CODE SEGMENT EVN:MOV AL,30H ASSUME CS:CODE ;偶数,AL←一0的ASCI码 BEGIN:MOV AH,01H MOV BL,AL ;调用DOS中断的1号子功能 DISP:MOV AH,O2H: INT 21H 调用DOS中断的2号子功能,输出字符 ;AL←-键入数字ASCII MOV DL,OAH;输出换行 CLC INT 21H ;CF清O MOV DL,ODH;输出回车 RCR AL,1 INT 21H ● ;AL最低位移入CF MOV DL,BL;输出标志字符 JNC EVN INT 21H ;根据CF的状态,判断输入数字的 MOV AH,4CH;返回DOS 奇偶性 INT 21H MOV AL,31H CODE ENDS ;奇数,AL<-1的ASCⅡ码 END BEGIN 10
JMP DISP 程序如下 CODE SEGMENT ASSUME CS:CODE JMP DISP EVN:MOV AL, 30H ;偶数,AL←0的ASCII码 BEGIN:MOV AH, 01H ;调 用DOS中断的1号子功能 INT 21H MOV BL, AL DISP:MOV AH, O2H : INT 21H 调用DOS中断的2号子功能,输出字符 ;AL←键入数字ASCII CLC 调用DOS中断的2号子功能,输出字符 MOV DL, 0AH ;输出换行 INT 21H ;CF清0 输出回车 RCR AL, 1 ;AL最低位移入CF MOV DL, 0DH ;输出回车 INT 21H ;AL最低位移入CF MOV DL, BL ;输出标志字符 JNC EVN ;根据CF的状态,判断输入数字的 奇偶性 INT 21H MOV AH, 4CH ;返回DOS INT 21H MOV AL, 31H ;奇数,AL←1的ASCII码 INT 21H CODE ENDS END BEGIN 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第二章 8086微处理器.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第三章 寻址方式.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第一章 汇编语言基础.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(实验课件)综合实验(共十个).pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(实验课件)创新实验(共三个).pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(实验课件)基础实验(共五个).pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(试卷习题)第1-4章习题.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(试卷习题)自测试题2(含答案).pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(试卷习题)自测试题1(含答案).pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第六章 动画制作.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第五章 视频信息处理.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第七章 多媒体作品的集成开发.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第四章 音频信息处理.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第二章 文字素材处理.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第三章 图形与图像处理.pdf
- 中国地质大学(武汉):《多媒体技术应用 Multimedia Technology》课程教学资源(课件讲稿)第一章 多媒体技术概述.pdf
- 中国地质大学(武汉):《数据结构和VC编程》课程教学资源(课件讲稿)第四章 串和数组.pdf
- 中国地质大学(武汉):《数据结构和VC编程》课程教学资源(课件讲稿)第六章 图.pdf
- 中国地质大学(武汉):《数据结构和VC编程》课程教学资源(课件讲稿)第八章 查找.pdf
- 中国地质大学(武汉):《数据结构和VC编程》课程教学资源(课件讲稿)第五章 树与二叉树.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第四章 汇编语言程序.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第七章 I/O程序设计.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第八章 中断及中断系统.pdf
- 中国地质大学(武汉):《汇编语言程序设计 Assembly Program Design》课程教学资源(课件讲稿)第六章 汇编语言高级编程.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)JEDEC DESIGN STANDARD DESIGN REQUIREMENTS FOR OUTLINES OF SOLID STATE AND RELATED PRODUCTS.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)Thermally Advantaged Chassis(TAC)Design Guide.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)Information Technology - AT Attachment with Packet Interface – 7 Volume 3(ATA/ATAPI-7 V3).pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机天空电脑芯片级主板培训教材.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)Accelerated Graphics Port Interface Specification.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)Windows 2000/XP 服务说明.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)Windows XP 注册表常用项值.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)Windows 2000/XP 常见系统进程.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)主板维修流程图.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)Windows 下病毒和不良进程.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)开机显示内容及相关故障判断.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)主板维修思路.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)維修簡單判斷流程圖.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)计算机维修技术(第2版)POST卡故障代码含义速查表.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)“El Torito” Bootable CD-ROM Format Specification Version 1.0.pdf
- 《计算机维护维修 Computer Load & Repair》课程教学资源(文献资料)USB 技术(Usb2.0的协议规范、USB的电气特性、协议层、USB设备架构、USB主机硬件与软件、集线器规范).pdf