8085 assembly language HELP!

Everything works except the START subroutine. It won't output the correct characters. Anyone know anything about the "cnc", "cc" commands? Am I using them incorrectly, let me know ASAP. THANKS!!

;ORG 0000h

INIT:
lxi sp, 0a50h

mvi a,3h ;8bit mode
sta 3000
call enable

mvi a,3h ;8bit mode
sta 3000
call enable

mvi a,3h ;8bit mode
sta 3000
call enable

mvi a,2h ;set 4bit mode
sta 3000
call enable

mvi a,2h ;1/16 duty, 5x8 font
sta 3000
call enable
mvi a,8h
sta 3000
call enable

mvi a,0h ;display off,
sta 3000
call enable
mvi a,8h
sta 3000
call enable

mvi a,0h ;cursor, blink on
sta 3000
call enable
mvi a,fh
sta 3000
call enable

mvi a,0h ;set entry mode, cursor move right
sta 3000
call enable
mvi a,6h
sta 3000
call enable

START:
mvi a,0h
sta 3000
call enable
mvi a,1h
sta 3000
call enable

LDA 2000 ;READ INPUT PORT

CPI 80h ;X < 80
cnc lcd_plus

cpi 80h ;X < 80
cc lcd_minus

CPI 9h ;X < 9
cc lcd_3

CPI F7h ;X < F7
cnc lcd_3

CPI 31h ;X < 31
cc lcd_2

CPI cfh ;X < cf
cnc lcd_2

CPI 59h ;X < 59
cc lcd_1

CPI A7h ;X < A7
cnc lcd_1

CPI 1h ;X < 1
cc lcd_2

CPI 5h ;X < 5
cc lcd_1

CPI 9h ;X < 9
cc lcd_0

CPI Dh ;X < D
cc lcd_9

CPI 11h ;X < 11
cc lcd_8

CPI 15h ;X < 15
cc lcd_7

CPI 19h ;X < 19
cc lcd_6

CPI 1Dh ;X < 1D
cc lcd_5

CPI 21h ;X < 21
cc lcd_4

CPI 25h ;X < 25
cc lcd_3

CPI 29h ;X < 29
cc lcd_2

CPI 2Dh ;X < 2D
cc lcd_1

CPI 31h ;X < 31
cc lcd_0

CPI 35h ;X < 35
cc lcd_9

CPI 39h ;X < 39
cc lcd_8

CPI 3Dh ;X < 3D
cc lcd_7

CPI 41h ;X < 41
cc lcd_6

CPI 45h ;X < 45
cc lcd_5

CPI 49h ;X < 49
cc lcd_4

CPI 4Dh ;X < 4D
cc lcd_3

CPI 51h ;X < 51
cc lcd_2

CPI 55h ;X < 55
cc lcd_1

CPI 59h ;X < 59
cc lcd_0

CPI 5Dh ;X < 5D
cc lcd_9

CPI 61h ;X < 61
cc lcd_8

CPI 65h ;X < 65
cc lcd_7

CPI 69h ;X < 69
cc lcd_6

CPI 6Dh ;X < 6D
cc lcd_5

CPI 71h ;X < 71
cc lcd_4

CPI 75h ;X < 75
cc lcd_3

CPI 79h ;X < 79
cc lcd_2

CPI 7Dh ;X < 7D
cc lcd_1

CPI 84h ;X < 84
cc lcd_0

CPI 88h ;X < 88
cc lcd_1

CPI 8Ch ;X < 8C
cc lcd_2

CPI 90h ;X < 90
cc lcd_3

CPI 94h ;X < 94
cc lcd_4

CPI 98h ;X < 98
cc lcd_5

CPI 9Ch ;X < 9C
cc lcd_6

CPI A0h ;X < A0
cc lcd_7

CPI A4h ;X < A4
cc lcd_8

CPI A8h ;X < A8
cc lcd_9

CPI ACh ;X < AC
cc lcd_0

CPI B0h ;X < B0
cc lcd_1

CPI B4h ;X < B4
cc lcd_2

CPI B8h ;X < B8
cc lcd_3

CPI BCh ;X < BC
cc lcd_4

CPI C0h ;X < C0
cc lcd_5

CPI C4h ;X < C4
cc lcd_6

CPI C8h ;X < C8
cc lcd_7

CPI CCh ;X < CC
cc lcd_8

CPI D0h ;X < D0
cc lcd_9

CPI D4h ;X < D4
cc lcd_0

CPI D8h ;X < D8
cc lcd_1

CPI DCh ;X < DC
cc lcd_2

