下载此文档

中南大学微机原理提高实验讲解.pptx


文档分类:高等教育 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
微机原理提高实验讲解
伍珣
中南大学
1
可编辑ppt
实验一
题目3.编写一段程序,在内存中自SQTAB(0200H)地址开始的连续十个单元中存放0~9的平方值。要求利用计算法查表求NUM(0210H)单元中指定数(0~9中的任意一数)的平方值,并将所求平方值存入RESULT(0211H)单元中。
2
可编辑ppt
分析





3
可编辑ppt
分析
1. SQTAB(0200H):存放平方的表
NUM(0210H)
RESULT(0211H)
2. 题目中明确指出利用查表法求解
XLAT表转换指令
格式:XLAT
注意:转换表地址由BX存储,要转换的数由AL存储。
4
可编辑ppt
,已经用到的寄存器有AL和BX,输入数据时需要调用中断,因此还要用到AH。
分析
4. 大致思路:
输入数据
(调用输入中断)
表转换
XLAT
存储数据
AL→RESULT
注意:输入数据是以字符的十六进制ASCII码存储,为了方便,在表转换中可先将其转化为十进制存储。
5
可编辑ppt
程序编写

首先要定义好所要用到的变量(上面已经指出)
MOV [0200H], 00H
MOV [0201H], 01H
MOV [0202H], 04H
MOV [0203H], 09H
MOV [0204H], 10H
MOV [0205H], 19H
MOV [0206H], 24H
MOV [0207H], 31H
MOV [0208H], 40H
MOV [0209H], 51H

SQTAB DW 0200H
NUM EQU [0210H]
RESULT EQU [0211H]
用MOV语句从0200H开始至0209H依次存储1~9的平方(十六进制表示)
SQTAB存储表的地址
NUM为[0210H]存储单元
RESULT 为[0211H]存储单元
6
可编辑ppt

程序编写
输入数据时,为了增强程序的抵抗力,减少不必要的BUG,因此在输入后最好判断输入的数据是否正确。在此用CMP和跳转语句实现,校验输入数据,正确则继续往下执行,不正确则跳回之前重新输入。
输入数据至AL
AL<9
AL>0
输入正确
N
N
Y
Y
7
可编辑ppt
AGAIN: MOV AH,1 ;调用1号中断,输入一个数
INT 21H
CMP AL,30H ;判断输入是否为0~9,否则重新输入
JL AGAIN ;30H为‘0’的ASCII,小于0则重新输入
CMP AL,39H
JG AGAIN ;大于9则重新输入
程序编写

8
可编辑ppt
程序编写

在转换之前我们先了解一下XLAT的转换原理:
使用XLAT之前必须先建立一个表格,将表格的起始地址装入BX寄存器中。AL中事先也要赋一个初值,这个值等于表头地址与所要查找的某一项之间的位移量。从表中查到的代码值自动送入AL寄存器中。
由红色字段可知在本程序中AL必须为0~9,因此必须把字符‘0’~‘9’转换为数字0~9。
9
可编辑ppt
程序编写

十进制数字
AL存储器实际值
SQTAB对应的平方
十进制数字
AL存储器实际值
SQTAB对应的平方
0
30
00H
5
35
19H
1
31
01H
6
36
24H
2
32
04H
7
37
31H
3
33
09H
8
38
40H
4
34
10H
9
39
51H
10
可编辑ppt

中南大学微机原理提高实验讲解 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人相惜
  • 文件大小169 KB
  • 时间2020-11-30