diff options
| author | Mike Vink <mike@pionative.com> | 2024-05-28 08:49:46 +0200 |
|---|---|---|
| committer | Mike Vink <mike@pionative.com> | 2024-05-28 08:49:46 +0200 |
| commit | b424517a33bf61aedff29eed74a665402ab496ba (patch) | |
| tree | 1897e147cf15f5c7a121a73fc003b32639a697ea /3/7_procedures/33_procprob.c | |
| parent | 758543aef80c3b3568a20b0dff20202c796a4819 (diff) | |
procedures
Diffstat (limited to '3/7_procedures/33_procprob.c')
| -rw-r--r-- | 3/7_procedures/33_procprob.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/3/7_procedures/33_procprob.c b/3/7_procedures/33_procprob.c new file mode 100644 index 0000000..4c68855 --- /dev/null +++ b/3/7_procedures/33_procprob.c @@ -0,0 +1,21 @@ +// procprob +// movslq %edi, %rdi movslq==Move and sign extend 32bit to 64bit two's complement number, +// Basically seems to convert the first signed argument to 64bit size. +// A singed 32bit number is an int? +// addq %rdi, (%rdx) *u <- (long) u + (long) a +// addb %sil, (%rcx) *v <- (char) *v + (?) b +// movl $6, %eax sizeof(a) + sizeof(b) = 6 = 4 + 2 +// +// procprob +// movslq %edi, %rdi movslq==Move and sign extend 32bit to 64bit two's complement number, +// Basically seems to convert the first signed argument to 64bit size. +// A singed 32bit number is an int? +// addq %rdi, (%rdx) *u <- (long) u + (long) a +// addb %sil, (%rcx) *v <- (char) *v + (?) b +// movl $6, %eax sizeof(a) + sizeof(b) = 6 = 2 + 4 +// +int procprob(int a, short b, long *u, char *v) { + *u += a; + *v += b; + return sizeof(b) + sizeof(b) +} |
