微机原理与接口技术实验教案Word文档格式.docx

上传人:b****8 文档编号:21970827 上传时间:2023-02-02 格式:DOCX 页数:40 大小:70.37KB
下载 相关 举报
微机原理与接口技术实验教案Word文档格式.docx_第1页
第1页 / 共40页
微机原理与接口技术实验教案Word文档格式.docx_第2页
第2页 / 共40页
微机原理与接口技术实验教案Word文档格式.docx_第3页
第3页 / 共40页
微机原理与接口技术实验教案Word文档格式.docx_第4页
第4页 / 共40页
微机原理与接口技术实验教案Word文档格式.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术实验教案Word文档格式.docx

《微机原理与接口技术实验教案Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验教案Word文档格式.docx(40页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术实验教案Word文档格式.docx

AH=4CH

AL=返回码

 实验步骤

(1)运行Tdpit软件,选择文件菜单,点击新建,进入一个源文件编辑界面。

根据实验内容的描述编写实验程序,本实验显示部分参考实验流程如图1所示。

(2)使用编译菜单中的编译和链接对实验程序进行汇编、连接。

(3)使用编译菜单中的运行,运行程序,观察运行结果。

(4)使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。

(5)更改数据区中的数据,检查程序的正确性。

参考程序清单

DATASEGMENT

MESDB'

Showaashex:

'

0AH,0DH,'

$'

SDDB'

a'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETMES;

显示提示信息

MOVAH,09H

INT21H

MOVDI,OFFSETSD

MOVAL,DS:

[DI]

ANDAL,0F0H;

取高4位

SHRAL,4

图1

CMPAL,0AH;

是否是A以上的数

JBC2

ADDAL,07H

C2:

ADDAL,30H

MOVDL,AL;

显示字符

MOVAH,02H

INT21H

ANDAL,0FH;

取低4位

CMPAL,0AH

JBC3

ADDAL,07H

C3:

ADDAL,30H

MOVAX,4C00H;

返回DOS

CODEENDS

ENDSTART

数据传送实验

实验目的

(1)熟悉Tdpit集成环境和调试器的使用。

(2)掌握与数据有关的不同寻址方式。

实验内容

本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

实验步骤

(1)运行Tdpit软件,选择文件菜单,点击新建进行实验程序的编写。

(2)使用编译菜单中的编译和连接对实验程序进行汇编、连接。

(5)更改数据区中的数据,考察程序的正确性。

参考程序:

DDATASEGMENT;

定义源数据段

MSRDB"

HELLO,WORLD!

$"

LENEQU$-MSR

DDATAENDS 

EXDASEGMENT;

定义附加数据段

MSDDBLENDUP(?

EXDAENDS

MYSTACKSEGMENTSTACK;

定义堆栈段

DW20DUP(?

MYSTACKENDS

CODESEGMENT;

定义代码段

ASSUMECS:

DDATA,ES:

EXDA

MOVAX,DDATA

MOVDS,AX;

装载数据段寄存器

MOVAX,EXDA

MOVES,AX;

装载附加数据段寄存器

MOVSI,OFFSETMSR;

设置SI

MOVDI,OFFSETMSD;

设置DI

MOVCX,LEN

NEXT:

MOVAL,[SI];

开始传输数据

MOVES:

[DI],AL

INCSI

INCDI

DECCX

JNZNEXT

PUSHES

POPDS;

将附加段寄存器指向的段值赋给数据段寄存器

MOVDX,OFFSETMSD

MOVAH,9

INT21H

MOVAX,4C00H;

利用DOS功能调用返回DOS状态

将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:

MOVBX,0

MOVAL,MSR[BX]

MSD[BX],AL

INCBX

LOOPNEXT

运算类程序实验

(1)掌握运算类指令编程及调试方法。

(2)掌握运算类指令对各状态标志位的影响及测试方法。

实验内容及说明

80x86指令系统提供了实现加、减、乘、除运算的基本指令,可对表1所示的数据类型进行算术运算。

表1

1.二进制双精度加法运算

本实验要求计算X+Y=Z,将结果Z输出到屏幕,其中X=001565A0H,Y=0021B79EH。

实验利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。

由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。

在80386以上微机中可以直接使用32位寄存器和32位加法指令完成本实验的功能。

 

2.十进制数的BCD码减法运算

本实验要求计算X-Y=Z,其中,X、Y、Z为BCD码,其中X=0400H,Y=0102H。

3.乘法运算

本实验要求实现十进制数的乘法,被乘数和乘数均以BCD码形式存放于内存中,被乘数为54320H,乘数为3H,运算结束后,将乘积在屏幕上显示。

4.用减奇数开平方运算

80x86指令系统中有乘除法指令但没有开平方指令,因此,开平方运算是通过程序来实现的。

用减奇数法可求得近似平方根,获得平方根的整数部分。

我们知道,N个自然数中的奇数之和等于N2,即:

1+3+5=9=32

1+3+5+7=16=42

1+3+5+7+9+11+13+15=64=82

若要做S的开方运算,那麽就可以从S中逐次减去自然数中的奇数1,3,5,7…,一直进行到相减数为0或不够减下一个自然数的奇数为止,然后统计减去自然数的奇数个数,它就是S的近似平方根。

本实验要求利用减奇法计算0040H的开平方值,并将运算结果显示在屏幕上。

 

(1)运行Tdpit软件,选择文件菜单进行实验程序的编写。

参考程序

两个字节数据相加

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

MES1DB'

Theresultis:

XDB03H

YDB05H

DATAENDS

CODESEGMENT

ASSUMECS:

DATA

MOVAX,DATA

MOVDS,AX

MOVAH,00H

MOVSI,OFFSETX

MOVAL,[SI]

ADDAL,[SI+01H]

ANDAL,0FH

MOVBL,AL

MOVDX,OFFSETMES1

MOVAH,09H

INT21H

MOVAX,BX

CALLSHOW

MOVAX,4C00H

SHOWPROCNEAR

MOVAL,BL

取高4位

SHRAL,4

是否是A以上的数

JBC2

ADDAL,07H

ADDAL,30H

showcharacter

MOVAH,02H

取低4位

CMPAL,0AH

JBC3

ADDAL,07H

RET

ENDP

CODEENDS

ENDSTART

;

A4-1.asm

二进制双精度加法运算

DATASEGMENT

XLDW65A0H

XHDW0015H

YLDW0B79EH

YHDW0021H

MOVAX,DATA

MOVDS,AX

MOVAX,XL

ADDAX,YL

MOVBX,AX

MOVAX,XH

ADCAX,YH

PUSHBX

CALLSHWORD

POPBX

MOVAX,BX

CALLSHWORD

SHWORDPROCNEAR

MOVBL,AH

MOVBL,AL

RET

ENDP

SHOWPROCNEAR

PUSHAX

PUSHDX

POPDX

POPAX

A4-2.asm

十进制数的BCD码减法运算

XDW0400H

YDW0102H

MOVAH,00H

SAHF

SBBAL,[SI+02H]

DAS

PUSHF

ANDAL,0FH

POPF

INCSI

MOVBH,AL

A4-3.asm

乘法运算

ERRMESDB'

Errorexist!

DATA1DB00H,02H,03H,04H,05H

DATA2DB03H

RESULTDB06HDUP(0)

MOVSI,OFFSETDATA2

MOVBL,[SI]

ANDBL,0FH

CMPBL,09H

JNCERROR

MOVSI,OFFSETDATA1

MOVDI,OFFSETRESULT

MOVCX,0005H

A1:

MOVAL,[SI+04H]

ANDAL,0FH

CMPAL,09H

JNCERROR

DECSI

MULBL

AAM

ADDAL,[DI+05H]

AAA

MOV[DI+05H],AL

DECDI

MOV[DI+05H],AH

LOOPA1

MOVCX,06H

MOVSI,OFFSETRESULT

A2:

MOVDL,20H

LOOPA2

ERROR:

MOVDX,OFFSETERRMES

[SI]

ENDSTART

A4-4.asm

用减奇法开平方运算

DDATASEGMENT

Thesquarerootof$'

MES2DB'

is:

NUMBDW0040H

DDATAENDS

CODE,DS:

DDATA

MOVAX,DDATA

MOVSI,OFFSETNUMB

MOVAX,[SI]

MOVDX,OFFSETMES2

MOVAX,[SI]

MOVCL,00H

MOVDX,0001H

SUBAX,DX

JBA2

INCCL

ADDDX,02H

JMPA1

MOVBL,CL

ENDSTART

分支程序设计实验

掌握分支程序的设计方法。

程序有顺序、循环、分支和子程序四种结构形式,分支结构的示意图如图1所示。

本实验要求通过求无符号字节序列中的最大值和最小值来反映分支程序的结构形式。

图1图2

实验可以使用BH,BL作为暂存现行的最大值和最小值,且在程序的初始,将BH和BL初始化为首字节的内容,然后进入循环操作。

在循环操作中,依次从字节序列中逐个取出一个字节的内容与BH,BL进行比较,若取出的字节内容比BH的内容大或比BL中的内容小,则修改之。

当循环结束操作时,将BH,BL分别送屏幕显示。

参考实验流程如图2所示。

(1)运行Tdpit软件,选择文件菜单编写实验程序;

提供8字节的数据:

0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H。

(4)更改数据区中的数据,考察程序的正确性。

A5.asm

Theleastnumberis:

MES2DB0AH,0DH,'

Thelargestnumberis:

NUMBDB0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H

DDATA

MOVSI,OFFSETNUMB

MOVCX,0008H

JCXZA4

MOVBH,[SI]

MOVBL,BH

LODSB;

AL=DS:

[SI],SI=SI+1

CMPAL,BH

JBEA2

JMPA3

CMPAL,BL

JAEA3

MOVBL,AL

A3:

LOOPA1

A4:

MOVDX,OFFSETMES1;

showmes1

INT21H

MOVAL,BL;

showtheleastnumber

ANDAL,0F0H;

getthehighest4bits

CMPAL,0AH

MOVDL,AL;

ANDAL,0FH;

getthelowest4bits

MOVDX,OFFSETMES2;

showmes2

MOVAL,BH;

showthelargestnumber

JBC22

ADD

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

当前位置:首页 > 成人教育 > 电大

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

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