what is meant by 32-bit application?

╄→尐↘猪︶ㄣ 提交于 2019-12-06 08:19:10

A 32-bit application is software that runs in a 32-bit flat address space.

Answers to common questions

Will a 64 bit CPU run a standard (32-bit) program on a 64-bit version of an OS? Yes it will. 64 bit systems are backward compatible with the 32 bit counterparts.

Will a 64-bit OS run a standard application on a 64 bit processor? Again, it will. This is because of backward compatibility.

Can I run W2K and WXP on an 64 bit CPU, and use old software? Yes, a 32 bit OS (W2K and WXP) will run on a 64 bit processor. Also, you should be able to run "old software" on a 64 bit OS.

It means the application has been compiled for a processor that has 16 bits of memory addressing or 32 bit of memory addressing. Same goes for 64 bit applications.

The number refers to the maximum amount of memory that the application can address.

See wikipedia - 16-bit, 32-bit, 64-bit (and more).

Dirk Wolfgang Glomp

The number(32 or 16 of the assembler directive of the addressmode (example "[use16]" and "[use32]")) does not refers to the maximum amount of memory that the application can address!

Because with the 80386+ it is also possible to use operandsize- and adresssize prefixes in combination with the 16 bit PM for to address up to 4 GB of ram.

(The maximum amount of memory that our application can be use is refering to the segment entries of the segmentsize inside of a GDT/LDT selector, or by the default size for a segment of 64 kb.)

The only one differnce between the 32 bit - and the 16 bit addressmode is the meaning and the usage of those operandsize- and addresssize prefixes.

[use16]

So if we want to use in the 16 bit addressmode 32 bit operands/addresses, then we have to add those prefixes to our opcode. Without those prefixes we can only use 16 bit.

[use32]

In the 32 bit addressmode we found a diametrical opposite situation, so if we want to use 32 bit operands/addresses, then we have to leave out those prefixes from our opcode and only if we want to use 16 operand/addresses, then we have to add those prefixes to our opcode.

If we use these size-directives above(or similar notation) carefully, then our assembler will do this job.

Operand size prefix in 16-bit mode

Dirk

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!