微机实验程序_第1页
微机实验程序_第2页
微机实验程序_第3页
微机实验程序_第4页
微机实验程序_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验2 EDIT,MASM,LINK的使用实验内容:在内存X-NUM和Y-NUM单元存有42和-43,利用汇编语言程序编程设计计算 这两数字和,结果放入S-NUM单元DATA SEGMENTX DB 42Y DB -43S DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AL,XADD AL,YMOV S,ALMOV AH,4CHINT 21HCODE ENDS实验丁船循环程序设标签:教育实验3循环程序设计实验内容:1.现有数组 X,Y. X=32,-43,76,95,-1;Y=-78,1

2、27,-128,-125,88.计算这两个数组之和,结果送到另一组数,即 S(i)=X(i)+Y(i)DATA SEGMENT.X DB 32,-43,76,95,-1.Y DB -78,127,-128,-125,88.COUNT EQU $-YS DB COUNT DUP(?)DATA ENDSCODE SEGMENT .ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA .MOV DS,AX .MOV SI,OFFSET X.MOV DI,OFFSET YI L1:MOV AL,SI .MOV AH,DI .ADD AL,AH.MOV SSI,AL.INC S

3、I.INC DI.LOOPL1.MOV AH,4CH.INT 21HCODE ENDS.END START实验内容:2.现有两个多位十进制数:X=1357902468, Y=5790123467计算X+Y之和(BCD码加法),结果送到乙DATA SEGMENT:DB 68H,24H,90H,57H,13HDB 67H,34H,12H,90H,57H. Y.COUNT EQU $-Y Z DB 6 DUP(?)DATA ENDSCODE SEGMENT .ASSUME CS:CODE,DS:DATA START:MOV AX,DATA.MOV DS,AX.MOV CX,COUNT.MOV SI,

4、OFFSET X.MOV DI,OFFSET Y.L1:MOV AL,SI.MOV AH,DI.ADC AL,AH.DAA.MOV ZSI,AL.INC SI.LOOPL1.MOV AH,4CHCODE ENDSND START实验4子程序调用编程设计实验内容:现有数组X=32, -43,76,95, -1, -78,127, -128, -125,88编程按递增顺序排序,排序后的数据复制到附加段内。1.无子程序结构。DATA SEGMENTX DB 32,-43,76,95,-1,-78,127,-128,-125,88COUNT EQU $-XDATA ENDSEXTRA SEGMENTY

5、 DB COUNT DUP(?)EXTRA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:EXTRASTART:MOV AX,DATAMOV DS,AXMOV AX,EXTRAMOV ES,AXMOV CX,COUNTMOV SI,0DEC CXL1:MOV DX,CXL2:MOV AL,XSICMP AL,XSI+1JL L3XCHG AL,XSI+1MOV XSI,ALL3:INC SILOOPL2MOV CX,DXMOV SI,0LOOPL1MOV CX,COUNTL4:MOV AL,XSIMOV YSI,ALINC SILOOPL4MOV AH,4

6、CHINT 21HCODE ENDSEND START2.子程序调用结构DATA SEGMENT.X DB 32,-43,76,95,-1,-78,127,-128,-125,88COUNT EQU $-XDATA ENDSEXTRA SEGMENTY DB COUNT DUP(?)EXTRA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:EXTRASTART:MOV AX,DATAMOV DS,AXMOV AX,EXTRAMOV ES,AXMOV CX,COUNTMOV SI,0CALL ORDERMOV CX,COUNTNEXT:MOV AL,XSIM

7、OV YSI,ALINC SILOOP NEXTMOV AH,4CHORDER PROC NEARL1:MOV DX,CXL2:MOV AL,XSICMP AL,XSI+1JL L3XCHG AL,XSI+1MOV XSI,ALL3:INC SILOOPL2MOV CX,DXMOV SI,0LOOPL1RETORDER ENDPCODE ENDSEND START实验5 DOS功能调用DATA SEGMENTINBUF1 DB ?INBUF2 DB 32DB ?DB 32 DUP(?)OUTBUF1 DB 38HOUTBUF2 DB ABCDE,0DH,0AH,$DATA ENDSCODE S

