Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

Need help with DPMI function 301h (Developers)

posted by marcov(R), 24.08.2019, 18:18

> >
> > Why? It is valid code. It moves the value of variable r into edi.
>
> Ok, there is no "official" assembler standard, so it's a bit vague here.
>
> For the MASM family of assemblers, the line "mov edi,r" would indeed load
> the CONTENT of data label "r" into EDI. However, since these assemblers do
> size checks, they will report an error like "sizes don't match", because
> variable "r" has a size of 32h bytes.
>
> For the NASM family of assemblers, the line "mov edi,r" usually will load
> the ADDRESS of data label "r" into EDI.

Freepascal is originally primary AT&T (GNU AS). Early on the assembler mode was just passing it through to the backend assembler. In the late nineties intel mode was added, mostly based on NASM tables.

But things like this (interaction with Pascal identifiers) is mostly Borland Pascal/Delphi (BASM) style.

This goes for the primary x86/x86_64 targets. The 16-bit x86 is afaik more styled after watcom, and e.g. PowerPC probably more to OS X' proprietary AS

 

Complete thread:

Back to the forum
Board view  Mix view
15949 Postings in 1475 Threads, 271 registered users, 96 users online (0 registered, 96 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum