Joj tak jsem splodil neco velice neprofesionalniho ale vesmes efektivniho pro zajimaovst zde
x0 equ 4
x1 equ 5
x2 equ 6
x3 equ 7
x4 equ 8
start:
call porovnej0s1
porovnej0s1:
push Acc
MOV a,#x0
CLR c
subb a,#x1 ;porovnani #x0#x1
jnc porovnej0s2
call porovnej1s2
pop acc
porovnej0s2:
push acc
MOV a,#x0
CLR c ; vymazani carrybitu
subb a,#x2 ;porovnani #x0#x2
jnc porovnej0s3
call porovnej2s3
pop acc
porovnej0s3:
push acc
MOV a,#x0
CLR c
subb a,#x3 ;porovnani #x0#x3
jnc porovnej0s4
call porovnej3s4
pop acc
porovnej0s4:
push acc
MOV a,#x0
CLR c
subb a,#x4 ;porovnani #x0#x1
jnc zapisX0jakomax
call zapisX4jakomax
pop acc
porovnej1s2:
push acc
MOV a,#x1
CLR c
subb a,#x2
jnc porovnej1s3 ; IF 2 > 1 GO 2s3
call porovnej2s3 ;if 1>2 go 1s3
pop acc
porovnej1s3:
push acc
MOV a,#x1
CLR c
subb a,#x3
jnc porovnej1s4 ;If 3>1 go 3s4
call porovnej3s4 ;If 1>3 go 1s4
pop acc
porovnej1s4:
push acc
MOV a,#x1
CLR c
subb a,#x4
jnc zapisX1jakomax ;If 4>1 GO ZAPISS4jakomax
call zapisX4jakomax ;If 1>4 zapisX1jakomax
pop acc
porovnej2s3:
push acc
MOV a,#x2
CLR c
subb a,#x3
jnc porovnej2s4 ;If 3>2 go 3s4
call porovnej3s4 ; if 2>3 go 2s4
pop acc
porovnej2s4:
push acc
MOV a,#x2
CLR c
subb a,#x4
jnc zapisX2jakomax ; If 4>2 GO ZAPISS4jakomax
call zapisX4jakomax ;If 2>4 zapisX1jakomax
pop acc
porovnej3s4:
push acc
MOV a,#x3
CLR c
subb a,#x4
jnc zapisX3jakomax ; If 4>3 GO ZAPISS4jakomax
call zapisX4jakomax ;If 3>4 zapisX3jakomax
pop acc
zapisx0jakomax:
MOV DPL,#x0
jmp konec
zapisx1jakomax:
MOV DPL,#x1
jmp konec
zapisx2jakomax:
MOV DPL,#x2
jmp konec
zapisx3jakomax:
MOV DPL,#x3
jmp konec
zapisx4jakomax:
MOV DPL,#x4
jmp konec
konec: jmp konec ;
end
ted uz jen poresit ty znamenka ty mne na tom vsem opravdu “stvou”
mj moje mzateny komenty jsem se snazil vymazat nektery tam zustaly… ale pro vas stejne jsou bezpredmetny ;p