微机原理实验报告书.docx

上传人:b****5 文档编号:6542843 上传时间:2023-01-07 格式:DOCX 页数:11 大小:81.36KB
下载 相关 举报
微机原理实验报告书.docx_第1页
第1页 / 共11页
微机原理实验报告书.docx_第2页
第2页 / 共11页
微机原理实验报告书.docx_第3页
第3页 / 共11页
微机原理实验报告书.docx_第4页
第4页 / 共11页
微机原理实验报告书.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

微机原理实验报告书.docx

《微机原理实验报告书.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告书.docx(11页珍藏版)》请在冰豆网上搜索。

微机原理实验报告书.docx

微机原理实验报告书

Intel8088/8086CPU

微机原理实验报告

2018年9月

实验要求

实验前要求:

1、认真阅读本次实验的内容,并将本次实验的源程序输入好、保存好;

2、为解决思考题做好准备<包括写好源程序);

3、完成实验报告的基本内容<实验地点、实验时间、课程名称、实验工程名称以及实验要求、实验目的、实验电路示意图等)。

b5E2RGbCAP

实验过程要求:

1、接线调试程序,完成实验要求,并将一、二个实验现象<结果)记录入实验报告;

2、重接线或重装程序,实践思考题内容,并将实验现象<结果)记录入实验报告;<需现场检查实验程序与实验结果)p1EanqFDPw

3、完成并提交实验报告。

评分标准:

实验工程名称、时间、地点等20%

实验要求、目的、电路示意图、实验现象<结果)50%

实验报告版面<工整、简明)10%

思考题完成情况20%

软件实验三二进制到BCD转换

一、实验要求

将给定的一个二进制数转换成二十进制

二、实验目的

1、掌握简单的数值转换算法。

2、基本了解数值的各种表达方法。

三、实验说明

计算机中的数值有各种表达方式,这是计算机的基础。

掌握各种数制之间的转换是一种基本功。

有兴趣的同学可以试试将BCD转换成二进制码。

DXDiTa9E3d

四、参考程序

;将AX拆为三个BCD码,并存入Result开始的三个单元。

datasegment

