微机系统实验报告.docx

上传人:b****1 文档编号:2073955 上传时间:2022-10-26 格式:DOCX 页数:47 大小:217.64KB
下载 相关 举报
微机系统实验报告.docx_第1页
第1页 / 共47页
微机系统实验报告.docx_第2页
第2页 / 共47页
微机系统实验报告.docx_第3页
第3页 / 共47页
微机系统实验报告.docx_第4页
第4页 / 共47页
微机系统实验报告.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

微机系统实验报告.docx

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

微机系统实验报告.docx

微机系统实验报告

西安电子科技大学

实验报告

 

课程名称

微机系统实验

实验学时

6

评语:

 

指导教师:

年月日

 

实验一汇编语言编程实验

1实验目的

(1)掌握汇编语言的编程方法

(2)掌握DOS功能调用的使用方法

(3)掌握汇编语言程序的调试运行过程

2实验内容

(1)将指定数据区的字符串数据以ASCII码形式显示在屏幕上,并通过DOS功能调用完成必要提示信息的显示。

(2)在屏幕上显示自己的学号姓名信息。

(3)循环从键盘读入字符并回显在屏幕上,然后显示出对应字符的ASCII码,直到输入”Q”或“q”时结束。

(4)自主设计输入显示信息,完成编程与调试,演示实验结果。

3实验结果

任务一

4程序流程图

5程序代码

任务一

DATASEGMENT

NUMBERDB'03101214SONGYUANYUAN',0AH,0DH,'$'

string1DB0AH,0DH,'inputq/Qtoexit',0AH,0DH,0AH,0DH,'NUMBERANDNAME:

','$'

string2DB0AH,0DH,'Input:

$'

RESULTDB0AH,0DH,'ASCIIis:

$'

SDDB''

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETstring1

MOVAH,09H

INT21H

MOVDX,OFFSETNUMBER

INT21H

C1:

MOVDX,OFFSETstring2

MOVAH,09H

INT21H

MOVAH,01H

INT21H

CMPAL,'Q'

JZEXIT

CMPAL,'q'

JZEXIT

MOVSD,AL

MOVDX,OFFSETRESULT

MOVAH,09H

INT21H

MOVSI,OFFSETSD

MOVAL,DS:

[SI]

ANDAL,0F0H

MOVCL,4

SHRAL,CL

CMPAL,0AH

JBC2

ADDAL,07H

C2:

ADDAL,30H

MOVDL,AL

MOVAH,02H

INT21H

MOVAL,DS:

[SI]

ANDAL,0FH

CMPAL,0AH

JBC3

ADDAL,07H

C3:

ADDAL,30H

MOVDL,AL

MOVAH,02H

INT21H

loopC1

EXIT:

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

实验二数码转换实验

.1实验目的

(1)掌握不同进制数及编码相互转换的程序设计方法。

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

(3)掌握循环程序的设计方法。

2.实验内容及说明

(1)重复从键盘输入不超过5位的十进制数,按回车键结束输入;

(2)将该十进制数转换成二进制数;结果以16进制数的形式显示在屏幕上;

(3)如果输入非数字字符,则报告出错信息,重新输入;

(4)直到输入“Q”或‘q’时程序运行结束。

键盘输入一字符串,以空格结束,统计其中数字字符的个数,并在屏幕显示。

任务二

 

流程图

 

任务二

;PAGE60,132

;本实验将输入的ASCII码转换为二进制,要求输入位数小于5

DDATASEGMENT

MESDB0AH,0DH,'Theasciicodeofdecimalcodeare:

$'

MSG1DB0AH,0DH,'exit,input:

q/Q',0AH,0DH,0AH,0DH,'$'

MSG2DB0AH,0DH,0AH,0DH,'Input:

$'

MSG3DB0AH,0DH,'inputerror',0AH,0DH,'$'

BUFDB30H,30H,30H,31H,35H

DB10HDUP(0)

NDW0

DDATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DDATA

START:

MOVAX,DDATA

MOVDS,AX

MOVES,AX

MOVDI,OFFSETBUF

CLC

MOVDX,OFFSETMSG1

MOVAH,09H

INT21H

A1:

MOVAH,1;接收键盘输入

INT21H

INCN

STOSB;将输入数据存放在BUF缓冲区中

CMPAL,'Q'

JZEXIT

CMPAL,'q'

JZEXIT

CMPAL,39H

JAERROR

CMPAL,13

