微机实验程序汇总.docx

上传人:b****6 文档编号:13493974 上传时间:2023-06-14 格式:DOCX 页数:12 大小:17.22KB
下载 相关 举报
微机实验程序汇总.docx_第1页
第1页 / 共12页
微机实验程序汇总.docx_第2页
第2页 / 共12页
微机实验程序汇总.docx_第3页
第3页 / 共12页
微机实验程序汇总.docx_第4页
第4页 / 共12页
微机实验程序汇总.docx_第5页
第5页 / 共12页
微机实验程序汇总.docx_第6页
第6页 / 共12页
微机实验程序汇总.docx_第7页
第7页 / 共12页
微机实验程序汇总.docx_第8页
第8页 / 共12页
微机实验程序汇总.docx_第9页
第9页 / 共12页
微机实验程序汇总.docx_第10页
第10页 / 共12页
微机实验程序汇总.docx_第11页
第11页 / 共12页
微机实验程序汇总.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机实验程序汇总.docx

《微机实验程序汇总.docx》由会员分享,可在线阅读,更多相关《微机实验程序汇总.docx(12页珍藏版)》请在冰点文库上搜索。

微机实验程序汇总.docx

微机实验程序汇总

实验2EDIT,MASM,LINK的使用

实验内容:

在内存X-NUM和Y-NUM单元存有42和-43,利用汇编语言程序编程设计计算这两数字和,

          结果放入S-NUM单元

DATASEGMENT

     XDB42

     YDB-43

     SDB?

DATAENDS

CODESEGMENT

     ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

      MOVDS,AX

      MOVAL,X

      ADDAL,Y

      MOVS,AL

      MOVAH,4CH

      INT21H

CODEENDS

     ENDSTART

实验3 循环程序设

标签:

 

教育

实验3循环程序设计

实验内容:

1.现有数组X,Y.X=32,-43,76,95,-1;

                         Y=-78,127,-128,-125,88.

            计算这两个数组之和,结果送到另一组数,

            即S(i)=X(i)+Y(i)

