Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/03/99 10:03
Read: times


 
#474 - RE: 16bit _MUL
; Assembler programm for the multiplexer 16 to 1 project.
; Written by SLE on 03/06/99

;Chip Version
; V1.0

;This program is simulated with the 8052 Simulator for Windows
;Demo Version.

;Processor-port-discription
;--------------------------

PORT1 SET p1
DIN0 BIT p1.0
DIN1 BIT p1.1
DIN2 BIT p1.2
DIN3 BIT p1.3
DIN4 BIT p1.4
DIN5 BIT p1.5
DIN6 BIT p1.6
DIN7 BIT p1.7
PORT2 SET p2
DIN8 BIT p2.0
DIN9 BIT p2.1
DINA BIT p2.2
DINB BIT p2.3
DINC BIT p2.4
DIND BIT p2.5
DINE BIT p2.6
DINF BIT p2.7

DOUT BIT p0.0

PORT3 SET p3
A0 BIT p3.0
A1 BIT p3.1
A2 BIT p3.2
A3 BIT p3.4

;*****************
;* program-start *
;*****************
cseg at 600h;
jmp loop
;*************
;* main-loop *
;*************

loop:
mov a,PORT2 ;Read Port2 for the address A0..A3
mov R1,a ;Save the value in R1
anl a,#00001000B ;Filter A3 out.
mov R0,a ;Save A3 value in R0
mov a,R1 ;Get saved value of Port2 from R1
anl a,#00000111B ;Filter A0..A2 out.
mov R1,a ;Save A0..A2 in R1
cjne R0,#00h,loop4 ;Check the value of A3
mov a, PORT1 ;If A3 = 0 then Read PORT1
jmp loop1
loop4:
mov a, PORT3 ;If A3 = 1 then Read PORT3
loop1:
rrc a ;Rotate Right through the carry flag
push psw ;Save Carry Flag
cjne R1,#00h,loop3 ;Compare if R& = #00h
pop psw ;Restore Carry Flag
jnc loop2 ;Check if carry is set
setb DOUT ;If carry set then DOUT = 1
jmp loop ;Restart Main-Loop
loop2:
clr DOUT ;If carry set then DOUT = 0
jmp loop ;Restart Main-Loop
loop3:
pop psw ;Restore Carry Flag
dec R1 ;R1=R1-1
jmp loop1

nop
end


List of 3 messages in thread
TopicAuthorDate
16bit _MUL            01/01/70 00:00      
RE: 16bit _MUL            01/01/70 00:00      
RE: 16bit _MUL            01/01/70 00:00      

Back to Subject List