太原理工大学现代科技学院微机原理实验.docx

上传人:b****2 文档编号:1823685 上传时间:2022-10-24 格式:DOCX 页数:37 大小:1.03MB
下载 相关 举报
太原理工大学现代科技学院微机原理实验.docx_第1页
第1页 / 共37页
太原理工大学现代科技学院微机原理实验.docx_第2页
第2页 / 共37页
太原理工大学现代科技学院微机原理实验.docx_第3页
第3页 / 共37页
太原理工大学现代科技学院微机原理实验.docx_第4页
第4页 / 共37页
太原理工大学现代科技学院微机原理实验.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

太原理工大学现代科技学院微机原理实验.docx

《太原理工大学现代科技学院微机原理实验.docx》由会员分享,可在线阅读,更多相关《太原理工大学现代科技学院微机原理实验.docx(37页珍藏版)》请在冰豆网上搜索。

太原理工大学现代科技学院微机原理实验.docx

太原理工大学现代科技学院微机原理实验

 

太原理工大学现代科技学院

 

微机原理及接口技术课程实验报告

 

专业班级信息13-1班

学号2013101269

姓名陈凯

指导教师师卫

……………………………………装………………………………………订…………………………………………线………………………………………

实验名称多位十进制数相加同组人

专业班级信息13-1班学号2013101269姓名陈凯成绩

实验一:

多位十进制数相加

1、实验目的:

学习数据传送和算数运算指令的用法。

2、实验内容:

将两个朵唯十进制数28056、47193相加,并显示加数、被加数、和。

要求两个家属均以ASCII码形式各自顺序存在DATA1和DATA2内存单元中,结果送回DATA1处(低位在前,高位在后)。

3、实验程序:

SHOWMACROB

MOVDL,B

MOVAH,02H

INT21H

ENDM

DATASEGMENT

DATA1DB33H,39H,31H,37H,34H

DATA2DB36H,35H,30H,38H,32H

DATA3DB'_',0DH,0AH,'$'

DATAENDS

STACKSEGMENTSTACK

STADB20DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVAX,TOP

MOVSP,AX

MOVSI,OFFSETDATA2

MOVBX,05

SHOW20H

CALLDISPL

SHOW0DH

SHOW0AH

MOVSI,OFFSETDATA1

MOVBX,05

SHOW2BH

CALLDISPL

SHOW0DH

SHOW0AH

MOVCL,7

S1:

SHOW2DH

LOOPS1

SHOW0DH

SHOW0AH

MOVSI,OFFSETDATA1

MOVDI,OFFSETDATA2

CALLADDA

MOVSI,OFFSETDATA1

MOVBX,05

SHOW20H

CALLDISPL

MOVAX,4C00H

INT21H

DISPLPROCNEAR

DS1:

SHOW[SI+BX-1]

DECBX

JNZDS1

RET

DISPLENDP

ADDAPROCNEAR

MOVDX,SI

MOVBP,DI

MOVBX,05

AD1:

SUBBYTEPTR[SI+BX-1],30H

SUBBYTEPTR[DI+BX-1],30H

DECBX

JNZAD1

MOVSI,DX

MOVDI,BP

MOVCX,05

CLC

AD2:

MOVAL,[SI]

MOVBL,[DI]

ADCAL,BL

AAA

MOV[SI],AL

INCSI

INCDI

LOOPAD2

MOVSI,DX

MOVDI,BP

MOVBX,05

AD3:

ADDBYTEPTR[SI+BX-1],30H

ADDBYTEPTR[DI+BX-1],30H

DECBX

JNZAD3

RET

ADDAENDP

CODEENDS

ENDSTART

四、实验截图

下图为实验程序及其编译截图:

正确结果:

实验名称两个十进制数的乘法同组人

专业班级信息13-1班学号2013101269姓名陈凯成绩

实验二:

两个十进制数的乘法

1、实验目的:

掌握乘法指令和循环指令的用法。

2、实验内容:

实现十进制数的乘法。

被乘数(29054)和乘数(3)均以ASCII码的形式存放在内存中,乘数、被乘数、积均在屏幕上显示出来。

3、实验程序

SHOWMACROB

MOVAH,02H

MOVDL,B

INT21H

ENDM

DATASEGMENT

DATA1DB32H,39H,30H,35H,34H

DATA2DB33H

RESULTDB6DUP(00H)

DATAENDS

STACKSEGMENT

STADB20DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK,ES:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVAX,TOP

MOVSP,AX

MOVSI,OFFSETDATA1

MOVCL,5

SHOW20H

CALLDISPL

SHOW0DH

