¶þ¡¢³ÌÐòÁ÷³Ìͼ
33
Èý¡¢ÊµÑéÔ´³ÌÐò data segment
ioport equ 0c400h-0280h io8255a equ ioport+288h io8255b equ ioport+28bh
led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
mesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$' data ends code segment
assume cs:code,ds:data start: mov ax,data mov ds,ax
mov dx,io8255b ;ʹ8255µÄA¿ÚΪÊä³ö·½Ê½ mov ax,80h out dx,al
sss: mov dx,offset mesg1 ;ÏÔʾÌáʾÐÅÏ¢ mov ah,09h int 21h mov ah,01 ;´Ó¼üÅ̽ÓÊÕ×Ö·û int 21h
cmp al,'0' ;ÊÇ·ñСÓÚ0 jl exit ;ÈôÊÇÔòÍ˳ö cmp al,'9' ;ÊÇ·ñ´óÓÚ9 jg exit ;ÈôÊÇÔòÍ˳ö
sub al,30h ;½«ËùµÃ×Ö·ûµÄASCIIÂë¼õ30H mov bx,offset led ;bxΪÊýÂë±íµÄÆðʼµØÖ· xlat ;Çó³öÏàÓ¦µÄ¶ÎÂë
mov dx,io8255a ;´Ó8255µÄA¿ÚÊä³ö out dx,al
jmp sss ;תSSS
exit: mov ah,4ch ;·µ»ØDOS int 21h code ends
end start ËÄ¡¢×ܽá
ͨ¹ý×ÔÖ÷Éè¼ÆÊµÑ飬ÌáÉýÁËÔËÓÃÒѾѧ¹ýµÄÀíÂÛ֪ʶÓëʵ¼ùµÄÁªÏµµÄÄÜÁ¦£¬¸´Ï°¹®¹ÌÁËоƬµÄʹÓ÷½·¨¡£
34
°Ë¡¢²Î¿¼ÎÄÏ×
1£®´÷ʤ»ª,ÕÅ·²,Ê¢«‘»ª. ΢»úÔÀíÓë½Ó¿Ú¼¼Êõ[M]. ±±¾©£º±±¾©½»Í¨´óѧ³ö°æÉç, 2008.
2. Barry B.Brey. intelϵÁÐ΢´¦ÀíÆ÷½á¹¹¡¢±à³ÌºÍ½Ó¿Ú¼¼Êõ´óÈ«[M]. ±±¾©£º»úе¹¤³Ì³ö°æÉç,1998.
35

