IA-32 assembly: Effect of 8 bit operations on 32 bit registers

user3389669

During a course in computer science one gave me a binary file and the task to find out what it does, using the technique of reverse engineering (i.e. disassemble the file and analyze it). I stumbled upon one line of IA-32 instruction:

add    %esi,%ecx

I learned that commands with suffix l operate on 32 bit registers, those with suffix w operate on 16 bit registers and I think (but don't know), that operators without suffix operate on 8 bit registers. Edit: See Ross Ridge's comment which falsifies my assumption.

So my questions are:

  1. Is my assumption above correct?
  2. If so, what is the effect (in contrast to addl) of the instruction above – and what effects have other operations like sub, mov and so on?

Thanks in advance!

FPK

Normally the suffix is ignored/not important if proper register names are given. So the instruction above is a 32 Bit instruction because esi and ecx are 32 Bit registers.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

32 bit registers act as 8 bit ones

From Dev

Assembly: 64 bit multiplication with 32-bit registers

From Dev

Assembly 8088: 32-bit signed Multiplication with addition and bit manipulation using 16-bit registers

From Dev

Assembly: division using the values in two 32-bit registers as if they were one 64-bit integer

From Dev

Assembly: division using the values in two 32-bit registers as if they were one 64-bit integer

From Dev

going from 32 bit to 64 bit in assembly

From Dev

Real Mode 32-bit registers

From Dev

Adding two 16 bit numbers using 8 bit registers (Assembly)

From Dev

Z3Py: How should I represent some 32-bit; 16-bit and 8-bit registers?

From Dev

Wix: How to write to 32bit registers on 64 bit machine

From Dev

Are 64 bit operations atomic for a 32 bit app on 64 bit Windows

From Dev

Byte conversion from 32 bit to 8 bit

From Dev

moving 8bit integers array to 32bit array assembly

From Dev

Moving the memory address of a 32 bit register [esi] into an 8 bit low register in Assembly language x86

From Dev

Loading 32 bit values to a register in arm assembly

From Dev

Generating random 32bit number in assembly

From Dev

run 32 bit assembly on 64 bit processor with mac os x

From Dev

MUL instruction Assembly 32-bit into 64-bit

From Dev

Behaviour of 64 bit variable arithmetic operations on 32 bit machine

From Dev

Add 32-bit floats in eax/ecx registers?

From Dev

Add 32-bit floats in eax/ecx registers?

From Dev

jmvfw.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

From Dev

Can't load IA 32-bit .dll on a AMD 64-bit platform

From Dev

jmvfw.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

From Dev

Java JNI - Can't load IA 32-bit .dll on a AMD 64-bit platform

From Dev

Assembly x86 (32-bit), call to NR_creat (8) Corrupts Filename Storage

From Dev

Assembly x86 (32-bit), call to NR_creat (8) Corrupts Filename Storage

From Dev

8 bit int vs 32 bit int on a 32 bit architechture (GCC)

From Dev

C - How to check if 8 bits are in 32 bit?

Related Related

  1. 1

    32 bit registers act as 8 bit ones

  2. 2

    Assembly: 64 bit multiplication with 32-bit registers

  3. 3

    Assembly 8088: 32-bit signed Multiplication with addition and bit manipulation using 16-bit registers

  4. 4

    Assembly: division using the values in two 32-bit registers as if they were one 64-bit integer

  5. 5

    Assembly: division using the values in two 32-bit registers as if they were one 64-bit integer

  6. 6

    going from 32 bit to 64 bit in assembly

  7. 7

    Real Mode 32-bit registers

  8. 8

    Adding two 16 bit numbers using 8 bit registers (Assembly)

  9. 9

    Z3Py: How should I represent some 32-bit; 16-bit and 8-bit registers?

  10. 10

    Wix: How to write to 32bit registers on 64 bit machine

  11. 11

    Are 64 bit operations atomic for a 32 bit app on 64 bit Windows

  12. 12

    Byte conversion from 32 bit to 8 bit

  13. 13

    moving 8bit integers array to 32bit array assembly

  14. 14

    Moving the memory address of a 32 bit register [esi] into an 8 bit low register in Assembly language x86

  15. 15

    Loading 32 bit values to a register in arm assembly

  16. 16

    Generating random 32bit number in assembly

  17. 17

    run 32 bit assembly on 64 bit processor with mac os x

  18. 18

    MUL instruction Assembly 32-bit into 64-bit

  19. 19

    Behaviour of 64 bit variable arithmetic operations on 32 bit machine

  20. 20

    Add 32-bit floats in eax/ecx registers?

  21. 21

    Add 32-bit floats in eax/ecx registers?

  22. 22

    jmvfw.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

  23. 23

    Can't load IA 32-bit .dll on a AMD 64-bit platform

  24. 24

    jmvfw.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

  25. 25

    Java JNI - Can't load IA 32-bit .dll on a AMD 64-bit platform

  26. 26

    Assembly x86 (32-bit), call to NR_creat (8) Corrupts Filename Storage

  27. 27

    Assembly x86 (32-bit), call to NR_creat (8) Corrupts Filename Storage

  28. 28

    8 bit int vs 32 bit int on a 32 bit architechture (GCC)

  29. 29

    C - How to check if 8 bits are in 32 bit?

HotTag

Archive