【正文】
JMP READ END: mov ax, 4c00h int 21h CODE ENDS end start 。是否為 Esc JZ END key1: MOV AL, TABLE[1] OUT DX, AL JMP NEXT key2: MOV AL, TABLE[2] OUT DX, AL JMP NEXT key3: MOV AL, TABLE[3] OUT DX, AL JMP NEXT key4: MOV AL, TABLE[4] OUT DX, AL JMP NEXT key5: MOV AL, TABLE[5] OUT DX, AL JMP NEXT key6: MOV AL, TABLE[6] OUT DX, AL JMP NEXT key7: MOV AL, TABLE[7] OUT DX, AL JMP NEXT key8: MOV AL, TABLE[8] OUT DX, AL JMP NEXT 。 CMP AL, 32 。無人搶答 MOV AL, TABLE[0] OUT DX, AL NEXT: 。倒計(jì)時(shí)過程 到了 0 開始搶答 MOV SI, 5 TIME: 。寫 A 端口 IN AL, DX MOV DX, 1402H ??刂谱? data ends code segment assume cs:code,ds:data start: MOV DX, 1406H 。8255 的 C 口地址 my8255_mode equ 1403h 。8255 的 A 口地址 my8255_b equ 1401h 。 OUT DX, AL 。寫 B 端口 MOV BL, AL 。寫控制口 MOV AL, 90H OUT DX, AL READ: MOV DX, 1400H 。8255 的控制寄存器地址 mode_a db 10001001b 。8255 的 B 口地址 my8255_c equ 1402h 。 JMP READ mov ax, 4c00h int 21h CODE ENDS end start 三、數(shù)碼管應(yīng)用 data segment my8255_a equ 1400h 。 al 1) MOV CX, 5 MOV AL, 01H R_TO_LCNT: PUSH CX R_TO_L: MOV CX, 8 OUT DX, AL SHR AL, 1 LOOP R_TO_L POP CX LOOP R_TO_LCNT JMP READ key3: MOV CX, 5 M_TO_OCN