CPI E0h ;X < E0
cc lcd_3

CPI E4h ;X < E4
cc lcd_4

CPI E8h ;X < E8
cc lcd_5

CPI ECh ;X < EC
cc lcd_6

CPI F0h ;X < F0
cc lcd_7

CPI F4h ;X < F4
cc lcd_8

CPI F8h ;X < F8
cc lcd_9

CPI FCh ;X < FC
cc lcd_0

CPI FFh ;X < FF
cc lcd_1

cpi ffh
cz lcd_2

jmp START

HLT

lcd_plus:
push psw
mvi a,12h
sta 3000
call enable
mvi a,1bh
sta 3000
call enable
pop psw
ret

lcd_minus:
push psw
mvi a,12h
sta 3000
call enable
mvi a,1dh
sta 3000
call enable
pop psw
ret

lcd_0:
push psw
mvi a,13h
sta 3000
call enable
mvi a,10h
sta 3000
call enable
pop psw
ret

lcd_1:
push psw
mvi a,13h
sta 3000
call enable
mvi a,11h
sta 3000
call enable
pop psw
ret

lcd_2:
push psw
mvi a,13h
sta 3000
call enable
mvi a,12h
sta 3000
call enable
pop psw
ret

lcd_3:
push psw
mvi a,13h
sta 3000
call enable
mvi a,13h
sta 3000
call enable
pop psw
ret

lcd_4:
push psw
mvi a,13h
sta 3000
call enable
mvi a,14h
sta 3000
call enable
pop psw
ret

lcd_5:
push psw
mvi a,13h
sta 3000
call enable
mvi a,15h
sta 3000
call enable
pop psw
ret

lcd_6:
push psw
mvi a,13h
sta 3000
call enable
mvi a,16h
sta 3000
call enable
pop psw
ret

lcd_7:
push psw
mvi a,13h
sta 3000
call enable
mvi a,17h
sta 3000
call enable
pop psw
ret

lcd_8:
push psw
mvi a,13h
sta 3000
call enable
mvi a,18h
sta 3000
call enable
pop psw
ret

lcd_9:
push psw
mvi a,13h
sta 3000
call enable
mvi a,19h
sta 3000
call enable
pop psw
ret


enable:
push psw
push d
mvi d,20h
add d ;enable goes high
sta 3000
call delay
mvi d,20h ;enable goes low
sub d
sta 3000
pop d
pop psw
ret

delay:
push psw
push b
mvi b,03h
mvi c,c0h
dcr c
jnz 2e5h
dcr b
jnz 2e3h
pop b
pop psw
ret


