77范文网 - 专业文章范例文档资料分享平台

微机原理实验指导一(2015-2)(2)

来源:网络收集 时间:2020-03-26 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

5. 将十六位二进制数转换为ASCII码表示的十进制数

十六位二进制数的值域为0~65535,最大可转换为五位十进制数。 五位十进制数可表示为:

N?D4?104?D3?103?D2?102?D1?10?D0

Di:表示十进制数0~9

将十六位二进制数转换为五位ASCII码表示的十进制数,就是求D1~D4,并将它们转换为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H中,转换结果存放于3510H~3514H单元中。

实验程序清单(例程文件名:A2-3.ASM)

SSTACK SSTACK CODE START: A1: A2: A3: CODE

SEGMENT STACK

DW 64 DUP(?) ENDS SEGMENT

ASSUME CS:CODE MOV SI,3500H MOV DX,[SI] MOV SI,3515H DEC SI MOV AX,DX MOV DX,0000H MOV CX,000AH DIV CX XCHG AX,DX ADD AL,30H MOV [SI],AL CMP DX,0000H JNE A1 CMP SI,3510H JZ A3 DEC SI MOV AL,30H MOV [SI],AL JMP A2

MOV AX,4C00H INT 21H ENDS

END START

;源数据地址 ;目标数据地址

;除数10

;得商送AX, 得余数送DX ;得Di的ASCII码 ;存入目标地址

;判断转换结束否,未结束则转A1 ;与目标地址得首地址比较

;等于首地址则转A3,否则将剩余地址中填30H

;程序终止

实验步骤

(1)编写程序,经编译、链接无误后,装入系统。 (2)在3500H、3501H中存入0C 00。 (3)运行程序,待程序运行停止。

(4)检查运行结果,键入D3510,结果应为:30 30 30 31 32。 (5)可反复测试几组数据,验证程序的正确性。

6. 十六进制数转换为ASCII码

由表2.1中十六进制数与ASCII码的对应关系可知:将十六进制数0H~09H加上30H后得到相应的ASCII码,AH~FH加上37H可得到相应的ASCII码。将四位十六进制数存放于起始地址为3500H的内存单元中,把它们转换为ASCII码后存入起始地址为350AH的内存单元中。自行绘制流程图。

实验程序清单(例程文件名为A2-4.ASM)

SSTACK

SEGMENT STACK

SSTACK CODE START: A1: A2: CODE DW 64 DUP(?)

ENDS SEGMENT

ASSUME CS:CODE MOV CX,0004H MOV DI,3500H MOV DX,[DI] MOV AX,DX

AND AX,000FH CMP AL,0AH JB A2 ADD AL,07H ADD AL,30H MOV [DI+0DH],AL DEC DI PUSH CX MOV CL,04H SHR DX,CL POP CX LOOP A1

MOV AX,4C00H INT 21H ENDS

END START

;十六进制数源地址

;取低4位

;小于0AH则转A2

;在A~FH之间,需多加上7H ;转换为相应ASCII码 ;结果存入目标地址

;将十六进制数右移4位

;程序终止

实验步骤

(1)编写程序,经编译、链接无误后装入系统。

(2)在3500H、3501H中存入四位十六进制数203B,即键入E3500,然后输入3B 20。 (3)先运行程序,待程序运行停止。

(4)键入D350A,显示结果为:0000:350A 32 30 33 42 CC …。 (5)反复输入几组数据,验证程序功能。

7. BCD码转换为二进制数

将四个二位十进制数的BCD码存放于3500H起始的内存单元中,将转换的二进制数存入3510H起始的内存单元中,自行绘制流程图并编写程序。

实验程序清单(例程文件名为:A2-5.ASM)

SSTACK SSTACK CODE START: A1:

SEGMENT STACK

DW 64 DUP(?) ENDS SEGMENT

ASSUME CS:CODE XOR AX, AX MOV CX, 0004H MOV SI, 3500H MOV DI, 3510H MOV AL, [SI] ADD AL, AL MOV BL, AL ADD AL, AL ADD AL, AL ADD AL, BL INC SI

