I am working on an x86 ASM program where part of the output are numbers I have been incrementing at various stages. The output numbers are hardly what I expect... having trouble tracking down the error.

Initialized like:

```
SECTION .data
    ...
    numInc: db 0
    numDec: db 0
    numSum: db 0

```

Incremented like:

```
    inc     dword [numInc]
    inc     dword [numSum]
    push    stringOpt3
    call    printf
    add     esp, 4

```

Printed like:

```
    push    dword [numInc]
    push    dword [sum]
    push    dword [numDec]
    push    dword [sum]
    push    outputString
    call    printf
    add     esp,20

```

Where outputString is: (also in .data section, naturally)

```
    outputString: db `\nSet{1}: %5d/%d\nSet{2}: %5d/%d\n`,10,0

```

And the output is something like:

```
Set{1}: 134521233/514
Set{2}: 134521233/131584

```

So, I'm expecting results in the neighborhood of 0/3 1/3 ... ! Also, I expect the denominators to be the same considering the right==>left push pattern for printf.

I'm on Linux with an x86 processor using nasm to assemble and gcc to link.