第五章循环与分支程序设计
江西理工大学大一汇编课件!
第5章 循环与分支程序设计程序结构:顺序结构 循环结构
分支结构
子程序结构
……
复合结构:多种程序结构的组合
江西理工大学大一汇编课件!
编制汇编语言程序的步骤:(1) (2) (3) (4) 分析题意,确定算法 根据算法画出程序框图 根据框图编写程序 上机调试程序
三种模式: 1)DOS操作系统下的实模式; 2)80286开始的保护模式; 3)从80386开始的虚86模式。2
江西理工大学大一汇编课件!
5.1循环程序设计开 始
初始化
循环的初始状态
循环体
循环的工作部分及修改部分
N
控制条件
Y结 束
计数控制 特征值控制 地址边界控制
(1)DO-UNTIL结构3
江西理工大学大一汇编课件!
DO_WHILE结构开 始
初始 化
控制条件
Y
N循环体 结 束
(2) DO_WHILE结构 当循环次数有可能等于0的时候,应当用WHILE结构4
江西理工大学大一汇编课件!
5.1.2循环程序设计方法例5.1 把BX中的二进制数以十六进制的形式显示在屏幕上。BX1
23
4
循环左移4位5
江西理工大学大一汇编课件!
开始 初始化循环次数
BX循环左移4位最左边的4位转换为ASCII ASCII是A~F
Y加7 显示一个字符 循环次数=0
N
N
Y结束
江西理工大学大一汇编课件!
mov ch, 4 rotate: mov cl, 4 rol bx, cl mov al, bl and al, 0fh add al, 30h cmp al, 3ah jl printit add al, 7h printit: mov dl, al mov ah, 2 int 21h dec ch jnz rotate ret
指定返 回地址
Prognam segment Main proc far assume cs:prognam Start: push ds sub ax,ax push ax
;’0’-’9’ ASCII 30H-39H ;’A’-’F’ ASCII 41H-46H
Main endp Prognam ends end7
江西理工大学大一汇编课件!
例5.4 将正数n插入一个已整序的字数组的正确位置。Datarea segment x dw ? array_head dw 3,5,15,23,37,49,52,65,78,99 array_end dw 105 n dw 32 Datarea ends Prognam segment 确定返回地址 Main proc far Assume cs:prognam, ds:datarea Start: Push ds 不要这三句 Sub ax,ax 话报的错 Push ax Mov ax,datarea 不要这两句 话报的错 Mov ds,ax 段首地址8
江西理工大学大一汇编课件!
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 ret 返回到DOS操作 Main endp…9
江西理工大学大一汇编课件!
例5.5 设有数组x(x1, … , x10)和y(y1, … , y10),编程计算 z1=x1 + y1 z2=x2 + y2
z3=x3 - y3z4=x4 - y4 z5=x5 - y5 z6=x6 + y6 z7=x7 - y7 逻辑尺:0 0 1 1 0 1 1 1 0 0 标志位为1: 减法 标志位为0: 加法
z8=x8 - y8z9=x9 + y9 z10=x10 + y1010
江西理工大学大一汇编课件!
x y z logic_rule
dw dw dw dw
x1,x2,x3,x4,x5,x6,x7,x8,x9,x10 y1,y2,y3,y4,y5,y6,y7,y8,y9,y10 z1,z2,z3,z4,z5,z6,z7,z8,z9,z10 00dch
mov bx, 0 mov cx, 10 mov dx, logic_rule next: mov ax, x[bx] shr dx, 1 jc subtract add ax, y[bx] jmp short result subtract: sub ax, y[bx] result: mov z[bx], ax add bx, 2 loop next
; 向前引用
江西理工大学大一汇编课件!
例5.7 将首地址为a的字数组从大到小排序(起泡算法,多重循 环) a 100,30,78,99,15,-1,66,54,189,256 mov cx, 10 ;CX←数组元素个数 dec cx ;元素个数减1为外循环次数 loop1: mov di, cx ;di保留外循环次数 mov bx, 0 loop2: mov ax, a[
bx] ;取前一个元素 cmp ax, a[bx+2] ;与后一个元素比较 jge continue ;前一个大于或等于后一个元素,则不进行交换 xchg ax, a[bx+2] ;否则,进行交换 mov a[bx], ax continue: add bx, 2 ;下一对元素 loop loop2 ;内循环尾 mov cx, di 12 loop loop1 ;外循环尾 dw
江西理工大学大一汇编课件!
5.2分支程序设计(1)CASE结构 (2)IF-THEN-ELSE结构
?
case 1 case 2
case n
Y
N
(3)地址跳跃表法 值与地址有对应关系的表13
江西理工大学大一汇编课件!
例5.10 根据AL寄存器中哪一位为1(从低位到高位)把程序 转移到8个不同的程序分支去 。(寄存器间接寻址)branch_table dw routine1 cmp al, 0 je continue Lea bx,branch_table shr al, 1 ;逻辑右移 jnb not_yet ;jnb=jnc jmp word ptr [bx];段内间接转移
dw routine2dw routine3 dw routine4 dw routine5 dw routine6 dw routine7 dw routine8
L:
not_yet :add jmp continue: routine1: routine2: bx, type branch_table L …… …… 14 ……
江西理工大学大一汇编课件!
(寄存器相对寻址)cmp al, 0 je continue mov si, 0 L: shr al, 1 ;逻辑右移 jnb add1 ;jnb=jnc jmp branch_table[si] ;段内间接转移 add1: add si, type branch_table jmp L continue: …… routine1: …… routine2: …… ……15
江西理工大学大一汇编课件!
(基址变址寻址)
cmp al, 0 je continue lea bx, branch_table mov si, 7* type branch_table mov cx, 8 L: shl al, 1 ;逻辑左移 jnb sub1 ;jnb=jnc jmp word ptr [bx][si] ;段内间接转移 sub1: sub si, type branch_table loop L continue: …… routine1: …… routine2: …… ……
…… 此处隐藏:1414字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




