《微型计算机原理与接口技术》课程PPT教学课件:第4章 汇编语言程序设计

「第4章汇编语言程序设计 【本章重点】熟练掌握汇编语言的四种程序设计方法: 顺序程序设计,分支程序设计,循环程序 设计以及子程序设计 【本章难点】确定算法,合理分配内存工作单元
【本章重点】熟练掌握汇编语言的四种程序设计方法: 顺序程序设计,分支程序设计,循环程序 设计以及子程序设计。 【本章难点】确定算法,合理分配内存工作单元。 第4章 汇编语言程序设计

§4.1汇编语言程序设计概述 4.1.1汇编语言程序设计步骤 使用汇编语言设计一个程序大致上可分为以下几个步 骤。 (1)分析问题,明确要求。解决问题之前,首先要明确 所要解决的问题和要达到的目的、技术指标等。 (2)确定算法。根据实际问题的要求、给出的条件及特 点,找出规律性,最后确定所采用的计算公式和计算方 法,这就是一般所说的算法。算法是进行程序设计的依 据,它决定了程序的正确性和程序的指令。 (3)画程序流程图,用图解来描述和说明解题步骤
§4.1 汇编语言程序设计概述 4.1.1 汇编语言程序设计步骤 使用汇编语言设计一个程序大致上可分为以下几个步 骤。 (1) 分析问题,明确要求。解决问题之前,首先要明确 所要解决的问题和要达到的目的、技术指标等。 (2) 确定算法。根据实际问题的要求、给出的条件及特 点,找出规律性,最后确定所采用的计算公式和计算方 法,这就是一般所说的算法。算法是进行程序设计的依 据,它决定了程序的正确性和程序的指令。 (3) 画程序流程图,用图解来描述和说明解题步骤

(4)分配内存工作单元,确定程序与数据区的存 放地址。 (5)编写源程序。 (6)程序优化。 (7)程序调试、修改和最后确定源程序。只有通过 上机调试并得出正确结果的程序,才能认为是正确的 程序。没有调试过的程序,很难保证程序无错误,程 序调试是不可缺省的
(4) 分配内存工作单元,确定程序与数据区的存 放地址。 (5) 编写源程序。 (6) 程序优化。 (7)程序调试、修改和最后确定源程序。只有通过 上机调试并得出正确结果的程序,才能认为是正确的 程序。没有调试过的程序,很难保证程序无错误,程 序调试是不可缺省的

§42顺序程序设计 对于一些简单的数据处理,只要把完成处理的各个步骤用 汇编语言描述清楚,让计算机按指令编写的次序从头到尾 条条执行即可,这样的程序结构称为顺序结构 【例4-1】已知X和Y是数据段中的两个无符号字节单元 用程序完成表达式Z=(X2+Y2)/2的计算。 编制程序如下:
§4.2顺序程序设计 对于一些简单的数据处理,只要把完成处理的各个步骤用 汇编语言描述清楚,让计算机按指令编写的次序从头到尾 一条条执行即可,这样的程序结构称为顺序结构。 【例4-1】已知X和Y是数据段中的两个无符号字节单元, 用程序完成表达式Z=(X2+Y2)/2的计算。 编制程序如下:

DATA SEGMENT DB 15 DB 34 DW? DATA ENDS CODE SEGMENT ASSUME S: CODE, DS: DATA START MOv AX, DATA MOV DS,AX;初始化数据段 MOV AL,X;X中的内容送AL MUL AL ;计算X×X MOV BX,AX;Ⅹ×X乘积送BX MOV AL,Y;Y中的内容送AL MUL AL ;计算Y×Y ADD AX,BX;计算X2+Y2 SHR AX,1;计算(X2+Y2)/2 MOVZ,AX;结果送Z单元 MOV AH, 4CH INT 21H 返回DOS CODE ENDS END START;汇编结束
DATA SEGMENT X DB 15 Y DB 34 Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;初始化数据段 MOV AL,X ;X中的内容送AL MUL AL ;计算X×X MOV BX,AX ;X×X乘积送BX MOV AL,Y ;Y中的内容送AL MUL AL ;计算Y×Y ADD AX,BX ;计算X2+Y2 SHR AX,1 ;计算(X2+Y2)/2 MOV Z,AX ;结果送Z单元 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START ;汇编结束

【例4-2】从键盘读入两个一位数(按键时保证按下的是数 字键),显示它们的积。 先后从键盘上读取两个按键,分别减去30H得到它们对应的 数值,然后相乘分解成十位数字与个位数字,转换成ASCI 码后依次输出即可。为了输入输出效果的直观,有必要在每 次按键后回车换行。 CODE SEGMENT ASSUME CODE MAIN: MOV AH, 1 INT 读入第1个数字 MOV BL,AL;保存在BL中 MOV AH, 2 MOV DL, 13 VT2H;回车 MOV DL, 10 换行
【例4-2】从键盘读入两个一位数(按键时保证按下的是数 字键),显示它们的积。 先后从键盘上读取两个按键,分别减去30H得到它们对应的 数值,然后相乘分解成十位数字与个位数字,转换成ASCⅡ 码后依次输出即可。为了输入输出效果的直观,有必要在每 次按键后回车换行。 CODE SEGMENT ASSUME CS:CODE MAIN: MOV AH,1 INT 21H ;读入第1个数字 MOV BL,AL ;保存在BL中 MOV AH,2 MOV DL,13 INT 21H ;回车 MOV DL,10 INT 21H ;换行

