============
Programm 1
CPU 8085
ORG 00h
LXI SP, 6400h
LXI H, 0204h
CALL ZAEHL
ZAEHL: PUSH H
PUSH PSW
Me1: DCR L ;erst LowByte dekrementieren
JNZ Me1
DCR H ;LowByte gleich null dann HighByte dekrementieren
JZ LastRun ;wenn HighByte 0 dann noch ein durchlauf mit L dekrementieren
MVI L, 0FFh ;HigByte um 1 reduziert dann LowByte voll setzen
JMP Me1 ;LowByte wieder dekrementieren
LastRun:MVI L, 0FFh ;wenn HighByte gleich 0 noch ein letztes mal LowByte dekrementieren
Me2: DCR L ;LowByte ein letztes mal dekrementieren
JNZ Me2
POP PSW
POP H
RET
==================================================
Programm 2
CPU 8085
ORG 00h
LXI SP, 6400h
LXI H, 0204h
CALL ZAEHL
ZAEHL: PUSH H
PUSH PSW
Me1: DCX H ;Zweibyte dekrement
CMP H ;Vergleiche HighByte mit Null
JNZ Me1 ;Nicht Null dekrementiere weiter
CMP L ;Vergleiche LowByte mit Null
JNZ Me1 ;Nicht Null kerementiere weiter
POP PSW
POP H
RET