Hardwarenahe_Programmierung/src/a2.asm

57 lines
957 B
NASM

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
res db 0x0
jmp WDH
WDH: in ax, INPUT
mov res, ax
and ax, 00001111b;get second nibble
out LED, ax;debug, output to leds
push ax;write result to stack
mov ax, res
mov cl, 0x4
sar ax, cl;shift right 4 times
;and ax, 00001111b;
out LED, ax;debug, output to leds
push ax;write result to stack
pop ax;get from stack
pop bx;get from stack
sub ax, bx
out LED, ax;output to led
out SEGM, al;output to seven segment display
jmp WDH