清华大学:《汇编语言程序设计》第五章 循环与分支程序设计

第五章循环与分支程序设计 循环程序设计 分支程序设计
1 • 循环程序设计 • 分支程序设计 第五章 循环与分支程序设计

编制汇编语言程序的步骤 (1)分析题意,确定算法 (2)根据算法画出程序框图 (3)根据框图编写程序 (4)上机调试程序
2 编制汇编语言程序的步骤: (1) 分析题意,确定算法 (2) 根据算法画出程序框图 (3) 根据框图编写程序 (4) 上机调试程序

程序结构 顶序结构 循环结构 分支结构 子程序结构 复合结构:多种程序结构的组合
3 程序结构: 分支结构 子程序结构 复合结构:多种程序结构的组合 … 顺序结构 循环结构

1.循环程序设计 初始化 初始化 控制条件 循环体 循环体 控制条件 DO-WHILE结构 DO-UNT结构
4 1. 循环程序设计 DO-WHILE 结构 DO-UNTIL 结构 控制条件 初始化 循环体 Y N 控制条件 初始化 循环体 Y N

初始化:设置循环的初始状态 循环体:循环的工作部分及修改部分 控制条件:计数控制 特征值控制 地址边界控制
5 初始化:设置循环的初始状态 循环体:循环的工作部分及修改部分 控制条件:计数控制 特征值控制 地址边界控制

例:把BX中的二进制数以十六进制的形式显示在屏幕上 BX
6 BX 1 2 3 4 例:把 BX中的二进制数以十六进制的形式显示在屏幕上

mov ch 4 rotate: mov Cl, 4 ro bx. cl mov al, bl and al. ofh add al 30h ,0N9 ASCII 30H~39H cmp al, 3ah println add al. h A~’F’ASC工I41H~46H printit: mov dl, al mov ah 2 int 21h dec ch nz rotate 7
7 …… mov ch, 4 rotate: mov cl, 4 rol bx, cl mov al, bl and al, 0fh add al, 30h ; ’0’~’9’ ASCII 30H~39H cmp al, 3ah jl printit add al, 7h ; ’A’~’F’ ASCII 41H~46H printit: mov dl, al mov ah, 2 int 21h dec ch jnz rotate ……

例:从键盘接收十进制数并存入BX mov bx. 0 lewchar: moy ah 1 int 21h sub al, 30h J1 exit 0退出 cmp al, 9 exit ;>9退出 cbW xchg ax, bx mov Cx. 10 mul CX xchg ax, bx add bx. ax ]mp newchar exit
8 …… mov bx, 0 newchar: mov ah, 1 int 21h sub al, 30h jl exit ; 9 退出 cbw xchg ax, bx mov cx, 10 mul cx xchg ax, bx add bx, ax jmp newchar exit: …… 例:从键盘接收十进制数并存入BX

例:从键盘接收十六进制数并存入BX mov bx, 0 newchar mov ah 1 int 21h sub al, 30h j1 exit <0退出 cmp a, 10 j add_to sub al. 27h cmp al, Oah j exit ;<a’退出 cmp al, 10h Jge exIt f’退出 add to: moV Cl 4 shi bx. cl mov ah 0 add bx. ax ]mp newchar exit
9 …… mov bx, 0 newchar: mov ah, 1 int 21h sub al, 30h jl exit ; ’f’ 退出 add_to: mov cl, 4 shl bx, cl mov ah, 0 add bx, ax jmp newchar exit: …… 例:从键盘接收十六进制数并存入BX

例:将正数n插入一个已整序的正数字数组 dw array_head dw3,5,15,23,37,49,52,65,78,99 array_end dw 105 n dw 32 X mov ax. n array_head mov array_head -2, Offffh 5 15 mov SI, 23 compare cmp array_end[sil,ax 37 49 Insert mov bx, array_end[si] 52 mov array_end[si+2], bx 65 sub si, 2 78 jmp short compare 99 nser 105 n mov array_endsi+2], ax 32 10
10 x dw ? array_head dw 3,5,15,23,37,49,52,65,78,99 array_end dw 105 n dw 32 例:将正数 n 插入一个已整序的正数字数组 …… mov ax, n mov array_head-2, 0ffffh mov si, 0 compare: cmp array_end[si], ax jle insert mov bx, array_end[si] mov array_end[si+2], bx sub si, 2 jmp short compare insert: mov array_end[si+2], ax …… 3 5 15 23 37 49 52 65 78 99 105 32 -1 array_head→ array_end→ n → x →
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《汇编语言程序设计》第二章 80x86计算机组织.ppt
- 清华大学:《汇编语言程序设计》第九章 BIOS和DOS中断.ppt
- 清华大学:《汇编语言程序设计》第三章(3-3) 逻辑指令.ppt
- 清华大学:《汇编语言程序设计》第三章(3-2) 8086的指令系统.ppt
- 清华大学:《汇编语言程序设计》第三章(3-1) 8086的寻址方式.ppt
- 清华大学:《汇编语言程序设计》第七章 高级汇编语言技术.ppt
- 清华大学:《汇编语言程序设计》第一章 基础知识.ppt
- 清华大学:《汇编语言程序设计》汇编语言程序与高级语言程序的连接.ppt
- 徐州工程学院:《网页制作与网站建设》讲义.docx
- 《计算机进程管理》讲义.ppt
- 《计算机辅助设计——机电系统CAD》教学讲义教材:附录二 常见机械CAD软件简介.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:附录一 MATLAB 软件简介.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第八章 机电系统计算机辅助设计的发展.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第七章 机电系统的智能设计理论和方法.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第六章 产品数据管理技术.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第五章 机械产品模型理论及常用建模技术.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第四章 机电系统动态性能的计算机仿真.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第三章 机电系统的计算机辅助分析.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第二章 机电系统CAD算法基础.doc
- 《计算机辅助设计——机电系统CAD》教学讲义教材:第一章 绪论.doc
- 清华大学:《汇编语言程序设计》第八章 输入输出程序设计.ppt
- 清华大学:《汇编语言程序设计》第六章 子程序结构.ppt
- 清华大学:《汇编语言程序设计》第四章 汇编语言程序格式.ppt
- 清华大学:《汇编语言程序设计》绪论.ppt
- 《数据库原理与应用》ppt电子书.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第二章 C++基础知识.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第九章 多态性.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第十章 模板.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第四章 函数.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第十二章 异常处理.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第五章 类与对象.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第七章 动态内存分配.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第八章 继承性.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第十三章 图书馆设计.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第三章 基本控制结构程序设计.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第六章 数据结构.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)习题课.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)模板习题.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第十一章 流类库和输入/输出.ppt
- 《C++程序开发教程》课程电子教案(PPT教学课件)第一章 软件设计.ppt