| ??? 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 |
| Topic | Author | Date |
| 16bit _MUL | 01/01/70 00:00 | |
| RE: 16bit _MUL | 01/01/70 00:00 | |
RE: 16bit _MUL | 01/01/70 00:00 |



