微机原理程序[特选材料].doc

上传人:rrsccc 文档编号:9727174 上传时间:2021-03-20 格式:DOC 页数:21 大小:73KB
返回 下载 相关 举报
微机原理程序[特选材料].doc_第1页
第1页 / 共21页
微机原理程序[特选材料].doc_第2页
第2页 / 共21页
微机原理程序[特选材料].doc_第3页
第3页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《微机原理程序[特选材料].doc》由会员分享,可在线阅读,更多相关《微机原理程序[特选材料].doc(21页珍藏版)》请在三一文库上搜索。

1、实验二:循环程序设计2.DATA SEGMENTx db -78,127,-128,-125,88y db 32,-43,76,95,1S db 5 dup(?)data endsCode segment Assume cs:code,ds:dataStart:mov ax,dataMov ds,axMov cx,5Mov bx,0L1:mov al,xbxAdd al,ybxInc bxLoop L1MOV AH,4CHINT 21HCODE ENDSEND START3.DATA SEGMENTY DB 68H,24H,90H,57H,13HHX DB 67H,34H,12H,90H,57

2、HS DB 5 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,5MOV SI,OFFSET XMOV DI,OFFSET YLP:MOV AL,SIMOV AH,DIADC AL,AHDAAMOV SSI,ALINC SIINC DILOOP LPMOV AH,4CHINT 21HCODE ENDSEND START4.DATA SEGMENT LIST DB 0,1,2,3,4,5,6,7,8,9COUNT EQU $-LISTDATA ENDSCODE SEGMENTASS

3、UME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,COUNT-1LOOP1:MOV DX,CXMOV BX,0LOOP2:MOV AX,LISTBXCMP AX,LISTBX+1MOV LISTBX,AXLOOP3:INC BXLOOP LOOP2MOV CX,DXLOOP LOOP1MOV AX,4CHINT 21HCODE ENDSEND START实验三:子程序调用程序设计DATA SEGMENTNUM DB 85,77,126,-1,-43,37,-128,11,-19,13DATA ENDSADDITION SEGMENTNUM1

4、 DB 10 DUP(?)ADDITION ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:ADDITIONSTART:AX,DATAMOV DS,AXMOV AX,ADDITIONMOV ES,AXCALL ORDERCALL COPYMOV AH,4CHINT 21HORDER PROCMOV CX,9LP2:MOV BX,0MOV DX,CXLP1:MOV AL,NUMBXCMP AL,NUMBX+1JLE NEXTXCHG AL,NUMBX+1MOV NUMBX,ALNEXT:ADD BX,1DEC DXJNZ LP1LOOP LP2RETORDER

5、 ENDPCOPY PROCMOV CX,10MOV BX,0LP:MOV AL,NUMBXMOV ES:NUM1BX,ALINC BXLOOP LPRETCOPY ENDPCODE ENDSEND START实验四:DOS功能系统调用1.DATA SEGMENTDUF DB 10 DUP(?)DATA ENDS STACK SEGMENT SA DB 100 DUP(?)TOP LABEL WORDSTACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,SS:STACKSTART:MOV AX,STACKMOV SS,AXMOV SP,OFFSET TOPP

6、USH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV CX,05HMOV AL,0S1:MOV AH,1INT 21HPUSH AXLOOP S1MOV DL,0DHMOV AH,02HINT 21HMOV DL,0AHMOV AH,02HINT 21HMOV CX,05HMOV BX,4S2:POP AXMOV DUFBX,ALDEC BXLOOP S2MOV BX,0MOV CX,05HS3:MOV DL,DUFBXINC BXMOV AH,2INT 21HLOOP3INC ALMOV AH,4CH INT 21HCODE ENDSEND START2

7、.DATA SEGMENT BUFF DB 50DB ?LETTER DB 50 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,BUFFMOV AH,0AHINT 21HMOV DL,0DHMOV AH,02HINT 21HMOV DL,OAHMOV AH,02HINT 21HLEA DX,LETTERMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START第五次实验:接口预备知识DATA SEGMENT OUTBUF DB5,4

8、,3,2,1COUNT EQU $-COUNTDATA 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 21HDELAY PROC NEARPUSH CXMOV BX,299HFOR1:MOV CX,0FFFFHFOR2:LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDP

9、CODE ENDSEND START第六次实验:简单的输出接口1.CODE SEGMENTASSUME CS:CODEstart:mov di ,2l1:mov al ,02hmov dx,280hout dx,alcall delaymov al ,00hmov dx,280hout dx,alcall delaymov si,3l2:mov al,04hmov dx,280hout dx,alcall delaymov al,00hmov dx,280hout dx,alcall delaydec sijnz l2mov al,08hmov dx,280hout dx,alcall del

