58TP326 V4.indd

ÖćøĔÿŠ ×š ĂöĎ úđך ćĒïï×îćîĔĀš ĒÖŠ ĒñÜüÜÝøĕöēÙøÙĂîēìøúđúĂøŤ đóČę ĂÖćøđøĊ ÷îøĎš ĜĢě üćøÿćøøćßïĆ èæĉ ê÷ÿëćî ðŘ ìĊę ǰĤĪǰÞïĆ ïìĊę ǰĥǰê Ù í Ù ǰģĦĦĨ waitlop: in al,ppi_port1_a cmp al,dl je waitlop jmp cirloop main endp ;********************************* outport2 proc out ppi_port2_b,al call delay2 call delay2 call delay2 call delay2 ret outport2 endp ;********************************* delay1 proc push cx mov cx,4000h delay5: loop delay5 pop cx ret delay1 endp ;********************************* delay2 proc push cx mov cx,0F000h delay6: loop delay6 pop cx ret delay2 endp ;********************************* data: ; codes for keys in (row,col) = ;(0,0),(0,1),(0,2),(0,3) ;(1,0),(1,1),(1,2),(1,3) ;(2,0),(2,1),(2,2),(2,3) ;(3,0),(3,1),(3,2),(3,3) keycode db 0, 1, 2, 3 db 4, 5, 6, 7 db 8, 9,10,11 db 12,13,14,15 org 0FFF0h db 0EAh, 0,80h, 0,0 end main ;wait for change in keypress ;read input ;Same old row? ;Yes, then wait. ;start a new scan cycle ;display keycode in al using 4 LEDs ;and slow down ;shorter time delay ;delay value ;count down CX ;longer time delay (~0.5 sec) ;delay value ;count down CX ;address of 1st instruction on boot ;far jump to start at 0000:8000h øĎ ðìĊę ǰĩǰàĂôêŤ ĒüøŤ ìĊę Ĕßš ÖøćéêøüÝÖćøÖéÿüĉ êàŤ ĒñÜĒðŜ îÖé×îćéǰĥYĥ 58TP326 V4.indd 170 8/7/2558 BE 3:44 PM

RkJQdWJsaXNoZXIy NTk0NjM=