Skip to content
"Skills, Knowledge, Abilities, and Experiences
are only useful....
If you are
at the right place
"
Get in Touch !
The LAB
LAB#1
LAB#2
LAB#3
LAB#4
LAB#5
LAB#6
LAB#7
LAB#8
LAB#9
The LAB
LAB#1
LAB#2
LAB#3
LAB#4
LAB#5
LAB#6
LAB#7
LAB#8
LAB#9
hoXBot
BLOG
WFH
CREATIONS
BLOG
WFH
CREATIONS
Your browser does not support the audio element.
Func#1
Func#2
Func#3
Func#4
Func#5
Func#6
Func#7
Func#8
Func#9
:main
;start code at the address 8100h
;set mode of 8255 pio
;set lcd display mode
;waiting for interruption
set_8255:
;load #38h to the acumulator
;load the pointer with port1 address
;export #38h to control port1
;load #89h to the accumulator
;load the pointer with port2 address
;export #89h to control port2
;return back to main process
lcd_set:
;load #38h to the accumulator
;call to LCD instruction trigger
;load #0eh to the accumulator
;call to LCD instruction trigger
;load #06h to the accumulator
;call to LCD instruction trigger
;return to main process
ir_set:
;load the pointer
;export data in the acc to port a1
;load the pointer with port b1 address
;load #00000010b to the accumulator
;export #00000010b to port a1
;load acc with #00000010b
;export #00000010b to port_b1
;load register r2 with #05h
;call delay
;load acc with #00000000b
;export #00000000b to port_b1
;return
dr_set:
;load data pointer with #0fc00h
;export acc value to port_a1
;load data pointer with #0fc01h
;load acc with #00000001b
;export #00000001 to port_b1
;load acc with #00000011b
;export #00000011b to port_b1
;load register r2 with #05h
;lacc delay
;load acc with #00000001b
;export #0000001b to port_b1
;return
dmsec: "delay 1/1000 second"
;load register r3 with #230
;nop
;nop
;decrement&jump r3
;decrement&jump r2
;return
lcd_dump: "dump data from external rom to lcd display"
;push data pointer upper
;pust data pointer lowwer
;01 = clear lcd
;load data pointer with #0fc00
;export #01h to port_a1
;call lcd instruction set
;pop data pointer lower
;pop data pointer upper
;clear acc
;load acc with @a+dptr
;push data pointer upper
;pust data pointer lower
;load data pointer with #0fc00h
;export acc value to port_a1
;call lcd instruction set
;pop data pointer lower
;pop data pointer upper
;increment data pointer
;clear acc
;load acc with @a+dptr
;compare&jump with #0ffh
;call return curser
;return
;push data pointer upper
;push data pointer lower
;load data pointer with #0fc00h
;export acc value to port_a1
;call lcd data set
;pop data pointer lower
;pop data pointer upper
;jump to dmp_lp2
ram_dump: "dump data from internal ram to lcd display"
;load register r0 with xy_ram value
;load acc with register r0 value
;call lcd instruction set
;increment register r0
;load acc with register r0 value
;compare&jump acc with #0ffh
;call return curser
;return
;call lcd data set
;jump to rdp2
lcd_move: "move data from lcd internal ram to lcd display"
;c0h = first colume of lcd row2
;call lcd instruction set
;80h = start colume of lcd row2
;lcd internal ram = 98h?
;if = 98h then -> return
;move data from lcd ram to accumulater
;send data to lcd
;increment pointer
ram_cls: "clear internal buffer ram of lcd"
;c0h = first colume of lcd row 2
;call lcd instruction trigger
;80h = address of lcd internal ram
;lcd internal ram = 98h
;if = 98h then -> return
;code 20h = space(blank)
;increment pointer
;jump to lclp2
dump_cha: "dump charecter one byte by one byte"
;load pointer of lcd ram
;if pointer = 98h then -> return
;return
;check key caps_flax
;check key shift_flax
;load acc with upper charecter
;jump to chalp2
;load dptr with #d_sfoff
;call lcd_dump
;load acc with lower charecter
;load r0 with ram_csr value
;move acc value to internal ram
;call lcd data trigger
;increment ram pointer
;increment lcd pointer
;clear shift_flax
;return
ramtolcd: "move data from ram to lcd ram"
;push data pointer upper
;push data pointer lower
;load register r0 with #80h
;import acc from dptr value
;move acc value to internal ram
;increment register r0
;increment data pointer
;compare&jump r0 with #98h
;pop data pointer lower
;pop data pointer upper
;return
lcdtoram: "move data from lcd ram to ram"
;push data pointer upper
;push data pointer lower
;load register r0 with #80h
;load acc with r0 value
;export acc value to dptr
;increment register r0
;increment data pointer
;compare&jump r0 with #98h
;pop data pointer lower
;pop data pointer upper
;return
B
@
A
R
C
E
K
T
to
R
B
O
A
B
S
O
I
T
C
69
Get in Touch !
Name
Email
Message
Send