微机原理课件2015-44.pdf
文本预览下载声明
微机原理与接口技术
4-6 汇编程序设计技巧
宋克柱
核探测与核电子学国家重点实验室
中国科学技术大学4系快电子实验室
skz@ustc.edu.cn
4-6 汇编程序设计技巧
主要内容:
讲解汇编程序设计方法和技巧
分析例程,帮助理解程序结构
4-6-1 汇编语言程序结构
与一般程序设计相似,汇编语言的程序设计也应该具有下
列特点:
模块化设计、执行速度尽量快、占用内存小。
通常用到四种程序结构:顺序、分支、循环、子程。
1.顺序结构
简单
顺序执行
无分支
无循环
无转移
2.分支结构
特点:
根据判断条件,分支处理。
2.分支结构
(1)依次测试条件,利用条件转移指令实现多分支
优点:编程简单;
缺点:运行速度慢
例1:根据键入的数值,使程序分别转移到不同的分支程序。
START: MOV AH, 1 ;
INT 21H ;1号功能调用:从键盘接收一个字符,存放在AL 中
CMP AL, ‘1’
JE PROG1
CMP AL, ‘2’
JE PROG2
。。。。。。
CMP AL, ‘8’
JE PROG8
JMP START ;若不是1~8,重新检测键盘输入值
PROG1:MOV AL, 1
OUT 85H, AL ;控制端口85H的bit0输出1,点亮1号灯。
JMP START ;或JMP STOP
PROG2:MOV AL, 2
OUT 85H, AL ;控制端口85H的bit1输出1,点亮2号灯。
JMP START ;或JMP STOP
。。。。。。
PROG8:。。。
JMP START ;或JMP STOP
STOP:HLT
2.分支结构
(2 )跳转表实现多分支
在存储器中,先建立一个跳转表,表中存放分
支程序的入口地址。
例1:根据表内地址分支
从键盘输入数字0-3,
则显示“SUB Program n is done”
输入4则退出程序返回到DOS
在数据段内建立一个跳转表
存储器中的跳转表,存放的是分支程序入口地址
跳转表:存放分支口地址的表:
BASE PRG0低位
PRG0高位
BASE+2 PRG1低位
PRG1高位
BASE+4 PRG2低位
PRG2高位
BASE+6 PRG3低位
PRG3高位
BASE+8 PRG4低位
PRG4高位
DSEG SEGMENT
BASE DW Prg0, Prg1, Prg2, Prg3, Prg4 ;跳转表
ST
显示全部