English
Language : 

W77IE58_06 Datasheet, PDF (40/82 Pages) Winbond – 8-BIT MICROCONTROLLER
W77IE58/W77I058A
Machine cycles in W77I058 = 10 + (26 * CNT)
If CNT = 50
Clock cycles in standard 8032 = ((10 + (26 *50)) * 12 = (10 + 1300) * 12 = 15720
Clock cycles in W77I058 = ((10 + (26 * 50)) * 4 = (10 + 1300) * 4 = 5240
Block Move with Two Data Pointers in W77I058:
; SH and SL are the high and low bytes of Source Address
; DH and DL are the high and low bytes of Destination Address
; CNT is the number of bytes to be moved
MOV R2, #CNT
; Load R2 with the count value
MOV DPS, #00h ; Clear DPS to point to DPTR
MOV DPTR, #DHDL ; Load DPTR with Destination address
INC DPS
; Set DPS to point to DPTR1
MOV DPTR, #SHSL ; Load DPTR1 with Source address
LOOP:
MOVX A, @DPTR ; Get data from Source block
INC DPTR
; Increment source address
DEC DPS
; Clear DPS to point to DPTR
MOVX @DPTR, A ; Write data to Destination
INC DPTR
; Increment destination address
INC DPS
; Set DPS to point to DPTR1
DJNZ R2, LOOP ; Check if all done
Machine cycles of W77I058
#
2
2
3
2
3
2
2
2
2
2
2
3
Machine cycles in W77I058 = 12 + (15 * CNT)
If CNT = 50
Clock cycles in W77I058 = (12 + (15 * 50)) * 4 = (12 + 750) * 4 = 3048
We can see that in the first program the standard 8032 takes 15720 cycles, while the W77I058 takes
only 5240 cycles for the same code. In the second program, written for the W77I058, program
execution requires only 3048 clock cycles. If the size of the block is increased then the saving is even
greater.
External Data Memory Access Timing
The timing for the MOVX instruction is another feature of the W77I058. In the standard 8032, the
MOVX instruction has a fixed execution time of 2 machine cycles. However in the W77I058, the
duration of the access can be varied by the user.
The instruction starts off as a normal op-code fetch of 4 clocks. In the next machine cycle, the
W77I058 puts out the address of the external Data Memory and the actual access occurs here. The
user can change the duration of this access time by setting the STRETCH value. The Clock Control
SFR (CKCON) has three bits that control the stretch value. These three bits are M2-0 (bits 2-0 of
CKCON). These three bits give the user 8 different access time options. The stretch can be varied
from 0 to 7, resulting in MOVX instructions that last from 2 to 9 machine cycles in length. Note that the
stretching of the instruction only results in the elongation of the MOVX instruction, as if the state of the
CPU was held for the desired period. There is no effect on any other instruction or its timing. By
default, the Stretch value is set at 1, giving a MOVX instruction of 3 machine cycles. If desired by the
user the stretch value can be set to 0 to give the fastest MOVX instruction of only 2 machine cycles.
- 40 -