git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4386
4a8a32a2-be11-0410-ad9d-
d568d2c75423
* device/include/stdlib.h: added rand prototypes
* device/lib/rand.c: new, added
* device/lib/Makefile.in: added rand.c
+ * src/z80/peeph.def: updated conditonals, fixed bug 1565908
2006-09-20 Raphael Neider <rneider AT web.de>
int rand(void)\r
{\r
next = next * 1103515245UL + 12345;\r
- return (unsigned int)(next/65536) % (RAND_MAX + 1);\r
+ return (unsigned int)(next/65536) % (RAND_MAX + 1U);\r
}\r
\r
void srand(unsigned int seed)\r
replace {
- ld (hl),(hl)
+ ld (hl),(hl)
} by {
ERROR - peephole - caught (hl),(hl)
}
replace restart {
- ld %1,%1
+ ld %1,%1
} by {
; Removed redundent load
}
replace restart {
- xor a,a
- or a,%1
- or a,a
- jp %2,%3
+ xor a,a
+ or a,%1
+ or a,a
+ jp %2,%3
} by {
xor a,a
or a,%1
jp %2,%3
}
replace restart {
- cp a,#0x00
- jp nz,%1
+ cp a,#0x00
+ jp NZ,%1
} by {
or a,a
- jp nz,%1
+ jp NZ,%1
}
replace restart {
- jp nz,%1
+ jp NZ,%1
jp %2
%1:
jp %3
%2:
} by {
- jp z,%2
+ jp Z,%2
%1:
jp %3
%2:
}
replace restart {
- jp nz,%1
+ jp NZ,%1
jp %2
%1:
} by {
- jp z,%2
+ jp Z,%2
%1:
}
replace restart {
- jp z,%1
+ jp Z,%1
jp %2
%1:
} by {
- jp nz,%2
+ jp NZ,%2
%1:
}
replace restart {
}
replace restart {
or a,%1)
- or a,a
+ or a,a
} by {
or a,%1)
}
replace restart {
xor a,a
or a,%1
- jp nz,%2
+ jp NZ,%2
xor a,a
or a,%3
- jp z,%2
+ jp Z,%2
} by {
xor a,a
or a,%1
- jp nz,%2
+ jp NZ,%2
or a,%3
- jp z,%2
+ jp Z,%2
}
replace restart {
- jp nz,%1
+ jp NZ,%1
inc %3)
%1:
jp %2
} by {
- jp nz,%2
+ jp NZ,%2
inc %3)
%1:
jp %2
xor a,a
ld a,#0x00
} by {
- xor a,a
+ xor a,a
}
replace {
ld e,#0x00
replace {
ld a,%1
sub a,#%2
- jp m,%3
+ jp M,%3
ld a,%1
sub a,#%4
- jp p,%5
+ jp P,%5
} by {
ld a,%1
cp a,#%2
- jp m,%3
+ jp M,%3
cp a,#%4
- jp p,%5
+ jp P,%5
}
replace {
ld e,l