8、EGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET INBUF1CALL L1MOV SI,ALCALL L2CALL L3CALL L4MOV AH,4CHINT 21HL1 PROC NEARMOV AH,01HINT 21HRETL1 ENDPL2 PROC NEARMOV DL,OUTBUF1MOV AH,02HINT 21HRETL2ENDPL3 PROC NEARMOV DX,OFFSET OUTBUF2MOV AH,09HINT 21HRETL3ENDPL4 PROC NEARMOV DX,OFF

9、SET INBUF2MOV AH,0AHINT 21HRETL4ENDPCODE ENDSEND START实验9接口实验预备知识DATA SEGMENTOUTBUF DB 9,8,7,6,5,4,3,2,1,0COUNT EQU $-OUTBUFDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSET OUTBUFMOV DI,COUNTNEXT:MOV DL,SIMOV AH,02HINT 21HCALL DELAYINC SIDEC DIJNZ NEXTMOV AH,4CHINT

10、21HDELAY PROC NEARPUSH CXMOV BX,299HFOR1:MOV CX,0FFFFHFOR2:LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDPCODE ENDSEND START实验10简单的输出接口实验实验内容:利用74LS273设计一个接口电路,使8个LED循环顺序点亮, 中间间隔1秒,循环3次,要求高电平时LED点亮。CODE SEGMENTASSUME CS:CODESTART:MOV SI,3L1:MOV AL,01HMOV DI,8L2:ROL AL,1MOV DX,280HOUT DX,ALCALL DELAYDEC D

11、IJNZ L2DEC SIJNZ L1MOV AH,4CHINT 21HDELAY PROC NEARPUSH CXMOV BX,299HFOR1:MOV CX,0FFFFHFOR2:LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDPCODE ENDSEND START实验11简单的输入接口实验实验内容:设计一个接口电路,当开关来回搬动1次后,在屏幕上输出1,再来回搬动1 次,输出2,共搬动5次。利用硬件消抖。CODE SEGMENTASSUME CS:CODESTART:MOV DL,31HMOV CX,5L1:PUSH DXMOV DX,280H IN A

12、L,DX AND AL,01H MOV AH,AL L2:IN AL,DXAND AL,01H CMP AH,AL JZ L2L3:IN AL,DX AND AL,01H CMP AH,AL JNZ L3 POP DX MOV AH,02H INT 21H INC DL LOOPL1MOV AH,4CH INT 21H CODE ENDSEND START实验12数码管显示实验实验内容:使2个七段显示管分别显示01,23,45,67,89, 每两个字符保持2秒钟。DATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77

13、H,7CH,39H,5EH,79H,71HX DB 01H,23H,45H,67H,89HCOUNT EQU $-XDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,COUNTMOV SI,OFFSET XMOV BX,OFFSET TABLEMOV DX,280HL1:MOV DI,200L2:MOV AL,SIAND AL,0F0HROR AL,1 ROR AL,1 ROR AL,1 ROR AL,1 XLAT AND AL,7FH OUT DX,AL CALL DELAY MOV AL,

14、SI AND AL,0FH XLAT OR AL,80H OUT DX,AL CALL DELAY DEC DI JNZ L2 INC SI LOOPL1 MOV AH,4CH INT 21HDELAY PROC NEAR PUSH CX PUSH BX MOV BX,200FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2 DEC BX JNZ FOR1 POP BX POP CX RETDELAY ENDP CODE ENDS END START实验13可编程并行接口 8255A芯片实验实验内容:由8255A的A接口输出数据,驱动4个LED,使其顺序显示0-F的二进制状态,

15、 每个状态保持1秒钟。CODE SEGMENTASSUME CS:CODESTART:MOV DX,283HMOV AL,80HOUT DX,ALMOV CX,16MOV AL,00HL1:MOV DX,280HOUT DX,ALCALL DELAYINC ALLOOPL1MOV AH,4CHINT 21HDELAY PROC NEARPUSH CXMOV BX,299HFOR1:MOV CX,0FFFFHFOR2:LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDPCODE ENDSEND START实验14 8253编程测试实验实验内容:8253方式0测试,用消抖电路产生的脉冲作为CLK0输入信号,OUT0接LED。运行程序5秒将计数器的显示在屏幕上,分析读取 的计数常数与CLK0信号的关系。CODE SEGMENTASSUME CS:CODESTART:MOV AL,11HMOV DX,283HOUT DX,ALMOV AL,03HMOV DX,280HOUT DX,ALCALL DELAYMOV AL,00HMOV DX,283HOUT DX,ALMOV DX,280HIN AL,DXMOV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论