DATASEGMENT

     XDB32,-43,76,95,-1

     YDB-78,127,-128,-125,88

     COUNTEQU$-Y

     SDBCOUNTDUP(?

DATAENDS

CODESEGMENT

     ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

      MOVDS,AX

      MOVSI,OFFSETX

      MOVDI,OFFSETY

   L1:

MOVAL,[SI]

      MOVAH,[DI]

      ADDAL,AH

      MOVS[SI],AL

      INCSI

      INCDI

      LOOPL1

      MOVAH,4CH

      INT21H

CODEENDS

     ENDSTART

实验内容:

2.现有两个多位十进制数:

X=1357902468,Y=5790123467

            计算X+Y之和(BCD码加法),结果送到Z.

DATASEGMENT

     XDB68H,24H,90H,57H,13H

     YDB67H,34H,12H,90H,57H

     COUNTEQU$-Y

     ZDB6DUP(?

DATAENDS

CODESEGMENT

     ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

      MOVDS,AX

      MOVCX,COUNT

      MOVSI,OFFSETX

      MOVDI,OFFSETY

   L1:

MOVAL,[SI]

      MOVAH,[DI]

      ADCAL,AH

      DAA

      MOVZ[SI],AL

      INCSI

      INCDI

      LOOPL1

      MOVAH,4CH

      INT21H

CODEENDS

     ENDSTART

 

实验4子程序调用编程设计

实验内容:

现有数组X=32,-43,76,95,-1,-78,127,-128,-125,88

          编程按递增顺序排序,排序后的数据复制到附加段内。

          1.无子程序结构。

DATASEGMENT

     XDB32,-43,76,95,-1,-78,127,-128,-125,88

     COUNTEQU$-X

DATAENDS

EXTRASEGMENT

      YDBCOUNTDUP(?

EXTRAENDS

CODESEGMENT

     ASSUMECS:

CODE,DS:

DATA,ES:

EXTRA

START:

MOVAX,DATA

      MOVDS,AX

      MOVAX,EXTRA

      MOVES,AX

      MOVCX,COUNT

      MOVSI,0

      DECCX

   L1:

MOVDX,CX

   L2:

MOVAL,X[SI]

      CMPAL,X[SI+1]

      JL  L3

      XCHGAL,X[SI+1]

      MOVX[SI],AL

   L3:

INCSI

      LOOPL2

      MOVCX,DX

      MOVSI,0

      LOOPL1

      MOVCX,COUNT

   L4:

MOVAL,X[SI]

      MOVY[SI],AL

      INCSI

      LOOPL4

      MOVAH,4CH

      INT21H

CODEENDS

     ENDSTART

2.子程序调用结构

DATASEGMENT

     XDB32,-43,76,95,-1,-78,127,-128,-125,88

     COUNTEQU$-X

DATAENDS

EXTRASEGMENT

      YDBCOUNTDUP(?

EXTRAENDS

CODESEGMENT

     ASSUMECS:

CODE,DS:

DATA,ES:

EXTRA

START:

MOVAX,DATA

      MOVDS,AX

      MOVAX,EXTRA

      MOVES,AX

      MOVCX,COUNT

      MOVSI,0

      CALLORDER

      MOVCX,COUNT

 NEXT:

MOVAL,X[SI]

      MOVY[SI],AL

      INCSI

      LOOPNEXT

      MOVAH,4CH

      INT21H

ORDERPROCNEAR

      DECCX

   L1:

MOVDX,CX

   L2:

MOVAL,X[SI]

      CMPAL,X[SI+1]

      JLL3

      XCHGAL,X[SI+1]

      MOVX[SI],AL

   L3:

INCSI

      LOOPL2

      MOVCX,DX

      MOVSI,0

      LOOPL1

      RET

ORDERENDP

CODEENDS

     ENDSTART

 

实验5DOS功能调用

实验内容:

用子程序调用的方式完成以下要求:

          1.使用键盘向内存输入一个自定义的ASCII字符;

          2.将内存缓冲区OUTBUF里的一个ASCII字符从显示器输出;

          3.将内存缓冲区OUTBUF里的一个自定义ASCII字符串显示出来;

          4.使用键盘向输入缓冲区INBUF输入一个ASCII字符(如Thisisastring!

DATASEGMENT

     INBUF1DB(?

     INBUF2DB32

            DB?

            DB32DUP(?

     OUTBUF1DB38H

     OUTBUF2DB'ABCDE',0DH,0AH,'$'

DATAENDS

CODESEGMENT

     ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

      MOVDS,AX

      MOVSI,OFFSETINBUF1

      CALLL1

      MOV[SI],AL

      CALLL2

      CALLL3

      CALLL4

      MOVAH,4CH

      INT21H

L1PROCNEAR

      MOVAH,01H

      INT21H

      RET

L1ENDP

L2PROCNEAR

      MOVDL,OUTBUF1

      MOVAH,02H

      INT21H

      RET

L2ENDP

L3PROCNEAR

      MOVDX,OFFSETOUTBUF2

      MOVAH,09H

      INT21H

      RET

L3ENDP

L4PROCNEAR

      MOVDX,OFFSETINBUF2

      MOVAH,0AH

      INT21H

      RET

L4ENDP

CODEENDS

     ENDSTART

 

实验9接口实验预备知识

实验内容:

根据实验所用机器的主频编写一个倒计时程序,

          要求在屏幕上显示倒计时结果。

          如9,8,7,6,5,4,3,2,1,0

          每个字符显示时间为1秒。

DATASEGMENT

     OUTBUFDB'9','8','7','6','5','4','3','2','1','0'

     COUNTEQU$-OUTBUF

DATAENDS

CODESEGMENT

     ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

      MOVDS,AX

      MOVSI,OFFSETOUTBUF

      MOVDI,COUNT

 NEXT:

MOVDL,[SI]

      MOVAH,02H

      INT21H

      CALLDELAY

      INCSI

      DECDI

      JNZNEXT

      MOVAH,4CH

      INT21H

DELAYPROCNEAR

      PUSHCX

      MOVBX,299H

 FOR1:

MOVCX,0FFFFH

 FOR2:

LOOPFOR2

      DECBX

      JNZFOR1

      POPCX

      RET

DELAYENDP

CODEENDS

     ENDSTART

 

实验10简单的输出接口实验

实验内容:

利用74LS273设计一个接口电路,使8个LED循环顺序点亮,

          中间间隔1秒,循环3次,要求高电平时LED点亮。

CODESEGMENT

     ASSUMECS:

CODE

START:

MOVSI,3

   L1:

MOVAL,01H

      MOVDI,8

   L2:

ROLAL,1

      MOVDX,280H

      OUTDX,AL

      CALLDELAY

      DECDI

      JNZL2

      DECSI

      JNZL1

      MOVAH,4CH

      INT21H

DELAYPROCNEAR

      PUSHCX

      MOVBX,299H

 FOR1:

MOVCX,0FFFFH

 FOR2:

LOOPFOR2

      DECBX

      JNZFOR1

      POPCX

      RET

DELAYENDP

CODEENDS

     ENDSTART

 

实验11简单的输入接口实验

实验内容:

设计一个接口电路,当开关来回搬动1次后,在屏幕上输出‘1’,再来回搬动1次,

          输出‘2’,共搬动5次。

          利用硬件消抖。

CODESEGMENT

     ASSUMECS:

CODE

START:

MOVDL,31H

      MOVCX,5

   L1:

PUSHDX

      MOVDX,280H

      INAL,DX

      ANDAL,01H

      MOVAH,AL

   L2:

INAL,DX

      ANDAL,01H

      CMPAH,AL

      JZL2

   L3:

INAL,DX

      ANDAL,01H

      CMPAH,AL

      JNZL3

      POPDX

      MOVAH,02H

      INT21H

      INCDL

      LOOPL1

      MOVAH,4CH

      INT21H

CODEENDS

     ENDSTART

 

实验12数码管显示实验

实验内容:

使2个七段显示管分别显示01,23,45,67,89,

          每两个字符保持2秒钟。

DATASEGMENT

     TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

           DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

     XDB01H,23H,45H,67H,89H

     COUNTEQU$-X

DATAENDS

CODESEGMENT

     ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

      MOVDS,AX

      MOVCX,COUNT

      MOVSI,OFFSETX;SI指向X

      MOVBX,OFFSETTABLE;BX指向TABLE

      MOVDX,280H

   L1:

MOVDI,200

   L2:

MOVAL,[SI]

      ANDAL,0F0H;保留低四位

      RORAL,1;循环右移四位

      RORAL,1

      RORAL,1

      RORAL,1

      XLAT;查表

      ANDAL,7FH

      OUTDX,AL

      CALLDELAY

      MOVAL,[SI]

      ANDAL,0FH

      XLAT

      ORAL,80H

      OUTDX,AL

      CALLDELAY

      DECDI

      JNZL2

      INCSI

      LOOPL1

      MOVAH,4CH

      INT21H

DELAYPROCNEAR

      PUSHCX

      PUSHBX

      MOVBX,200

 FOR1:

MOVCX,0FFFFH

 FOR2:

LOOPFOR2

      DECBX

      JNZFOR1

      POPBX

      POPCX

      RET

DELAYENDP

CODEENDS

     ENDSTART

 

实验13可编程并行接口8255A芯片实验

实验内容:

由8255A的A接口输出数据,驱动4个LED,使其顺序显示0--F的二进制状态,

          每个状态保持1秒钟。

CODESEGMENT

     ASSUMECS:

CODE

START:

MOVDX,283H

      MOVAL,80H

      OUTDX,AL

      MOVCX,16

      MOVAL,00H

   L1:

MOVDX,280H

      OUTDX,AL

      CALLDELAY

      INCAL

      LOOPL1

      MOVAH,4CH

      INT21H

DELAYPROCNEAR

      PUSHCX

      MOVBX,299H

 FOR1:

MOVCX,0FFFFH

 FOR2:

LOOPFOR2

      DECBX

      JNZFOR1

      POPCX

      RET

DELAYENDP

CODEENDS

     ENDSTART

实验148253编程测试实验

实验内容:

8253方式0测试,用消抖电路产生的脉冲作为CLK0输入信号,

          OUT0接LED。

运行程序5秒将计数器的显示在屏幕上,分析读取

          的计数常数与CLK0信号的关系。

CODESEGMENT

     ASSUMECS:

CODE

START:

MOVAL,11H

      MOVDX,283H

      OUTDX,AL

      MOVAL,03H

      MOVDX,280H

      OUTDX,AL

      CALLDELAY

      MOVAL,00H

      MOVDX,283H

      OUTDX,AL

      MOVDX,280H

      INAL,DX

      MOVCH,AL

      MOVCL,4

      ANDAL,0F0H

      ROLAL,CL

      MOVDL,AL

      ADDDL,30H

      MOVAH,02H

      INT21H

      ANDCH,0FH

      MOVDL,CH

      ADDDL,30H

      MOVAH,02H

      INT21H

      MOVAH,4CH

      INT21H

DELAYPROCNEAR

      PUSHCX

      MOVBX,999H

 FOR1:

MOVCX,0FFFFH

 FOR2:

LOOPFOR2

      DECBX

      JNZFOR1

      POPCX

      RET

DELAYENDP

CODEENDS

     ENDSTART

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2