SHOW0AH

SHOW2AH

MOVSI,OFFSETDATA2

MOVBL,[SI]

ANDBL,00001111B

MOVCL,1

CALLDISPL

SHOW0DH

SHOW0AH

MOVCL,7

S1:

SHOW2DH

LOOPS1

SHOW0DH

SHOW0AH

MOVSI,OFFSETDATA1

MOVDI,OFFSETRESULT

MOVAX,00H

MOVCX,05

LOOP1:

MOVAL,[SI]

ANDAL,00001111B

INCSI

MULBL

AAM

ADDAH,[DI]

AAA

MOV[DI],AH

INCDI

MOV[DI],AL

LOOPLOOP1

MOVSI,OFFSETRESULT

MOVCX,06

LOP:

MOVDL,[SI]

ADDDL,30H

MOV[SI],DL

INCSI

LOOPLOP

MOVSI,OFFSETRESULT

MOVCL,6

CALLDISPL

MOVAX,4C00H

INT21H

DISPLPROCNEAR

SD1:

SHOW[SI]

INCSI

LOOPSD1

RET

DISPLENDP

CODEENDS

ENDSTART

4、实验截图

实验程序与编译:

实验运行结果:

实验名称统计数据个数程序同组人

专业班级信息13-1班学号2013101269姓名陈凯成绩

实验三:

统计数据个数

1、实验目的:

掌握多位十六进制数转换成朵唯十进制数的ASCII码的方法。

2、实验内容:

统计内存数组中大于0和小于0的元素的个数,并将统计结果分别存放在LRESULT和HResult变量中,并显示个数。

3、实验程序:

DATASEGMENT

ARYDB1,3,-1,2,6,-9,-5,7,8,1,3,8,-6,8,-9,-7,2,4,-3,-3

DB-4,7,7,8,3,1,3,6,8,5,5,6,4,5,7,-4,2,4,5,-7,5,4

DB2,5,7,8,8,8,7,6,-5,4,3,2,1,-1,2,2,3,-4,5,6,7

N=$-ARY

LRESULTDW0

HRESULTDW0

TJJGDB'STATISTICSRESULT:

',0DH,0AH,'$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

SHOWMACROB

PUSHDX

PUSHAX

MOVDX,B

MOVAH,02H

INT21H

POPAX

POPDX

ENDM

XORCX,CX

MOVCX,N

LEASI,ARY

LOP:

MOVAL,[SI]

CMPAL,0

JNSPLUS

INCLRESULT

JMPCONT

PLUS:

INCHRESULT

CONT:

INCSI

LOOPLOP

LEADX,TJJG

MOVAH,09H

INT21H

SHOW'+'

MOVAX,HRESULT

CALLDISPL

SHOW0DH

SHOW0AH

SHOW'-'

MOVAX,LRESULT

CALLDISPL

MOVAX,4C00H

INT21H

DISPLPROC

PUSHDX

PUSHAX

MOVCX,10

MOVDX,00H

MOVBX,00H

DIVCX

MOVBX,DX

ADDAL,30H

DISPL1:

MOVDL,AL

MOVAH,02H

INT21H

MOVDL,BL

ADDDL,30H

MOVAH,02H

INT21H

POPAX

POPDX

RET

DISPLENDP

CODEENDS

ENDSTART

4、实验截图

实验调试编译程序:

实验运行结果:

……………………………………装………………………………………订…………………………………………线………………………………………

实验名称8255与开关电路实验同组人

专业班级信息13-1班学号2013101269姓名陈凯成绩

实验四:

8255A与开关电路的实验

1、实验目地:

(1)掌握8255A并行接口芯片的原理及编程方法;

(2)掌握读取开关状态的方法。

2、实验内容:

编写程序,通过8255A接口芯片,读取开关状态,并在PC机屏幕上显示出来。

3、线路连接:

实验中共有8个逻辑开关,8255A端口C的8位连接8个,开关向上拨时,8255A相应的端口输出高电平‘1’;开关向下拨时,响应端口输出低电平’0‘。

4、实验程序

DATASEGMENT

IOPORTEQU0D880H-280H

IO8255CEQUIOPORT+282H

IO8255TEQUIOPORT+283H

TABDB'12345678',0DH,0AH,'$'

MESSDB'PLEASEENTERANYKEYWHENREADY!

',0DH,0AH,'$'

DATAENDS

STACKSEGMENTSTACK

STADW50DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVAH,09H

MOVDX,OFFSETMESS

INT21H

MOVAH,01H

INT21H

MOVDX,IO8255T

MOVAL,99H

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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