Howdy, Stranger!

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

Categories

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

  • abhijit8086abhijit8086 Member Posts: 5
    : 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
    :
    :


  • abhijit8086abhijit8086 Member Posts: 5
    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.