• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Data transfer between data segments

chrstrbrts

Senior member
Hi,

Assuming that privilege levels work out, is the following or any variation of the following allowed on Intel machines:

mov es:[ebx], fs:[eax]

That is, can you reach across data segments to move, add, etc. arguments?

Thanks.
 
mov mem, mem isn't valid at all period. It's a CPU not a DMAC. Mov with mem as an operand is either a load or store not both, thus only one operand can be mem not both. Excepting special complex CISC opcodes like rep and movs_ that take many many cycles and perform many separate operations and bus cycles. You also only get one segment override prefix since you can't have two mem operands.

movs_ should work that way in pmode but DS and ES are implicit so you have to move your selectors there then restore them when finished.
 
Last edited:
You testing any of this yourself yet? You are getting in way too deep for someone who isn't even writing code and observing. An assembler would have told you instantly that mov mem, mem is invalid and you'd see it isn't in the opcode matrix.
 
mov mem, mem isn't valid at all period.

OK, but what about other machine instructions?

What about additions, subtractions, compare, etc?

Can those use two memory operands?

You testing any of this yourself yet? You are getting in way too deep for someone who isn't even writing code and observing.

I'm going about this in an extremely linear way (maybe it's my Asperger's).

I feel that I need to build a very strong foundation before I move onto anything else, and that includes programming.

I'm finishing Intel's big manual, and then I'm going to read it again just to make sure I get it down pat.

After that, I have a ton of other stuff to read.

I've got months, probably a year or more to go, before I start programming.
 
Back
Top