diff options
author | H. Peter Anvin <hpa@zytor.com> | 2008-10-17 19:30:34 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-10-17 19:30:34 -0700 |
commit | edb58f7813b20f1ec1ad640b53fcd58b680d8103 (patch) | |
tree | fbdf8fcef98e5839ad48b05375e0a730577824af /saa.c | |
parent | 9a1f9f5ab6394279b5f8f0b5466184694a2dc2ba (diff) | |
download | nasm-edb58f7813b20f1ec1ad640b53fcd58b680d8103.tar.gz |
SAA: add saa_writeaddr() similar to other locations
Provide saa_writeaddr() to write an integer in x86 format.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'saa.c')
-rw-r--r-- | saa.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -287,6 +287,11 @@ void saa_write64(struct SAA *s, uint64_t v) saa_wbytes(s, &v, 8); } +void saa_writeaddr(struct SAA *s, uint64_t v, size_t len) +{ + saa_wbytes(s, &v, len); +} + #else /* not WORDS_LITTLEENDIAN */ void saa_write16(struct SAA *s, uint16_t v) @@ -324,6 +329,22 @@ void saa_write64(struct SAA *s, uint64_t v) saa_wbytes(s, b, 8); } +void saa_writeaddr(struct SAA *s, uint64_t v, size_t len) +{ + uint8_t b[8]; + + b[0] = v; + b[1] = v >> 8; + b[2] = v >> 16; + b[3] = v >> 24; + b[4] = v >> 32; + b[5] = v >> 40; + b[6] = v >> 48; + b[7] = v >> 56; + + saa_wbytes(s, &v, len); +} + #endif /* WORDS_LITTLEENDIAN */ /* write unsigned LEB128 value to SAA */ |