JNEA1

MOVCX,N

DECCX

MOVBX,000AH

MOVSI,OFFSETBUF

MOVAH,0

MOVDX,0

LODSB

CMPCX,1

JEA3

SUBAL,30H;将BUF中数据转换为二——十进制数

DECCX

A2:

IMULBX

MOVDX,AX

LODSB

MOVAH,0

A3:

SUBAL,30H

ADDAX,DX

LOOPA2

MOV[SI],AX

MOVDX,OFFSETMES

MOVAH,09H

INT21H

INCSI;显示高字节

CALLSHOW

DECSI;显示低字节

CALLSHOW

MOVDX,OFFSETMSG2

MOVAH,09H

INT21H

MOVAX,0

stosb

MOVAX,0

MOVCX,0

MOVBX,0

MOVDX,0

MOVDI,OFFSETBUF

CLC

MOVN,0

LOOPA1

EXIT:

MOVAX,4C00H

INT21H

ERROR:

MOVDX,OFFSETMSG3

MOVAH,09H

INT21H

MOVDX,OFFSETMSG2

MOVAH,09H

INT21H

JMPA1

SHOWPROCNEAR

MOVAL,DS:

[SI]

ANDAL,0F0H;取高4位

MOVCL,4

SHRAL,CL

CMPAL,0AH;是否是A以上的数

JBC2

ADDAL,07H

C2:

ADDAL,30H

MOVDL,AL;showcharacter

MOVAH,02H

INT21H

MOVAL,DS:

[SI]

ANDAL,0FH;取低4位

CMPAL,0AH

JBC3

ADDAL,07H

C3:

ADDAL,30H

MOVDL,AL;showcharacter

MOVAH,02H

INT21H

RET

SHOWENDP

CODEENDS

ENDSTART

实验三基本IO口扩展实验

.1实验目的

了解TTL芯片扩展简单I/O口的方法,掌握数据输入输出程序编制的方法。

2实验内容

74LS244是一种三态输出的8总线缓冲驱动器,无锁存功能,当G为低电平时,Ai信号传送到Yi,当为高电平时,Yi处于禁止高阻状态。

其引脚图如下:

 

74LS273是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。

其引脚图如下:

 

本实验要求用74LS244作为输入口,读取开关状态,并将此状态通过74LS273连接到发光二极管显示。

具体实验内容如下:

(1)当开关Yi为低电平时对应的发光二极管点亮,Yi为高电平时对应的发光二极管灭。

(2)当开关Yi全为高电平时,发光二极管Qi从左至右轮流点亮。

(3)当开关Yi全为低电平时,发光二极管Qi从右至左轮流点亮。

(4)自主设计控制及显示模式,完成编程调试,演示实验结果。

3实验原理图

图3-2-174LS244与74LS273扩展I/O口原理图

实验连线图:

 

图3-2-2扩展I/O口连线图

4代码

MY_STACKSEGMENTPARA'STACK'

DB100DUP(?

MY_STACKENDS

MY_DATASEGMENTPARA'DATA'

IO_9054base_addressDB4DUP(0);PCI卡9054芯片I/O基地址暂存空间

IO_base_addressDB4DUP(0);PCI卡I/O基地址暂存空间

pcicardnotfindDB0DH,0AH,'pcicardnotfindoraddress/interrupterror!

!

!

',0DH,0AH,'$'

GOODDB0DH,0AH,'TheProgramisExecuting!

',0DH,0AH,'$'

LS244DW00000H

LS273DW00020H

RADB?

LBDB?

DELAY_SETEQU0FFFH;延时常数

MY_DATAENDs

MY_CODESEGMENTPARA'CODE'

MY_PROCPROCFAR

ASSUMECS:

MY_CODE,DS:

MY_DATA,SS:

MY_STACK

MAIN:

.386;386模式编译

MOVAX,MY_DATA

MOVDS,AX

MOVES,AX

MOVAX,MY_STACK

MOVSS,AX

CALLFINDPCI;自动查找PCI卡资源及IO口基址

MOVCX,wordptrIO_base_address

ADDLS244,CX;PCI卡IO基址+偏移

ADDLS273,CX

;自己的程序

MOVRA,7FH

MOVLB,0FEH

READ1:

MOVDX,LS244;读取开关状态

INAL,DX

CMPAL,0FFH

JZA1

CMPAL,00H

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

当前位置:首页 > 自然科学 > 数学

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

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