网站大量收购独家精品文档,联系QQ:2885784924

太原理工大学微机原理实验报告教程.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
太原理工大学微机原理实验报告教程

本科实验报告 课程名称: 微机原理及应用 实验项目: 实验地点: 专业班级:机械xxx班 学号:xxxxxxxxxx 学生姓名: xx 指导教师: 2016年 12月 28日 实验一 汇编语言程序开发环境与程序调试 一、实验要求和目的 1.熟悉在微机上编辑、汇编、连接、调试和运行汇编语言程序的过程,掌握PC 环境下命令行方式的特点。 2.熟悉汇编过程中一些常见出错信息。 3.熟悉程序调试的方法, DOS命令窗口的debug的常用命令。 二、实验内容 1、项目要求:在屏幕上显示字符串‘Hello,world!’。 2、程序设计思想: 运用DOS系统功能调用(INT 21H)的9号功能。DOS系统功能调用的9号功能是显示字符串,它调用的参数DS:DX=串地址,且字符串以“$”结束。程序流程图如图1-1: 程序开始 段的初始化 设置显示字符串的段地址 设置字符串的偏移地址 DOS系统功能调用 返回DOS 程序结束 图1-1 程序流程图 3、程序清单: 完整指令代码如下(简化段定义格式): .model small ;定义程序的存储模式 .486 ;说明使用的80x86微处理器指令 .stack ;定义堆栈段 .data ;定义数据段 String db Hello, world!,$ .code ;定义代码段 .startup ;程序执行开始 Mov ax, seg String ;把String的段地址送ax Mov ds,ax ;ax送ds,ds取得string的段地址 mov dx,offset String ;String的偏移地址送dx mov ah,9 ;字符串显示功能 int 21h ;DOS功能调用 mov ax,4c00h int 21h ;返回DOS .exit end 三、结果与分析 指导教师: 年 月 实验二 内存数据的移动 一、实验要求与目的: 1、实验要求:编写程序实现把数据段的字符串数据移动到附加段中。 2、实验目的:通过项目学习汇编的数据传送指令和串处理类指令,巩固寻址方式,学习汇编程序设计。 二、实验内容: 1、项目要求:把数据段中以dstring地址标号为开始地址的“hello world!”字符串移动到附加段以sstring地址标号为开始地址中去。 2、设计思想:从源串中取一个字符到AL中,然后把刚取到的字符放到目的串指定位置,重复这样的过程,把源串的字符取完为止。程序流程如图2-1所示。 图2-1 程序流程图 3、程序设计清单:实现这样功能的程序方法很多,下面给出了实现这一功能的完整程序清单(完整段定义格式)。 方案一(无聊版): 采用的是loop指令,CX为循环次数,当CX为0时退出循环。 加入了换行指令。 用字符串常量’$’改变字符串,提前终止字符串的输出。 程序如下: DSEG SEGMENT dstring DB HELLO,WORLD!,33,33, $ ;15个字节HELLO,WORLD!!! dstring_1 db 数据段的字符串: , $ ;一定要加$,表示一个字符串的结束 dstring_2 db 附加段的字符串: , $ ;在屏幕上显示的字符串 DSEG ENDS ESEG SEGMENT sstring DB 15 DUP(?) ;附加段预留15个字节空间 ESEG ENDS CODE SEGMENT ASSUME CS:CODE, DS:DSEG, ES:ESEG start: MOV AX, DSEG ;程序开始执行的地方 MOV DS, AX ;将DSEG的段地址给ds MOV AX, ESEG MOV ES, AX ;将SSEG的段地址给es LEA SI, dstring ;将dstring的首地址给si LEA DI, sstring ;将sstring的首地址给di MOV CX, 15 ;CX存放loop指令的循环次数 S: MOV AL, [SI] MOV ES:[DI], AL INC DI INC SI LOOP S mov dX,offset dstring_1 MOV AH,09h INT 21H ;输出字符串‘数据段的字符串:’ MOV DL,0AH

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档