微机原理程序特选材料

上传人:仙*** 文档编号:35573677 上传时间:2021-10-27 格式:DOC 页数:21 大小:73KB
返回 下载 相关 举报
微机原理程序特选材料_第1页
第1页 / 共21页
微机原理程序特选材料_第2页
第2页 / 共21页
微机原理程序特选材料_第3页
第3页 / 共21页
点击查看更多>>
资源描述
实验二:循环程序设计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,57HS 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 SEGMENTASSUME 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 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 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 TOPPUSH 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.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,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 ENDPCODE 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 delaymov 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,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:datastart: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 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 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 DX,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 ENDPCODE 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,280HMOV 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,02HOUT 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 DX,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 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 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 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,281H ;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 实验十:可编程计数器/定时器8253实验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 startcode 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 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: 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 AH,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 BX 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: 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 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
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!