Resultdb3dup(?

>

dataends

codesegment

assumecs:

code,ds:

data

startprocnear

movax,data

movds,ax

movax,123

movcl,100

divcl

movResult,al。

除以100,得百位数

moval,ah

movah,0

movcl,10

divcl

movResult+1,al。

余数除以10,得十位数

movResult+2,ah。

余数为个位数

jmp$

codeends

endstart

RTCrpUDGiT

五、实验步骤

(1>进入Wave6000,输入程序并检查,保存程序。

(2>“编译”程序。

(3>在指令“jmp$”处设断点。

(4>“全速执行”程序。

(5>在“数据窗口

5PCzVD7HxA

实验分析:

0400H、0401H、0402H三个单元的内容初始均为0,将二进制数转换为BCD码时本例中为123,于是拆分成3个BCD码存入0400H开始的连续三个单元,结果为01,02,03,与所求相符。

jLBHrnAILg

六、思考题

<1)请编写程序,实现BCD转换成二进制码

datasegment

resultdb1dup(?

>

dataends

codesegment

assumecs:

code,ds:

data

startprocnear

movax,data

movds,ax

movax,12h

movbl,al

andbl,0fh

movResult,bl。

将个位数存入Result

shral,4

andal,0fh

movbl,10。

将十位数乘以10

mulbl

addResult,al。

将十位数和个位数相加

jmp$

codeends

endstart

给出要转换的二进制数

将个位数保存

软件实验四二进制到ASCII码转换xHAQX74J0X

一、实验要求

给出一个BCD数,将其转换成ASCII值。

二、实验目的

1.了解BCD值和ASCII值的区别。

2.了解如何将BCD值转换成ASCII值。

3.了解如何查表进行数值转换及快速计算。

三、实验说明

此实验主要让学生了解数值的BCD码和ASCII码的区别,利用查表功能可能快速地进行数值转换。

进一步了解数值的各种表达方式。

LDAYtRyKfE

四、程序框图

将AX拆为二个ASCII码,并存入Result开始的二个单元

datasegment

Resultdb2dup(?

>

ASCIITab:

db"0123456789ABCDEF"。

定义数字对应的ASCII表

dataends

codesegment

assumecs:

code,ds:

data

startprocnear

movax,data

movds,ax

movax,1ah

movbl,al

shrbl,4

movbh,0

movah,byteptrASCIITab[bx]

movResult,ah

andal,0fh

movbl,al

movah,byteptrASCIITab[bx]

movResult+1,ah

jmp$

codeends

endstart

Zzz6ZB2Ltk

五、实验步骤

(1>进入Wave6000,输入程序并检查,保存程序。

(2>“编译”程序。

(3>在指令“jmp$”处设断点。

(4>“全速执行”程序。

(5>在“数据窗口

dvzfvkwMI1

实验分析:

0400H、0401H两个单元的内容初始为0,首先在内存块中定义数字对应的ASCII表,依次取出BCD码的高4位和低4位,再通过查找ASCII表找到数字对应的ASCII码值,把对应的值写入0400H、0401H,实验结果为,31、41。

rqyn14ZNXI

软件实验五程序跳转表

一、实验要求

在多分支结构的程序中,能够按调用号执行相应的功能,完成指定操作。

二、实验目的

1.了解程序的多分支结构

2.了解多分支结构程序的编程方法

三、实验说明

多分支结构是程序中常见的结构,若给出调用号来调用子程序,一般用查表方法,查到子程序的地址,转到相应子程序。

EmxvxOtOco

四、程序框图

下列程序并非为了完成某一特定功能编写的,而是提供给我们了解程序的多分支结构及其编程方法使用的。

codesegment

assumecs:

codeSixE2yXPq5

Func0procnear

movax,0

ret

Func0endp

Func1procnear

movax,1

ret

Func1endp

Func2procnear

movax,2

ret

Func2endp

Func3procnear

movax,3

ret

Func3endp

FuncEnterprocnear

cmpax,0

jnzNext1

jmpFunc0

Next1:

cmpax,1

jnzNext2

jmpFunc1

Next2:

cmpax,2

jnzNext3

jmpFunc2

Next3:

cmpax,3

jnzNext4

jmpFunc3

Next4:

ret

FuncEnterendp

startprocnear

movax,0

callFuncEnter

movax,1

callFuncEnter

movax,2

callFuncEnter

movax,3

callFuncEnter

jmp$

codeends

endstart

五、实验步骤

(1>进入Wave6000,输入程序并检查,保存程序。

(2>“编译”程序。

(3>在指令“cmpax,0”处设断点。

(4>“单步”执行程序。

(5>记录指令的执行顺序,并分析实验结果。

实验分析:

在cmpax,0处设断点,当程序运行到断点时查看此时IP值为0460H,即分支结构的名称即该段代码的地址,可从ip值的变化知道各分支结构在内存中的位置。

6ewMyirQFL

软件实验六数据排序

一、实验要求

给出一组随机数,将此组数据排序,使之成为有序数列

二、实验目的

1.了解数据排序的简单算法。

三、实验说明

有序的数列更有利于查找。

本程序用的是“冒泡排序”法,算法是将一个数与后面的数相比较,如果比后面的数大,则交换,如此将所有的数比较一遍后,最大的数就会在kavU42VRUs

数列的最后面。

再进行下一轮比较,找出第二大数据,直到全部数据有序。

四、程序框图

Lenequ10

datasegment

Arraydb5,2,1,0,2,3,8,6,5,9

Changedb0

dataends

codesegment

assumecs:

code,ds:

data

startprocnear

movax,data

movds,ax

Sort:

movbx,offsetArray

movcx,Len-1

movChange,0

Goon:

moval,byteptr[bx]

incbx

cmpal,byteptr[bx]

jngNext。

前小后大,不交换

movChange,1。

前大后小,置交换标志

movah,[bx]

mov[bx],al。

交换

mov[bx-1],ah

Next:

loopGoon

cmpChange,0

jneSort

jmp$

codeends

endstart

y6v3ALoS89

五、实验步骤

(1>进入Wave6000,输入程序并检查,保存程序。

(2>“编译”程序。

(3>在指令“jmp$”处设断点。

(4>“全速执行”程序。

(5>在“数据窗口

实验分析:

实验开始定义了0400H开始的10个单元,内容分别为5,2,1,0,2,3,8,6,5,9,程序全速执行后结果为0,1,2,2,3,5,5,6,8,9,即将这10个单元内的数值按递增序列排列。

M2ub6vSTnP

申明:

所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1