org 100h cpu 8086 ;0=00111111=3F ;1=00000110=6 ;2=01011011=5B ;3=01001111=4F ;4=01100110=66 ;5=01101101=6D ;6=01111101=7D ;7=00000111=7 ;8=01111111=7F ;9=01101111=6F ;A=01110111=77 ;B=11111111=FF ;C=00111001=39 ;D=10111111=BF ;E=01111001=79 ;F=01110001=71 INPUT equ 0h LED equ 0h SEGM equ 90h ; 0 1 2 3 4 5 6 7 8 9 A B C D E F segtext db 0x3F, 0x6, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x7, 0x7F, 0x6F, 0x77, 0xFF, 0x39, 0xBF, 0x79, 0x71 jmp WDH WDH: in ax, INPUT mov bx, ax and ax, 00001111b;get second nibble ;out LED, ax;debug, output to leds push ax;write result to stack mov ax, bx mov cl, 0x4 shr ax, cl;shift right 4 times ;out LED, ax;debug, output to leds pop bx;get from stack sub ax, bx out LED, ax;output to led ;right seven segment display push ax mov bx, segtext and ax, 0000000000001111b add bx, ax mov al, [bx] out SEGM, al;output to seven segment display ;left seven segment display pop ax;get from stack mov cl, 0x4 shr ax, cl mov bx, segtext add bx, ax mov al, [bx] out SEGM + 0x2, al jmp WDH