char test_ldd () { int i; char rv; rand_buf (bufa); _asm ld hl, #_bufb ld bc, #127 add hl, bc ex de, hl ld hl, #_bufa add hl, bc inc bc test_ldd_loop: ldd ld a, #0x00 cp c jp nz, test_ldd_loop cp b jp nz, test_ldd_loop _endasm; rv = 1; for (i=0; i<BUF_SIZE; i++) { if (bufa[i] != bufb[i]) rv = 0; } return rv; }
char test_lddr () { int i; char rv; rand_buf (bufa); _asm ld hl, #_bufb ld bc, #127 add hl, bc ex de, hl ld hl, #_bufa add hl, bc inc bc lddr _endasm; rv = 1; for (i=0; i<BUF_SIZE; i++) { if (bufa[i] != bufb[i]) rv = 0; } return rv; }
char test_ldi () { int i; char rv; rand_buf (bufa); _asm ld de, #_bufb ld hl, #_bufa ld bc, #128 test_ldi_loop: ldi ld a, #0x00 cp c jp nz, test_ldi_loop cp b jp nz, test_ldi_loop _endasm; rv = 1; for (i=0; i<BUF_SIZE; i++) { if (bufa[i] != bufb[i]) rv = 0; } return rv; }
/* generate a version 4 (random), variant 1 (big endian) UUID */ void xuuid_generate(struct xuuid *uuid) { rand_buf(uuid->raw, sizeof(uuid->raw)); /* version 4 */ uuid->raw[6] &= 0x0f; uuid->raw[6] |= 0x40; /* variant 1 */ uuid->raw[8] &= 0x3f; uuid->raw[8] |= 0x80; }
char test_ldir () { int i; char rv; rand_buf (bufa); _asm ld de, #_bufb ld hl, #_bufa ld bc, #128 ldir _endasm; rv = 1; for (i=0; i<BUF_SIZE; i++) { if (bufa[i] != bufb[i]) rv = 0; } return rv; }