没有合适的资源?快使用搜索试试~ 我知道了~
微机原理实验报告
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 127 浏览量
2022-12-23
18:22:26
上传
评论
收藏 1.28MB DOC 举报
温馨提示
试读
31页
微机原理实验报告
资源推荐
资源详情
资源评论
华 北 电 力 大 学
科 技 学 院
实
验
报
告
课程名称:微机原理实验
指导老师:
学生姓名:
班 级:电气
学 号:
- 1 -
实验一 数据转换实验
一、实验目的
(1) 初步掌握在 PC 机上建立、汇编、链接和运行 8086/88
汇编语言程序的过程。
(2) 通过对两个验证性试验的阅读、调试、掌握不同进制数
及编码相互转换的程序设计方法。
(3) 完成程序设计题,加深对数码转换的理解,了解简单程
序设计方法。
二、实验内容
1. 十六进制数转换为 ASCII 码
设二字节十六进制数存放于其实地址为 3500H 的内存
单元中,把他们转换成 ASCII 码后,再分别存入起始地址为
350A 的四个内存单元中。从书上 ASCII 码表中可知十六进
制 数 加 30H 即 可 得 到 0H~9H 的 ASCII 码 , 而 要 得 到
AH~FH 的 ASCII 码,则需再加 7H。
请根据所给流程图理清思路,总结出对应的若干要点。
将流程图与参考程序相互。根据分析的结果将运行时内存的
变化列写出来。
学习并使用 MASM 或 WAVE 仿真软件分析程序运行
过程中相关寄存器及相应内存的变化情况来验证自己的猜
想,以巩固命令的学习,提高编程能力。
1.1 程序流程图
- 2 -
CX 代码长度
DI 起始地址
DX 16进制数
AXDX
取低四位
0~9?
是AH~FH,再增加7H
转换为ASCII码
存结果,修改地址指针
DX内容右移四次
CX-1=0?
Y
N
Y
N
开始
结束
图1-1-1
1.2 实验程序
- 3 -
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV CX,0004H;根据转换个数设定循环次数
;(两字节十六进制数如6B2C对应有四个用十六进制表示的ASCII码表示,即
四个字节)
MOV DI,3500H;指向该两字节十六进制数起始地址,此时在调试窗口修改内
存字节
MOV DX,[DI];将地址3500H中的内容(6B2C)给DX
A1: MOV AX,DX;第一次时DX=6B2C,
;因为想顺序取C、2、6、B,所以需要一个中间变量
AND AX,000FH;取低四位,第一次取到C,
CMP AL,0AH;判断AL属于0~9,还是A~F
JB A2;如果是0~9,则跳转到A2
ADD AL,07H;若属于A~F,再加上07H后也是再加上30H即得到转换。
A2: ADD AL,30H;0~9的ASCII码对应的十六进制比其
;本身(注意:亦是十六进制)大30H
MOV [DI+0AH],AL;将转码后的C,即43H给350A
INC DI;将DI指向下一字节,用于存储转码后的值,第一次自增后要
存‘2’
PUSH CX;功能是接下来要用到CX作为一个中间变量,
;而刚才已经使用并且接下来还会用到CX的值,
;也可以不用CX,用其他不用的寄存器或者直接立即数形式的。
MOV CL,04H;若直接用立即数,可能不稳定,(原因不详)用一个中
间变量。
SHR DX,CL;右移四位,如第一次转码后,DX=6B2C,
;为下一次取低四位的2做好前提,将0010b移到低四位
POP CX;执行完后,CX又用于计数
- 4 -
LOOP A1;每一次转码后,执行完此句后,CX的值都要变化,
;分别是3,2,1,0;正好四次。
MOV AH,4CH
INT 21H
CODES ENDS
END START
1.3 实验过程与心得
1.3.1 编程要点
1.数据在内存空间中的存储情况要清晰;
图 1-1-2 图 1-1-3
如上图所示图 1-2 为处理前的存储情况,通过调试中的内存修
改来实现并检查,图 1-3 为最后期待的转码结果,通过查询内存来
检查。
2.基本功能的实现:分两种情况去转码。
中间涉及到比较选择语句,可以通过标志位来理解学习 JB 的实
现条件是由于标志位的变化。
3.取与存两个“指针”的变化
(1)取时通过一个中间变量取经过右移四位后的低字节来依次选择
C、2、B、6;使用软件时,看 AX 经过“AND AX,000FH”后是
否取到了这些数。
剩余30页未读,继续阅读
资源评论
文档优选
- 粉丝: 90
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功