10、aymov al ,00hmov dx,280hout dx,alcall delaydec dijnz l1MOV AH,4CHINT 21HDELAY PROC NEARPUSH CXMOV BX,100HFOR1:MOV CX,0FFFFHFOR2:LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDPCODE ENDSEND START2.CODE SEGMENTASSUME CS:CODE START:MOV CX,2AA:MOV BX,8 PUSH CXMOV DX,280HMOV AL,01HBB:OUT DX,ALCALL DELAYMOV DX,

11、280H ROl AL,1OUT DX,ALDEC BXJNZ BBPOP CX MOV DX,280H mov AL,00hOUT DX,ALLOOP AAMOV AH,4CHINT 21H DELAY PROC NEARPUSH BXPUSH CXMOV BX,299HFOR:MOV CX,0FFFFHFOR1:LOOP FOR1DEC BXJNZ FORPOP CXPOP BXRETDELAY ENDPCODE ENDSEND START第七次实验:简单的输入接口1.data segmentx db end$data endscode segmentassume cs:code,ds:d

12、atastart:mov ax,data mov ds,ax mov cx,6 mov dl,31hlp: push dx mov dx,280h in al,dx and al,10h mov bl,allp1: in al,dx and al,10h cmp bl,al jz lp1 mov dl,0ah mov ah,02h int 21h mov dl,0dh int 21h pop dx int 21h inc dx loop lp mov dl,0ah int 21h mov dl,0dh int 21h mov dx,offset x mov ah,09h int 21h mov

13、 ah,4ch int 21h code endsend start2.data segmentx db end$data endscode segmentassume cs:code,ds:datastart:mov ax,data mov ds,ax mov cx,6 mov dl,31hlp: push dx mov dx,280h in al,dx push cx mov cx,2lp1: and al,10h mov bl,allp2: in al,dx and al,10h cmp bl,al jz lp2 loop lp1 pop cx mov dl,0ah mov ah,02h

14、 int 21h mov dl,0dh int 21h pop dx int 21h inc dx loop lp mov dl,0ah int 21h mov dl,0dh int 21h mov dx,offset x mov ah,09h int 21h mov ah,4ch int 21h code endsend start第八次实验:数码管动态显示实验1.CODE SEGMENTASSUME CS:CODESTART:MOV CX,03FFHL1:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,76H ;HOUT DX,ALMOV D

15、X,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,73H;POUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L1MOV DX,280HMOV AL,00HOUT DX,ALMOV AH,4CHINT 21HDONG PROC NEARPUSH CXPUSH BXMOV BX,0100HFOR1:MOV CX,0100HFOR2:LOOP FOR2DEC BXJNZ FOR1POP BXPOP CXRETDONG ENDPCO

16、DE ENDSEND START2.CODE SEGMENTASSUME CS:CODESTART:MOV CX,01FFHL1:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,3FH ;0OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,06H;1OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L1MOV CX,01FFHL2:MOV DX,280

17、HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,5BH ;2OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,4FH;3OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L2MOV CX,010FHL3:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,66H ;4OUT DX,ALMOV DX,282HMOV AL,02HO

18、UT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,6DH;5OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L3MOV CX,010FHL4:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,7DH ;6OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,07H;7OUT D

19、X,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L4MOV CX,010FHL5:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,7FH ;8OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,6FH;9OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L5MOV DX,280HMOV AL,00HOUT

20、DX,ALMOV AH,4CHINT 21HDONG PROC NEARPUSH CXPUSH BXMOV BX,0100HFOR1:MOV CX,0100HFOR2:LOOP FOR2DEC BXJNZ FOR1POP BXPOP CXRETDONG ENDPCODE ENDSEND START第九次实验:可编程并行接口8255实验1. code segmentassume cs:codestart:mov dx,283h mov al,90h out dx,al mov dx,280h in al,dxand al,01hcmp al,01H mov cx,3mov dx,281hjnz

21、l2 l1:mov al,01h out dx,alcall delaymov al,02hout dx,alcall delaymov al,04hout dx,alcall delaymov al,08hout dx,alcall delay loop l1mov al,00hout dx,aljmp l3l2:mov al,0f0hout dx,alcall delaymov al,000hout dx,alcall delayloop l2mov al,00hout dx,all3:mov ah,4chint 21hdelay proc near PUSH CX PUSH BX MOV

