微机原理实验2

更新时间:2023-11-28 22:19:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学 生 实 验 报 告

学 院: 软件与通信工程学院 课程名称: 微机原理与接口技术 专业班级: 电信141班 姓 名: 学 号:

学生实验报告(1)

学生姓名 学号 同组人:无 实验项目 实验二 ■必修 □选修 □演示性实验 □验证性实验 ■操作性实验 □综合性实验 实验地点 指导教师 实验仪器台号 实验日期及节次

一、实验综述

1、实验目的及要求 .实验目的 (1).学习数据传送和算术运算指令的用法 (2).熟悉在PC机上编辑、汇编、连接、调试和运行汇编语言程序的过程。

.实验要求

实验:若在一片内存储区中有一字符串,起始地址为STRING。字符串中有字母和数字两种符号,要求把其中的字母和数字符号分开,分别放在同一段的两个空间,存放字母的空间起始地址为ZIFU;存放数字符号的空间起始地址为SHUZI。

思考题:根据COMS RAM实时钟信息存放位置表,是编写程序显示当前的时间,格式为时时:分分:秒秒。

2、实验仪器、设备或软件

电脑,Masm for windows集成实验环境共享版2015,DOSBOX

实验:

二、实验过程(实验步骤、记录、数据、分析)

打开电脑,打开Masm for windows集成实验环境共享版2015、新建一个空白的汇编程序,开始编写程序 代码:

DATA SEGMENT ORG 1000H STRING DB 'WEG6JE87BD32HJ4NH2'; 源字符串 COUNT DW $-STRING ; 字符串长度

ZIFU DB 50 DUP(?),0DH,0AH,'$' ; 字母存放区

ORG 2000H

SHUZI DB 50 DUP(?),0DH,0AH,'$' ; 数字存放区 DATA ENDS CODE SEGMENT

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

MOV DS,AX ; DS指向DATA MOV ES,AX ; ES指向DATA MOV SI,OFFSET STRING ; DS:SI指向原字符串 MOV BX,OFFSET ZIFU ; BX指向字母存放区 MOV DI,OFFSET SHUZI ; DI指向数字存放区 MOV CX, COUNT CLD

LOP:LODSB ; 将原字符串中一个字节取至AL,且SI加1 CMP AL,30H ; 判断所取字节为数字符号吗? JB LZIFU ; 不为数字符号时转字母处理 CMP AL,39H

JA LZIFU ; 不为数字符号时转字母处理 STOSB ; 是数字符号送数字区,且DI加1 JMP AGAIN

LZIFU:XCHG BX,DI ; 交换BX和DI,使DI指向字母字符区 STOSB ; 送字母到字母区,指针增加1 XCHG BX,DI ; BX,DI恢复原值

AGAIN:LOOP LOP ; 所有符号都处理了吗,没有则转LOP;否则,顺序执行 MOV CX,COUNT

MOV SI,OFFSET STRING ; 输出字母区 L1:MOV AL,[SI] MOV DL,AL MOV AH,02H INT 21H INC SI LOOP L1

MOV DL,0DH MOV AH,02H INT 21H

MOV DL,0AH MOV AH,02H INT 21H

MOV DX,OFFSET ZIFU MOV AH,9 ; 输出字母区 INT 21H

MOV DX,OFFSET SHUZI INT 21H ; 输出数字区 MOV AH,4CH

INT 21H ; 返回DOS系统 CODE ENDS END START

三、结论

1、实验结果 运行结果正确:

2、分析讨论 调试过程如下:

思考题:

二、实验过程(实验步骤、记录、数据、分析)

打开电脑,打开Masm for windows集成实验环境共享版2015、新建一个空白的汇编程序,开始编写程序 代码:

本文来源:https://www.bwwdw.com/article/e4mt.html

Top