MY PROGRAM-
;;**************************it is lcd program************
IO0DIR EQU 0XE0028008
IO0SET EQU 0XE0028004
IO0CLR EQU 0XE002800C
IO0PIN EQU 0XE0028000
IO1DIR EQU 0XE0028018
IO1SET EQU 0XE0028014
IO1CLR EQU 0XE002801C
IO1PIN EQU 0XE0028010
PINSEL0 EQU 0XE002C000
PINSEL2 EQU 0XE002C014
PCONP EQU 0XE01FC0C4
AREA PROGRAM, CODE, READONLY ;;;after this line program will start
;; it take by difault memory location (0x0000) program srart
BL DELAY
;; BL DELA
MOV R2,#0X1C00000
LDR R3,=IO1DIR
STR R2,[R3]
LDR R3,=PINSEL2
MOV R2,#0X00000000
STR R2,[R3]
MOV R2,#0X3C00
LDR R3,=IO0DIR
STR R2,[R3]
LDR R3,=PINSEL0
MOV R2,#00000000
STR R2,[R3]
LDR R7, =DATA1
LDR R8, =DATA2
LOOPP LDR R3,=IO0PIN
LDRB R0, [R7]
CMP R0,#0X00
BNE STY
B NEXT
STY AND R0,R0,#0X0F
MOV R0,R0,ROR #22
STR R0,[R3]
BL CMD
BL DELAY
LDR R3,=IO0PIN
LDRB R0, [R7], #1
MOV R0,R0,ROR #4
AND R0,R0,#0X0000000F
MOV R0,R0,ROR #22
STR R0,[R3]
BL CMD
BL DELAY
B LOOPP
NEXT LDR R3,=IO0PIN
LDRB R0, [R8]
CMP R0,#0X00
BNE STY1
B NEXT1
STY1 AND R0,R0,#0X0F0
MOV R0,R0,ROR #26
STR R0,[R3]
BL DAT
BL DELAY
LDR R3,=IO0PIN
LDRB R0, [R8], #1
AND R0,R0,#0X0000000F
MOV R0,R0,ROR #22
STR R0,[R3]
BL DAT
BL DELAY
B NEXT
NEXT1 B NEXT1
DAT
MOV R2,#0X1400000
LDR R3,=IO1PIN
STR R2,[R3]
MOV SP,LR
BL DELAY
MOV R2,#0X000000
LDR R3,=IO1PIN
STR R2,[R3]
MOV LR,SP
MOV PC,LR
CMD
MOV R2,#0X0400000
LDR R3,=IO1PIN
STR R2,[R3]
MOV SP,LR
BL DELAY
MOV R2,#0X000000
LDR R3,=IO1PIN
STR R2,[R3]
MOV LR,SP
MOV PC,LR
DELAY
MOV R5,#0X2
UP13 MOV R4,#0x0002
UP11 MOV R6,#0x008F
UP SUBS R6,R6,#0X1
BNE UP
SUBS R4,R4,#0X1
BNE UP11
SUBS R5,R5,#0X1
BNE UP13
MOV PC,LR
AREA TABLE1, READONLY
DATA1 DCB 0X23,0X82,0XE0,0X60,0X10,0X08,0X00
AREA TABLE2, READONLY
DATA2 DCB "NI INNOVATION",0X00
END