DATA SEGMENT
x db -78,127,-128,-125,88 y db 32,-43,76,95,1 S db 5 dup(?) data ends
Code segment
Assume cs:code,ds:data Start:mov ax,data Mov ds,ax Mov cx,5 Mov bx,0
L1:mov al,x[bx] Add al,y[bx] Inc bx Loop L1
MOV AH,4CH INT 21H CODE ENDS END START 3.
DATA SEGMENT
Y DB 68H,24H,90H,57H,13H HX DB 67H,34H,12H,90H,57H S DB 5 DUP(?) DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,5
MOV SI,OFFSET X MOV DI,OFFSET Y LP:MOV AL,[SI] MOV AH,[DI] ADC AL,AH DAA
MOV S[SI],AL INC SI INC DI LOOP LP
MOV AH,4CH INT 21H
CODE ENDS END START 4.
DATA SEGMENT
LIST DB 0,1,2,3,4,5,6,7,8,9 COUNT EQU $-LIST DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX
MOV CX,COUNT-1 LOOP1:MOV DX,CX MOV BX,0
LOOP2:MOV AX,LIST[BX] CMP AX,LIST[BX+1] MOV LIST[BX],AX LOOP3:INC BX LOOP LOOP2 MOV CX,DX LOOP LOOP1 MOV AX,4CH INT 21H CODE ENDS END START
实验三:子程序调用程序设计 DATA SEGMENT
NUM DB 85,77,126,-1,-43,37,-128,11,-19,13 DATA ENDS
ADDITION SEGMENT NUM1 DB 10 DUP(?) ADDITION ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:ADDITION START:AX,DATA MOV DS,AX
MOV AX,ADDITION MOV ES,AX CALL ORDER CALL COPY MOV AH,4CH INT 21H
ORDER PROC MOV CX,9
LP2:MOV BX,0 MOV DX,CX
LP1:MOV AL,NUM[BX] CMP AL,NUM[BX+1] JLE NEXT
XCHG AL,NUM[BX+1] MOV NUM[BX],AL NEXT:ADD BX,1 DEC DX JNZ LP1 LOOP LP2 RET
ORDER ENDP COPY PROC MOV CX,10 MOV BX,0
LP:MOV AL,NUM[BX] MOV ES:NUM1[BX],AL INC BX LOOP LP RET
COPY ENDP CODE ENDS END START
实验四:DOS功能系统调用 1.
DATA SEGMENT DUF DB 10 DUP(?) DATA ENDS
STACK SEGMENT SA DB 100 DUP(?) TOP LABEL WORD STACK ENDS CODE SEGMENT
ASSUME DS:DATA,CS:CODE,SS:STACK START:MOV AX,STACK MOV SS,AX
MOV SP,OFFSET TOP PUSH DS SUB AX,AX PUSH AX
MOV AX,DATA MOV DS,AX MOV CX,05H
MOV AL,0 S1:MOV AH,1 INT 21H PUSH AX LOOP S1
MOV DL,0DH MOV AH,02H INT 21H
MOV DL,0AH MOV AH,02H INT 21H
MOV CX,05H MOV BX,4 S2:POP AX
MOV DUF[BX],AL DEC BX LOOP S2 MOV BX,0 MOV CX,05H
S3:MOV DL,DUF[BX] INC BX MOV AH,2 INT 21H LOOP3 INC AL
MOV AH,4CH INT 21H CODE ENDS END START 2.
DATA SEGMENT BUFF DB 50 DB ‘?’
LETTER DB 50 DUP(‘?’) DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA DX,BUFF MOV AH,0AH INT 21H
MOV DL,0DH MOV AH,02H
INT 21H
MOV DL,OAH MOV AH,02H INT 21H
LEA DX,LETTER MOV AH,09H INT 21H
MOV AH,4CH INT 21H CODE ENDS END START
第五次实验:接口预备知识 DATA SEGMENT
OUTBUF DB’5’,’4’,’3’,’2’,’1’ COUNT EQU $-COUNT DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX
MOV SI,OFFSET OUTBUF MOV DI,COUNT NEXT:MOV DL,[SI] MOV AH,02H INT 21H
CALL DELAY INC SI DEC DI JNZ NEXT MOV AH,4CH INT 21H
DELAY PROC NEAR PUSH CX
MOV BX,299H
FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CX RET
DELAY ENDP CODE ENDS END START
第六次实验:简单的输出接口
1.
CODE SEGMENT ASSUME CS:CODE start:mov di ,2 l1:mov al ,02h mov dx,280h out dx,al call delay mov al ,00h mov dx,280h out dx,al call delay mov si,3
l2:mov al,04h mov dx,280h out dx,al call delay mov al,00h mov dx,280h out dx,al call delay dec si jnz l2
mov al,08h mov dx,280h out dx,al call delay mov al ,00h mov dx,280h out dx,al call delay dec di jnz l1
MOV AH,4CH INT 21H
DELAY PROC NEAR PUSH CX
MOV BX,100H
FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CX RET
DELAY ENDP CODE ENDS END START 2.
CODE SEGMENT ASSUME CS:CODE START:MOV CX,2 AA:MOV BX,8 PUSH CX
MOV DX,280H MOV AL,01H BB:OUT DX,AL CALL DELAY MOV DX,280H ROl AL,1 OUT DX,AL DEC BX JNZ BB POP CX
MOV DX,280H mov AL,00h OUT DX,AL LOOP AA MOV AH,4CH INT 21H
DELAY PROC NEAR PUSH BX PUSH CX
MOV BX,299H
FOR:MOV CX,0FFFFH FOR1:LOOP FOR1 DEC BX JNZ FOR POP CX POP BX RET
DELAY ENDP CODE ENDS END START
第七次实验:简单的输入接口 1.
data segment x db 'end$' data ends
code segment
assume cs:code,ds:data start:mov ax,data mov ds,ax mov cx,6 mov dl,31h lp: push dx
mov dx,280h in al,dx and al,10h mov bl,al lp1: 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 ends end start
2.
data segment x db 'end$' data ends code segment
assume cs:code,ds:data start:mov ax,data mov ds,ax mov cx,6
mov dl,31h lp: push dx
mov dx,280h in al,dx push cx mov cx,2 lp1: and al,10h mov bl,al lp2: 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 ends end start
第八次实验:数码管动态显示实验 1.
CODE SEGMENT ASSUME CS:CODE START:
MOV CX,03FFH L1: MOV DX,280H MOV AL,00H OUT DX,AL MOV DX,290H
MOV AL,76H ;H OUT DX,AL MOV DX,282H MOV AL,02H OUT DX,AL CALL DONG MOV DX,282H MOV AL,00H OUT DX,AL MOV DX,290H MOV AL,73H;P OUT DX,AL MOV DX,280H MOV AL,01H OUT DX,AL CALL DONG LOOP L1 MOV DX,280H MOV AL,00H OUT DX,AL MOV AH,4CH INT 21H
DONG PROC NEAR PUSH CX PUSH BX MOV BX,0100H FOR1: MOV CX,0100H FOR2: LOOP FOR2 DEC BX JNZ FOR1 POP BX POP CX RET DONG ENDP CODE ENDS END START 2.
CODE SEGMENT ASSUME CS:CODE START:
MOV CX,01FFH L1: MOV DX,280H MOV AL,00H OUT DX,AL
MOV DX,290H MOV AL,3FH ;0 OUT DX,AL MOV DX,282H MOV AL,02H OUT DX,AL CALL DONG MOV DX,282H MOV AL,00H OUT DX,AL MOV DX,290H MOV AL,06H;1 OUT DX,AL MOV DX,280H MOV AL,01H OUT DX,AL CALL DONG LOOP L1 MOV CX,01FFH L2: MOV DX,280H MOV AL,00H OUT DX,AL MOV DX,290H MOV AL,5BH ;2 OUT DX,AL MOV DX,282H MOV AL,02H OUT DX,AL CALL DONG MOV DX,282H MOV AL,00H OUT DX,AL MOV DX,290H MOV AL,4FH;3 OUT DX,AL MOV DX,280H MOV AL,01H OUT DX,AL CALL DONG LOOP L2 MOV CX,010FH L3: MOV DX,280H MOV AL,00H OUT DX,AL
MOV DX,290H MOV AL,66H ;4 OUT DX,AL MOV DX,282H MOV AL,02H OUT DX,AL CALL DONG MOV DX,282H MOV AL,00H OUT DX,AL MOV DX,290H MOV AL,6DH;5 OUT DX,AL MOV DX,280H MOV AL,01H OUT DX,AL CALL DONG LOOP L3 MOV CX,010FH L4: MOV DX,280H MOV AL,00H OUT DX,AL MOV DX,290H MOV AL,7DH ;6 OUT DX,AL MOV DX,282H MOV AL,02H OUT DX,AL CALL DONG MOV DX,282H MOV AL,00H OUT DX,AL MOV DX,290H MOV AL,07H;7 OUT DX,AL MOV DX,280H MOV AL,01H OUT DX,AL CALL DONG LOOP L4 MOV CX,010FH L5: MOV DX,280H MOV AL,00H
OUT DX,AL MOV DX,290H MOV AL,7FH ;8 OUT DX,AL MOV DX,282H MOV AL,02H OUT DX,AL CALL DONG MOV DX,282H MOV AL,00H OUT DX,AL MOV DX,290H MOV AL,6FH;9 OUT DX,AL MOV DX,280H MOV AL,01H OUT DX,AL CALL DONG LOOP L5 MOV DX,280H MOV AL,00H OUT DX,AL MOV AH,4CH INT 21H
DONG PROC NEAR PUSH CX PUSH BX MOV BX,0100H FOR1: MOV CX,0100H FOR2: LOOP FOR2 DEC BX JNZ FOR1 POP BX POP CX RET DONG ENDP CODE ENDS END START
第九次实验:可编程并行接口8255实验 1.
code segment assume cs:code start:mov dx,283h mov al,90h
out dx,al mov dx,280h in al,dx and al,01h cmp al,01H mov cx,3 mov dx,281h jnz l2
l1:mov al,01h out dx,al call delay mov al,02h out dx,al call delay mov al,04h out dx,al call delay mov al,08h out dx,al call delay loop l1 mov al,00h out dx,al jmp l3
l2:mov al,0f0h out dx,al call delay mov al,000h out dx,al call delay loop l2 mov al,00h out dx,al
l3:mov ah,4ch int 21h
delay proc near PUSH CX PUSH BX
MOV BX,0200H FOR3:MOV CX,0FFFFH FOR4:LOOP FOR4 DEC BX JNZ FOR3 POP BX
POP CX RET
delay endp coed ends end start 2.
CODE SEGMENT ASSUME CS:CODE
START:MOV AL,10110100B MOV DX,283H OUT DX,AL
L1: 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,AL
L2: 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 21H
DELAY PROC NEAR PUSH CX
MOV BX,0f00H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CX
RET
DELAY ENDP CODE ENDS END START
实验十:可编程计数器/定时器8253实验 1.
CODE SEGMENT ASSUME CS:CODE START:
mov dx,283h mov al,10h out dx,al mov dx,280h mov al,04h out dx,al call delay mov dx,280h in al,dx mov dl,al add dl,30h mov ah,2 int 21h ;jmp start mov ah,4ch int 21h
delay proc near push cx
mov bx,1000h for1:mov cx,0ffffh for2:loop for2 dec bx jnz for1 pop cx ret
delay ends end start code ends 2.
CODE SEGMENT ASSUME CS:CODE START:
mov dx,283h mov al,52h out dx,al mov dx,281h mov al,05h out dx,al mov ah,4ch int 21h end start code ends 实验十一:
DATA SEGMENT
ABC DB 'ARE YOU READY?',0DH,0AH,'$' CCC DB 'IRQ10 INTERRUPT NOW !',0DH,0AH,'$' DATA ENDS
CODE SEGMENT ASSUME CS:CODE, DS:DATA START:
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 ENDS
CODE SEGMENT ASSUME CS:CODE, DS:DATA
START: 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
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- esig.cn 版权所有 湘ICP备2023023988号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务