RosettaCodeData/Task/Binary-digits/Z80-Assembly/binary-digits-2.z80

47 lines
543 B
Z80 Assembly

; HL contains the value to be converted
ld hl,5
call binary
ld hl,50
call binary
ld hl,9000
call binary
halt
; Convert to binary
; The OUT(0x0A),A command does the output to an device
binary: push hl
push bc
ld c,0x00
call gobin
ld h,l
call gobin
pop bc
pop hl
ret
gobin: ld b,0x08
bitloop: ld a,h
bit 7,h
jr nz,one
zero: ld a,c
or a
jr z,end1
ld a,"0"
out (0x0a),a
jr end1
one: ld a,"1"
ld c,0x01
out (0x0a),a
end1: ld a,h
rlca
ld h,a
djnz bitloop
ret