MOV AH INT21H;读入第2个数字 SUB AL, 30H ;第2个数字转换成十进制数 SUB BL, 30H 第1个数字转换成十进制数 MUL BL ;两个数相乘,积在AX中 MOV BL, 10 DIV BL 积除以10取商送AL,余数在AH中 ADD AX,3030H;转换成相应的ASCⅡ码 MOV BX,AX;保存在BX中 MOV AH, 2 MOV DL, 13 INT 21H 回车 MOV DL, 10 21H 换行 MOV DL, BL MOV AH, 2 2H;输出十位数 MOV DL, BH INT 21H 输出个位数 MOV AH, 4CH INT21H;返回DOS CODE ENDS END MAIN;程序结束
MOV AH,1 INT 21H ;读入第2个数字 SUB AL,30H ;第2个数字转换成十进制数 SUB BL,30H ;第1个数字转换成十进制数 MUL BL ;两个数相乘,积在AX中 MOV BL,10 ; DIV BL ;积除以10取商送AL,余数在AH中 ADD AX,3030H ;转换成相应的ASCⅡ码 MOV BX,AX ;保存在BX中 MOV AH,2 MOV DL,13 INT 21H ;回车 MOV DL,10 INT 21H ;换行 MOV DL,BL MOV AH,2 INT 21H ;输出十位数 MOV DL,BH INT 21H ;输出个位数 MOV AH,4CH INT 21H ;返回DOS CODE ENDS END MAIN ;程序结束

§4.3分支程序设计 分支程序是利用条件转移指令,使程序执行到某 指令后,根据条件是否满足,来改变程序执行的次 序。在程序设计中经常会遇到各种判断和比较,例 如“相等”和“不相等”;“正”和“负”;“大 于”和“小于”;“满足条件”和“不满足条件” 等等,这些判断和比较在程序中都可以组成各种不 同的逻辑框,并产生相应的分支程序
§4.3分支程序设计 分支程序是利用条件转移指令,使程序执行到某一 指令后,根据条件是否满足,来改变程序执行的次 序。在程序设计中经常会遇到各种判断和比较,例 如“相等”和“不相等” ; “正”和“负” ; “大 于”和“小于” ; “满足条件”和“不满足条件” 等等,这些判断和比较在程序中都可以组成各种不 同的逻辑框,并产生相应的分支程序

条件 是 条件2 分支程序段2 分支程序段3 分支程序段1 结束
分支程序段2 分支程序段3 分支程序段1 结束 条件1 条件2 是 否 是 否

【例43】已知AX中放有一个带符号数,编写程序 段,计算它的绝对值 CMP AX, 0 JGE LOOP AL<0? MOV BX, AX AX←0-AX MOV AX, 0 sub AX, BX LOOP
【例4-3】已知AX中放有一个带符号数,编写程序 段,计算它的绝对值。 AX←0-AX AL<0 ? Y N ┇ CMP AX,0 JGE LOOP MOV BX,AX MOV AX,0 SUB AX,BX LOOP: ┇ ┇
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《微型计算机原理与接口技术》课程PPT教学课件:第3章 8086的寻址方式和指令系统.ppt
- 《微型计算机原理与接口技术》课程PPT教学课件:第2章 8086微处理器.ppt
- 《微型计算机原理与接口技术》课程PPT教学课件:第1章 微型计算机基础知识.ppt
- 《微型计算机原理与接口技术》课程PPT教学课件:第11章 可编程定时/计数器8253.ppt
- 《微型计算机原理与接口技术》课程PPT教学课件:第10章 中断控制器.ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第8章 网页设计基础(FrontPage 2/2).ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第8章 网页设计基础(FrontPage 1/2).ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第7章 Internet服务.ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第6章 网络基础(计算机网络).ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第5章 PowerPoint.ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第4章 Excel.ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第3章 Word.ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第2章 Windows 2000操作系统.ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第1章 计算机的基本知识.ppt
- 高等学校教材:人民邮电出版社《计算机应用基础》课程PPT教学课件_第9章 应用软件集锦.ppt
- 河北大学:《数据结构》课程教学资源(习题解答)第九章 查找.doc
- 河北大学:《数据结构》课程教学资源(习题解答)第七章 树与森林.doc
- 河北大学:《数据结构》课程教学资源(习题解答)第六章 二叉树.doc
- 河北大学:《数据结构》课程教学资源(习题解答)第五章 数组和广义表.doc
- 河北大学:《数据结构》课程教学资源(习题解答)第四章 串.doc
- 《微型计算机原理与接口技术》课程PPT教学课件:第5章 汇编语言与汇编程序.ppt
- 《微型计算机原理与接口技术》课程PPT教学课件:第6章 半导体存储器.ppt
- 《微型计算机原理与接口技术》课程PPT教学课件:第7章 输入输出接口.ppt
- 《微型计算机原理与接口技术》课程PPT教学课件:第8章 并行通信和并行接口8255A.ppt
- 《微型计算机原理与接口技术》课程PPT教学课件:第9章 串行通信与串行接口.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第一章 数据库系统基础知识.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第七章 查询与视图设计.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第三章 Visual FoxPro的数据及其运算.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第九章 结构化程序设计.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第二章 Visual FoxPro操作基础.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第五章 数据库的基本操作.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第八章 Visual FoxPro项目管理器.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第六章 SQL语言的应用.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第十一章 表单设计与应用.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第十三章 报表与标签设计.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第十二章 菜单设计.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第十四章 数据库应用系统开发.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第十章 面向对象程序基础.ppt
- 《Visual FoxPro》课程教学资源(PPT课件)第四章 表的基本操作.ppt
- 《计算机网络教程》培训资料:TCP/IP(1/2).doc