Recent Posts

Pages: 1 2 3 [4] 5 6 ... 10
Other Discussion / Re: Coding a command to run under DOS16, WIN32 and WIN64
« Last post by Maya69 on March 02, 2023, 03:39:37 AM »
16 Bit support will require enabling the NTVDM feature. To do so, press Windows key + R, then type: optionalfeatures.exe then hit Enter. Expand Legacy Components then check off NTVDM and click OK.Fragomen Connect
Other Discussion / Re: If Assemblers were actually Asses..
« Last post by debs3759 on March 01, 2023, 11:30:35 PM »
Interesting set of observations. Not sure I understand everything you wrote, but it made me chuckle :)
Other Discussion / If Assemblers were actually Asses..
« Last post by alCoPaUL on March 01, 2023, 09:24:28 PM »
Microsoft Macro Assembler - Micro and Macro a$$ meaning the Size of the a$$ is Just Enough and is soft.

Netwide Assembler - This is the DATASS aka the JLo and Iggy Azalea a$$es (wide and broad as the internet) and is currently being studied in DATASScience.

Turbo Assembler - a$$ built for Twerking. Highly approved.

Flat Assembler - As the name says and no one wants chicks with flat a$$es.
My advice would be DO NOT USE the uninstaller, period!


Please give it to me a shot but note no functional changes in these release.

I think now the uninstaller should process better and a user will be informed which files are to be removed.
Just a small fix into Windows deinstallation procedure but worth enough to release a stable version.

More or less active development will be concentrated on 2.10 series so only _really_ critical patches will go to 2.09 series.
CLFLUSH is a ring0 instrunction. If you are running MS-DOS you are using ring0...
Unless you are using a very old processor (before Core2), CLFLUSH is available.

BUT, to do a cleanup of L1I cache, I believe, isn't possible.
I didn't know you could do that. Only thing I can think would be to use NOPs to execute for as many cycles as needed. I use code modifiers as part of my CPUID code to differentiate between 8088 and 8086.
Programming with NASM / How do you refresh the instruction cache in 16bit programs?
« Last post by ben321 on February 28, 2023, 09:33:35 PM »
I know that in 32bit Windows (which uses 32bit protected mode) you call the Windows API function FlushInstructionCache. This forces the CPU to clear the instruction cache, and should be called immediately after any code to be executed gets modified (for self modifying code, such as compressed EXE files). How do you do the same thing in 16bit real mode (or for that matter in 16bit protected mode)?
See the instructions BTC, BTS, BSR and BSF.
Programming with NASM / Anyone come across information about optimizing this?
« Last post by Franciswalser on February 28, 2023, 11:49:53 AM »
I'm currently playing around with a 64-bit x86_64 kernel and am at the point where I need to do paging.
I've written bit arrays before in several languages but was wondering if there are more efficient ways to do
it in assembly.   It really only needs three operations:

1.  Set bit
2.  Clear bit
3.  Find first cleared bit

The set and clear bit functions are pretty straightforward, but the find first clear bit is a time hog. TellTims Survey

I've google'd for this, but keep finding information on bit masking word sized values and the like.  Plus, I'm sure
my google-fu is weak.

Anyone come across information about optimizing this?
Pages: 1 2 3 [4] 5 6 ... 10