Comments

  • : Everything works except the START subroutine. It won't output the correct characters. Anyone know anything about the "cnc", "cc" commands? Am I using them incorrectly, let me know ASAP. THANKS!!
    :
    : ;ORG 0000h
    :
    : INIT:
    : lxi sp, 0a50h
    :
    : mvi a,3h ;8bit mode
    : sta 3000
    : call enable
    :
    : mvi a,3h ;8bit mode
    : sta 3000
    : call enable
    :
    : mvi a,3h ;8bit mode
    : sta 3000
    : call enable
    :
    : mvi a,2h ;set 4bit mode
    : sta 3000
    : call enable
    :
    : mvi a,2h ;1/16 duty, 5x8 font
    : sta 3000
    : call enable
    : mvi a,8h
    : sta 3000
    : call enable
    :
    : mvi a,0h ;display off,
    : sta 3000
    : call enable
    : mvi a,8h
    : sta 3000
    : call enable
    :
    : mvi a,0h ;cursor, blink on
    : sta 3000
    : call enable
    : mvi a,fh
    : sta 3000
    : call enable
    :
    : mvi a,0h ;set entry mode, cursor move right
    : sta 3000
    : call enable
    : mvi a,6h
    : sta 3000
    : call enable
    :
    : START:
    : mvi a,0h
    : sta 3000
    : call enable
    : mvi a,1h
    : sta 3000
    : call enable
    :
    : LDA 2000 ;READ INPUT PORT
    :
    : CPI 80h ;X < 80
    : cnc lcd_plus
    :
    : cpi 80h ;X < 80
    : cc lcd_minus
    :
    : CPI 9h ;X < 9
    : cc lcd_3
    :
    : CPI F7h ;X < F7
    : cnc lcd_3
    :
    : CPI 31h ;X < 31
    : cc lcd_2
    :
    : CPI cfh ;X < cf
    : cnc lcd_2
    :
    : CPI 59h ;X < 59
    : cc lcd_1
    :
    : CPI A7h ;X < A7
    : cnc lcd_1
    :
    : CPI 1h ;X < 1
    : cc lcd_2
    :
    : CPI 5h ;X < 5
    : cc lcd_1
    :
    : CPI 9h ;X < 9
    : cc lcd_0
    :
    : CPI Dh ;X < D
    : cc lcd_9
    :
    : CPI 11h ;X < 11
    : cc lcd_8
    :
    : CPI 15h ;X < 15
    : cc lcd_7
    :
    : CPI 19h ;X < 19
    : cc lcd_6
    :
    : CPI 1Dh ;X < 1D
    : cc lcd_5
    :
    : CPI 21h ;X < 21
    : cc lcd_4
    :
    : CPI 25h ;X < 25
    : cc lcd_3
    :
    : CPI 29h ;X < 29
    : cc lcd_2
    :
    : CPI 2Dh ;X < 2D
    : cc lcd_1
    :
    : CPI 31h ;X < 31
    : cc lcd_0
    :
    : CPI 35h ;X < 35
    : cc lcd_9
    :
    : CPI 39h ;X < 39
    : cc lcd_8
    :
    : CPI 3Dh ;X < 3D
    : cc lcd_7
    :
    : CPI 41h ;X < 41
    : cc lcd_6
    :
    : CPI 45h ;X < 45
    : cc lcd_5
    :
    : CPI 49h ;X < 49
    : cc lcd_4
    :
    : CPI 4Dh ;X < 4D
    : cc lcd_3
    :
    : CPI 51h ;X < 51
    : cc lcd_2
    :
    : CPI 55h ;X < 55
    : cc lcd_1
    :
    : CPI 59h ;X < 59
    : cc lcd_0
    :
    : CPI 5Dh ;X < 5D
    : cc lcd_9
    :
    : CPI 61h ;X < 61
    : cc lcd_8
    :
    : CPI 65h ;X < 65
    : cc lcd_7
    :
    : CPI 69h ;X < 69
    : cc lcd_6
    :
    : CPI 6Dh ;X < 6D
    : cc lcd_5
    :
    : CPI 71h ;X < 71
    : cc lcd_4
    :
    : CPI 75h ;X < 75
    : cc lcd_3
    :
    : CPI 79h ;X < 79
    : cc lcd_2
    :
    : CPI 7Dh ;X < 7D
    : cc lcd_1
    :
    : CPI 84h ;X < 84
    : cc lcd_0
    :
    : CPI 88h ;X < 88
    : cc lcd_1
    :
    : CPI 8Ch ;X < 8C
    : cc lcd_2
    :
    : CPI 90h ;X < 90
    : cc lcd_3
    :
    : CPI 94h ;X < 94
    : cc lcd_4
    :
    : CPI 98h ;X < 98
    : cc lcd_5
    :
    : CPI 9Ch ;X < 9C
    : cc lcd_6
    :
    : CPI A0h ;X < A0
    : cc lcd_7
    :
    : CPI A4h ;X < A4
    : cc lcd_8
    :
    : CPI A8h ;X < A8
    : cc lcd_9
    :
    : CPI ACh ;X < AC
    : cc lcd_0
    :
    : CPI B0h ;X < B0
    : cc lcd_1
    :
    : CPI B4h ;X < B4
    : cc lcd_2
    :
    : CPI B8h ;X < B8
    : cc lcd_3
    :
    : CPI BCh ;X < BC
    : cc lcd_4
    :
    : CPI C0h ;X < C0
    : cc lcd_5
    :
    : CPI C4h ;X < C4
    : cc lcd_6
    :
    : CPI C8h ;X < C8
    : cc lcd_7
    :
    : CPI CCh ;X < CC
    : cc lcd_8
    :
    : CPI D0h ;X < D0
    : cc lcd_9
    :
    : CPI D4h ;X < D4
    : cc lcd_0
    :
    : CPI D8h ;X < D8
    : cc lcd_1
    :
    : CPI DCh ;X < DC
    : cc lcd_2
    :
    : CPI E0h ;X < E0
    : cc lcd_3
    :
    : CPI E4h ;X < E4
    : cc lcd_4
    :
    : CPI E8h ;X < E8
    : cc lcd_5
    :
    : CPI ECh ;X < EC
    : cc lcd_6
    :
    : CPI F0h ;X < F0
    : cc lcd_7
    :
    : CPI F4h ;X < F4
    : cc lcd_8
    :
    : CPI F8h ;X < F8
    : cc lcd_9
    :
    : CPI FCh ;X < FC
    : cc lcd_0
    :
    : CPI FFh ;X < FF
    : cc lcd_1
    :
    : cpi ffh
    : cz lcd_2
    :
    : jmp START
    :
    : HLT
    :
    : lcd_plus:
    : push psw
    : mvi a,12h
    : sta 3000
    : call enable
    : mvi a,1bh
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_minus:
    : push psw
    : mvi a,12h
    : sta 3000
    : call enable
    : mvi a,1dh
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_0:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,10h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_1:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,11h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_2:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,12h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_3:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,13h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_4:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,14h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_5:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,15h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_6:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,16h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_7:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,17h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_8:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,18h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_9:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,19h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    :
    : enable:
    : push psw
    : push d
    : mvi d,20h
    : add d ;enable goes high
    : sta 3000
    : call delay
    : mvi d,20h ;enable goes low
    : sub d
    : sta 3000
    : pop d
    : pop psw
    : ret
    :
    : delay:
    : push psw
    : push b
    : mvi b,03h
    : mvi c,c0h
    : dcr c
    : jnz 2e5h
    : dcr b
    : jnz 2e3h
    : pop b
    : pop psw
    : ret
    :
    :


  • Friend dowload this and you wont have any such problems.

    http:/www.insoluz.com/Micro/Micro.html

    : Everything works except the START subroutine. It won't output the correct characters. Anyone know anything about the "cnc", "cc" commands? Am I using them incorrectly, let me know ASAP. THANKS!!
    :
    : ;ORG 0000h
    :
    : INIT:
    : lxi sp, 0a50h
    :
    : mvi a,3h ;8bit mode
    : sta 3000
    : call enable
    :
    : mvi a,3h ;8bit mode
    : sta 3000
    : call enable
    :
    : mvi a,3h ;8bit mode
    : sta 3000
    : call enable
    :
    : mvi a,2h ;set 4bit mode
    : sta 3000
    : call enable
    :
    : mvi a,2h ;1/16 duty, 5x8 font
    : sta 3000
    : call enable
    : mvi a,8h
    : sta 3000
    : call enable
    :
    : mvi a,0h ;display off,
    : sta 3000
    : call enable
    : mvi a,8h
    : sta 3000
    : call enable
    :
    : mvi a,0h ;cursor, blink on
    : sta 3000
    : call enable
    : mvi a,fh
    : sta 3000
    : call enable
    :
    : mvi a,0h ;set entry mode, cursor move right
    : sta 3000
    : call enable
    : mvi a,6h
    : sta 3000
    : call enable
    :
    : START:
    : mvi a,0h
    : sta 3000
    : call enable
    : mvi a,1h
    : sta 3000
    : call enable
    :
    : LDA 2000 ;READ INPUT PORT
    :
    : CPI 80h ;X < 80
    : cnc lcd_plus
    :
    : cpi 80h ;X < 80
    : cc lcd_minus
    :
    : CPI 9h ;X < 9
    : cc lcd_3
    :
    : CPI F7h ;X < F7
    : cnc lcd_3
    :
    : CPI 31h ;X < 31
    : cc lcd_2
    :
    : CPI cfh ;X < cf
    : cnc lcd_2
    :
    : CPI 59h ;X < 59
    : cc lcd_1
    :
    : CPI A7h ;X < A7
    : cnc lcd_1
    :
    : CPI 1h ;X < 1
    : cc lcd_2
    :
    : CPI 5h ;X < 5
    : cc lcd_1
    :
    : CPI 9h ;X < 9
    : cc lcd_0
    :
    : CPI Dh ;X < D
    : cc lcd_9
    :
    : CPI 11h ;X < 11
    : cc lcd_8
    :
    : CPI 15h ;X < 15
    : cc lcd_7
    :
    : CPI 19h ;X < 19
    : cc lcd_6
    :
    : CPI 1Dh ;X < 1D
    : cc lcd_5
    :
    : CPI 21h ;X < 21
    : cc lcd_4
    :
    : CPI 25h ;X < 25
    : cc lcd_3
    :
    : CPI 29h ;X < 29
    : cc lcd_2
    :
    : CPI 2Dh ;X < 2D
    : cc lcd_1
    :
    : CPI 31h ;X < 31
    : cc lcd_0
    :
    : CPI 35h ;X < 35
    : cc lcd_9
    :
    : CPI 39h ;X < 39
    : cc lcd_8
    :
    : CPI 3Dh ;X < 3D
    : cc lcd_7
    :
    : CPI 41h ;X < 41
    : cc lcd_6
    :
    : CPI 45h ;X < 45
    : cc lcd_5
    :
    : CPI 49h ;X < 49
    : cc lcd_4
    :
    : CPI 4Dh ;X < 4D
    : cc lcd_3
    :
    : CPI 51h ;X < 51
    : cc lcd_2
    :
    : CPI 55h ;X < 55
    : cc lcd_1
    :
    : CPI 59h ;X < 59
    : cc lcd_0
    :
    : CPI 5Dh ;X < 5D
    : cc lcd_9
    :
    : CPI 61h ;X < 61
    : cc lcd_8
    :
    : CPI 65h ;X < 65
    : cc lcd_7
    :
    : CPI 69h ;X < 69
    : cc lcd_6
    :
    : CPI 6Dh ;X < 6D
    : cc lcd_5
    :
    : CPI 71h ;X < 71
    : cc lcd_4
    :
    : CPI 75h ;X < 75
    : cc lcd_3
    :
    : CPI 79h ;X < 79
    : cc lcd_2
    :
    : CPI 7Dh ;X < 7D
    : cc lcd_1
    :
    : CPI 84h ;X < 84
    : cc lcd_0
    :
    : CPI 88h ;X < 88
    : cc lcd_1
    :
    : CPI 8Ch ;X < 8C
    : cc lcd_2
    :
    : CPI 90h ;X < 90
    : cc lcd_3
    :
    : CPI 94h ;X < 94
    : cc lcd_4
    :
    : CPI 98h ;X < 98
    : cc lcd_5
    :
    : CPI 9Ch ;X < 9C
    : cc lcd_6
    :
    : CPI A0h ;X < A0
    : cc lcd_7
    :
    : CPI A4h ;X < A4
    : cc lcd_8
    :
    : CPI A8h ;X < A8
    : cc lcd_9
    :
    : CPI ACh ;X < AC
    : cc lcd_0
    :
    : CPI B0h ;X < B0
    : cc lcd_1
    :
    : CPI B4h ;X < B4
    : cc lcd_2
    :
    : CPI B8h ;X < B8
    : cc lcd_3
    :
    : CPI BCh ;X < BC
    : cc lcd_4
    :
    : CPI C0h ;X < C0
    : cc lcd_5
    :
    : CPI C4h ;X < C4
    : cc lcd_6
    :
    : CPI C8h ;X < C8
    : cc lcd_7
    :
    : CPI CCh ;X < CC
    : cc lcd_8
    :
    : CPI D0h ;X < D0
    : cc lcd_9
    :
    : CPI D4h ;X < D4
    : cc lcd_0
    :
    : CPI D8h ;X < D8
    : cc lcd_1
    :
    : CPI DCh ;X < DC
    : cc lcd_2
    :
    : CPI E0h ;X < E0
    : cc lcd_3
    :
    : CPI E4h ;X < E4
    : cc lcd_4
    :
    : CPI E8h ;X < E8
    : cc lcd_5
    :
    : CPI ECh ;X < EC
    : cc lcd_6
    :
    : CPI F0h ;X < F0
    : cc lcd_7
    :
    : CPI F4h ;X < F4
    : cc lcd_8
    :
    : CPI F8h ;X < F8
    : cc lcd_9
    :
    : CPI FCh ;X < FC
    : cc lcd_0
    :
    : CPI FFh ;X < FF
    : cc lcd_1
    :
    : cpi ffh
    : cz lcd_2
    :
    : jmp START
    :
    : HLT
    :
    : lcd_plus:
    : push psw
    : mvi a,12h
    : sta 3000
    : call enable
    : mvi a,1bh
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_minus:
    : push psw
    : mvi a,12h
    : sta 3000
    : call enable
    : mvi a,1dh
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_0:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,10h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_1:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,11h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_2:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,12h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_3:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,13h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_4:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,14h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_5:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,15h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_6:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,16h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_7:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,17h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_8:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,18h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    : lcd_9:
    : push psw
    : mvi a,13h
    : sta 3000
    : call enable
    : mvi a,19h
    : sta 3000
    : call enable
    : pop psw
    : ret
    :
    :
    : enable:
    : push psw
    : push d
    : mvi d,20h
    : add d ;enable goes high
    : sta 3000
    : call delay
    : mvi d,20h ;enable goes low
    : sub d
    : sta 3000
    : pop d
    : pop psw
    : ret
    :
    : delay:
    : push psw
    : push b
    : mvi b,03h
    : mvi c,c0h
    : dcr c
    : jnz 2e5h
    : dcr b
    : jnz 2e3h
    : pop b
    : pop psw
    : ret
    :
    :


Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

In this Discussion