ADD AL, [SI] MOV [DI], AL INC SI INC DI

CODE LOOP A1

MOV AX,4C00H INT 21H ENDS

END START

;程序终止

实验步骤

(1)编写程序,经编译、链接无误后装入系统。

(2)将四个二位十进制数的BCD码存入3500H~3507H中,即: 先键入E3500,然后输入01 02 03 04 05 06 07 08。

(3)先运行程序,待程序运行停止。

(4)键入D3510显示转换结果,应为:0C 22 38 4E。 (5)反复输入几组数据,验证程序功能。

8.提高练习

将上述程序数据部分全部改为变量形式,然后运行,通过变量查看运行结果。

(例如:将十进制数的ASCII码转换为BCD码

实验程序清单(例程文件名:A2-2A.ASM)

SSTACK DATA ASCN BCDN DATA CODE START: A1: A2: CODE

ENDS

SEGMENT

DB 31H,32H,33H,34H,35H DB 5 DUP(?) ENDS SEGMENT

ASSUME CS:CODE ,DS:DATA MOV AX,DATA MOV DS,AX

MOV CX, 0005H MOV DI, OFFSET ASCN MOV BL, 0FFH MOV AL, [DI] CMP AL, 3AH JNB A2 SUB AL, 30H JB A2 MOV BL, AL MOV AL, BL MOV [DI+BCDN],AL INC DI LOOP A1

MOV AX,4C00H INT 21H ENDS

END START

;转换位数 ;ASCII码首地址 ;将错误标志存入BL

;不低于3AH则转A2 ;低于30H则转A2 ;结果或错误标志送入AL ;结果存入目标地址

;程序终止

三、分支程序设计实验

设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图2.14所示。

0H源数据块0H目的数据块0H源数据块目的数据块目的数据块源数据块FFFFFH

FFFFFH

FFFFFH

(a) (b) (c)

图4-1 源数据块与目的数据块在存储中的位置情况

对于两个数据块分离的情况,如图4-1(a),数据的传送从数据块的首地址开始,或从数据块的末地址开始均可。但是对于有重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭到破坏,可有如下结论:

当源数据块首地址<目的块首地址时,从数据块末地址开始传送数据,如图4-1(b)所示。 当源数据块首地址>目的块首地址时,从数据块首地址开始传送数据,如图4-1(c)所示。 实验程序流程图如图4-2所示。

开 始 源数据块首地址→SI 源数据块首地址→SI 搬移字节数→CX>> SI←[SI]+[CX]-1 DI←[DI]+[CX]-1DI←[(SI)] SI←[SI]-1 DI←[DI]-1CX←[CX]-1N[CX]=0?Y结 束[SI]>[DI]?DI←[(SI)] SI←[SI]+1 DI←[DI]+1CX←[CX]-1[CX]=0?YN

图4-2 程序流程图

实验程序清单(例程文件名为:A4-1.ASM)

SSTACK SSTACK CODE

SEGMENT STACK DW 64 DUP(?) ENDS SEGMENT

START: A1: A2: A3: CODE ASSUME CS:CODE

MOV CX, 0010H MOV SI, 3100H MOV DI, 3200H CMP SI, DI JA A2

ADD SI, CX ADD DI, CX DEC SI DEC DI

MOV AL, [SI] MOV [DI], AL DEC SI DEC DI DEC CX JNE A1 JMP A3

MOV AL, [SI] MOV [DI], AL INC SI INC DI DEC CX JNE A2

MOV AX,4C00H INT 21H ENDS

END START

;程序终止

实验步骤

1. 按流程图编写实验程序,经编译、链接无误后装入系统。 2. 用E命令在以SI为起始地址的单元中填入16个数。 3. 运行程序,待程序运行停止。

4. 通过D命令查看DI为起始地址的单元中的数据是否与SI单元中数据相同。

5. 通过改变SI、DI的值,观察在三种不同的数据块情况下程序的运行情况,并验证程序的功能。

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库微机原理实验指导一(2015-2)(2)在线全文阅读。

微机原理实验指导一(2015-2)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/875139.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: