12桂林电子科技大学-微机实验(guet)
1.输入一个字符串,统计它的字符数,用8255控;
1.输入一个字符串,统计它的字符数,用8255控制led闪烁字符数次.
2.输入小写字母,则LED灯从左到右依次点亮,输入非小写字母则灯全灭 3.输入一个数字,若输入的是一个数字3,则三个LED灯依次点亮。不是3就全灭
4.输入一个字符,若输入是一个字母,则8个LED灯依次点亮,若不是,灯全部熄灭 输入两个字符,假设为X,Y,若X-Y=4,则输出4赫兹的方波(用分频) 6.输入两个数字X,Y;
7.用8253输出方波
8.输入两个数字X,Y。若X>=Y则3个LED闪亮,否则不亮,若输入的是其它字母则也不亮。
12桂林电子科技大学-微机实验(guet)
2.1.输入一个字符串,统计它的字符数,用8255控; DB 30 DUP(?)
DATA ENDS CODE SE;ASSUME CS:CODE,DS:DATA; START: LEA DX,BUF MOV AH,0AH INT 21H; MOV CX,[BUF+1]; MOV AL,80H
MOV DX,28BH OUT DX;
MOV AL,00000001B;控制哪个灯闪自己; MOV AL,000000
1.输入一个字符串,统计它的字符数,用8255控制led闪烁字符
数次.
DATA SEGMENT BUF DB 30 DB ? DB 30 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: LEA DX,BUF MOV AH,0AH INT 21H MOV CX,[BUF+1] MOV AL,80H MOV DX,28BH OUT DX,AL X1:
MOV AL,00000001B ;控制哪个灯闪自己定义 MOV DX,288H OUT DX,AL CALL DELAY MOV AL,00000000B CALL DELAY LOOP X1
DELAY...(参见108p)
MOV AH,4CH INT 21H CODE ENDS END START
2.输入小写字母,则LED灯从左到右依次点亮,输入非小写字母则灯全灭 字符串
DATA SEGMENT NT 21H DB 30 DUP(?) DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA SATAR: LEA DX,BUF MOV AH,0AH INT 21H MOV AL,80H MOV DX,28BH OUT DX,AL MOV CX,[BUF+1] LOOP1: MOV SI,BUF+2 MOV AL,[SI] CMP AL,61H JB N1 CMP AL,7AH JA N1 JMP N2 INC SI LOOP LOOP1 N2:
MOV AL,00H MOV DX,288H OUT DX,AL JMP END
N1:MOV CX,8 ;(从左到右依次亮灭) MOV AL,80H MOV DX,288H OUT DX,AL SHR AL,1 CALL DELAY
DELAY...(参见108p)
单个字符
CODE SEGMENT ASSUME CS:CODE MOV AL,80H MOV DX,28BH OUT DX,AL MOV AH,01H INT 21H CMP AL,61H JB N1 COM AL,7AH JA N1 JMP N2 N2:
MOV AL,00H OUT 288H,BL JMP END N1:MOV CX,7 MOV AL,80H SHR AL,1 MOV DX,288H OUT DX,AL
CALL DELAY LOOP N1
DELAY...(参见108p) END: MOV AH,4CH INT 21H CODE ENDS END START
3.输入一个数字,若输入的是一个数字3,则三个LED灯依次点亮。不是3就全灭
CODE SEGMENT ASSUME CS:CODE MOV AL,80H MOV DX,28BH OUT DX,AL MOV AH,01H INT 21H CMP AL,33H JNZ N1
MOV CX,2 ;从左到右依次点亮 MOV AL,80H MOV BL,80H N3:MOV DX,288H OUT DX,AL SHR BL,1 ADD AL,BL CALL DELAY LOOP N3 JMP END N1: MOV BL,00H OUT 288H,BL END: MOV AH,4CH
INT 21H CODE ENDS END START
4.输入一个字符,若输入是一个字母,则8个LED灯依次点亮,若不是,灯全部熄灭
CODE SEGMENT ASSUME CS:CODE MOV AL,80H MOV DX,28BH OUT DX,AL MOV AH,01H INT 21H CMP AL,41H JB N1 COM AL,7AH JA N1 JMP N2 N2:
MOV BL,00H OUT 288H,BL JMP END
N1:MOV CX,7 ;从左到右依次点亮(聪明办法) MOV AL,80H MOV BL,80H N3:MOV DX,288H OUT DX,AL SHR BL,1 ADD AL,BL CALL DELAY LOOP N3
DELAY...(参见108p) END:
MOV AH,4CH INT 21H CODE ENDS END START
5.输入两个字符,假设为X,Y,若X-Y=4,则输出4赫兹的方波(用
分频) CODE SEGMENT
ASSUME CS:CODE MOV AH,01H INT 21H MOV BL,AL MOV AH,01H INT 21H SUB BL,AL CMP BL,4 JZ N1 JMP END
N1;;用8253输出方波; END: MOV AH,4CH; INT 21H; CODE ENDS; END START;
6.输入两个数字X,Y;
DATA SEGMENT; DATA ENDS; CODE SEGMENT;
ASSUME CS:CODE,DS:DATA,ES; START:
MOV BL,AL MOV AH,01H INT 21H SUB BL,AL CMP BL,4 JZ N1 JMP END END:N1;
7.用8253输出方波
MOV AH,4CH INT 21H CODE ENDS END START
8.输入两个数字X,Y。若X>=Y则3个LED闪亮,否则不亮,若输入的是其它字母则也不亮。
DATA SEGMENT DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV DX,28BH MOV AL,80H OUT DX,AL MOV CX,100 MOV AH,01H INT 21H CMP AL,31H JB P2 CMP AL,39H JA P2 MOV BL,AL MOV AH,01H INT 21H CMP AL,31H JB P2
CMP AL,39H JA P2 CMP BL,AL JAE P1 JMP P2
P1: MOV DX,288H MOV AL,07H OUT DX,AL CALL DELAY MOV AL.00H MOV DX,288H OUT DX,AL CALL DELAY LOOP P1
P2: MOV AH,4CH INT 21H DELAY PROC NEAR PUSH CX PUSH DI MOV CX,400H Y1:MOV DI,1000H X1:DEC DI JNZ X1 LOOP Y1
POP DI POP CX RET DELAY ENDP CODE ENDS END START