《微机原理与接口技术》课程教学资源(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 CS: CODE, DS: DATA START MOV AX, DATA MOV DS,AX;初始化数据段 MOV AL,X;X中的内容送AL MUL ;计算Ⅹ×Ⅹ MOV BX,AX;X×X乘积送BX MOV AL,Y;Y中的内容送AL MUL AL 计算Y×Y ADD AX,BX;计算Ⅹ2+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得到它们对应的 数值,然后相乘分解成十位数字与个位数字,转换成ASCⅡ 码后依次输出即可。为了输入输出效果的直观,有必要在每 次按键后回车换行。 CODE SEGMENT ASSUME CS: CODE MAIN: MOV AH INT 21H 读入第1个数字 MOV BL,AL;保存在BL中 MOV AH, 2 MOV DL, 13 21H 回车 MOV DL, 10 INT21H;换行
【例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, 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 NT 21H 回车 MOV DL, 10 INT 21H 换行 MOV DL, BL MOV AH, 2 21H 输出十位数 MOV DL, BH 21H 输出个位数 MOV AH, 4CH 21H 返回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分支程序设计 分支程序是利用条件转移指令,使程序执行到某一 指令后,根据条件是否满足,来改变程序执行的次 序。在程序设计中经常会遇到各种判断和比较,例 如“相等”和“不相等” ; “正”和“负” ; “大 于”和“小于” ; “满足条件”和“不满足条件” 等等,这些判断和比较在程序中都可以组成各种不 同的逻辑框,并产生相应的分支程序

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

【例4-3】已知AX中放有一个带符号数,编写程序 段,计算它的绝对值。 CMP AX, 0 JGE LOOP AL<O MOV BX, AX AXO-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课件)第6章 半导体存储器.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第四章 顺序结构程序设计.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第十章 文件.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第十一章 图形操作.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第十二章 数据库技术.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第三章 Visual Basic程序设计基础.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第七章 数组.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第六章 常用控件.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第九章 菜单、多重窗体多重文档.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第二章 Visual Basic程序设计概述.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第八章 过程.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)前言.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第一章 Visual Basic概述.ppt
- 湖南农业大学:《Visual Basic程序设计》课程教学资源(PPT课件讲稿)第五章 选择结构与循环结构.ppt
- 《数字系统与VHDL程序设计语言》课程教学资源(PPT课件讲稿,共六章).ppt
- 《网页制作宝典》第9章 美化网页.ppt
- 《网页制作宝典》第8章 网页表单的处理.ppt
- 《网页制作宝典》第7章 在网页中使用超链接.ppt
- 《网页制作宝典》第6章 网页图像处理.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第9章 串行接口的输入过程.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第7章 输入输出接口.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第8章 并行通信和并行接口8255A.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第10章 中断控制器.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第11章 可编程定时/计数器8253.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第1章 微型计算机基础知识.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第2章 8086微处理器.ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第5章 汇编语言与汇编程序.ppt
- 北京理工大学:《HTML语言与网页制作》教学内容.ppt
- 北京理工大学:《HTML语言与网页制作》第一章 HTML基础.ppt
- 北京理工大学:《HTML语言与网页制作》第二章 文本格式.ppt
- 北京理工大学:《HTML语言与网页制作》第三章 使用图像.ppt
- 北京理工大学:《HTML语言与网页制作》第四章 使用超链接.ppt
- 北京理工大学:《HTML语言与网页制作》第五章 使用表格.ppt
- 北京理工大学:《HTML语言与网页制作》第六章 使用框架.ppt
- 北京理工大学:《HTML语言与网页制作》第七章 表单与特殊对象.ppt
- 北京理工大学:《HTML语言与网页制作》第八章 CSS技术.ppt
- 《Excel与数据处理》课程教学资源(数据表)2003级学生成绩薄.xls
- 《Excel与数据处理》课程教学资源(数据表)列标.xls
- 《Excel与数据处理》课程教学资源(数据表)订单.xls