22、 BX,0200HFOR3:MOV CX,0FFFFHFOR4:LOOP FOR4 DEC BX JNZ FOR3POP BX POP CXRETdelay endp coed endsend start2.CODE SEGMENTASSUME CS:CODESTART:MOV AL,10110100B MOV DX,283H OUT DX,ALL1: MOV DX,282H ;C口端口号,检验C口的pc4是否为高电平,高电平则输入 IN AL,DX AND AL,20H JZ L1 MOV DX,280H ; A口端口号,读入数据 IN AL,DX CALL DELAY MOV DX,281

23、H ;B口端口号,输出至A口 OUT DX,ALL2: MOV DX,282H IN AL,DX AND AL,02H ; 判断输出缓冲器是否满,满就等待,不满程序结束 JZ L2 JMP L3 LOOP START L3:MOV AL,00 MOV DX,280H OUT DX,AL MOV AH,4CH INT 21HDELAY PROC NEAR PUSH CX MOV BX,0f00HFOR1:MOV CX,0FFFFHFOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CXRETDELAY ENDPCODE ENDSEND START 实验十:可编程计数器/定时器8

24、253实验1.CODE SEGMENTASSUME CS:CODESTART:mov dx,283hmov al,10hout dx,almov dx,280hmov al,04hout dx,alcall delaymov dx,280hin al,dxmov dl,aladd dl,30hmov ah,2int 21h;jmp startmov ah,4chint 21hdelay proc nearpush cxmov bx,1000hfor1:mov cx,0ffffhfor2:loop for2dec bxjnz for1pop cxretdelay endsend startcod

25、e ends2.CODE SEGMENTASSUME CS:CODESTART:mov dx,283hmov al,52hout dx,almov dx,281hmov al,05hout dx,almov ah,4chint 21hend startcode ends实验十一:DATA SEGMENT ABC DB ARE YOU READY?,0DH,0AH,$ CCC DB IRQ10 INTERRUPT NOW !,0DH,0AH,$DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX,CS MOV DS,AX MOV D

26、X,OFFSET ZD10 MOV AX,2572H INT 21H CLI IN AL,21H AND AL,0FBH OUT 21H,AL IN AL,0A1H AND AL,0FBH OUT 0A1H,AL STI MOV CX,20 LOOP1: PUSH CX MOV AX,DATA MOV DS,AX LEA DX,ABC MOV AH,9 INT 21H CALL DELAY POP CX LOOP LOOP1 MOV DX,21H IN AL,DX OR AL,4 OUT 21H,AL MOV DX,0A1H IN AL,DX OR AL,4 OUT 0A1H,AL MOV A

27、H,4CH INT 21H ZD10 PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV CX,5 AGAIN: PUSH CX LEA DX,CCC MOV AH,9 INT 21H CALL DELAY POP CX LOOP AGAIN POP DX POP CX POP BX POP AX MOV AL,20H OUT 20H,AL MOV AL,20H OUT 0A0H,AL IRET ZD10 ENDP DELAY PROC NEAR MOV BX,02FFH FOR1: MOV CX,0FFFFH FOR2: LOOP FOR2 DEC B

28、X JNZ FOR1 RET DELAY ENDP CODE ENDS END START 2、DATA SEGMENT ABC DB ARE YOU READY?,0DH,0AH,$ DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX,CS MOV DS,AX MOV DX,OFFSET ZD10 MOV AX,2572H INT 21H CLI IN AL,21H AND AL,0FBH OUT 21H,AL IN AL,0A1H AND AL,0FBH OUT 0A1H,AL STI MOV CX,20 LOOP1: PU

29、SH CX MOV AX,DATA MOV DS,AX LEA DX,ABC MOV AH,9 INT 21H CALL DELAY POP CX LOOP LOOP1 MOV DX,21H IN AL,DX OR AL,4 OUT 21H,AL MOV DX,0A1H IN AL,DX OR AL,4 OUT 0A1H,AL MOV AH,4CH INT 21H ZD10 PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV CX,3 AGAIN: PUSH CX MOV DX,280H MOV AL,0FH OUT DX,AL CALL DELAY MOV DX,280H MOV AL,00H OUT DX,AL CALL DELAY POP CX LOOP AGAIN POP DX POP CX POP BX POP AX MOV AL,20H OUT 20H,AL MOV AL,20H OUT 0A0H,AL IRET ZD10 ENDP DELAY PROC NEAR MOV BX,02FFH FOR1: MOV CX,0FFFFH FOR2: LOOP FOR2 DEC BX JNZ FOR1 RET DELAY ENDP CODE ENDS END START 21材料a

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1