The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,860 other subscribers

Archive for the ‘Assembly Language’ Category

dasm – macro assembler for 8-bit machines

Posted by jpluimers on 2026/03/04

Finding a reference to DASM while researching yesterday’s post @jpluimers on Twitter: “@b0rk @jilles_com Acids vs bases.”, it felt even more like a trip like memory lane as I had used it in the 1980s on Apple ][ and Apple //e after mainly using EDASM. Lisa and Merlin.

I am glad that it is still alive and kicking with home page at [Wayback/Archive] dasm – macro assembler for 8-bit machines and repository at [Wayback/Archive] dasm-assembler/dasm: Macro assembler with support for several 8-bit microprocessors.

Especially this history section on the home page rang a bell:

  • Matthew Dillon started dasm in 1987-1988.
  • Olaf “Rhialto” Seibert extended dasm in 1995.
  • Andrew “Dr.Boo” Davie maintained dasm in 2003-2008.
  • Peter Fröhlich maintained dasm in 2008-2015.
  • In 2019, the dasm source code and releases were moved to GitHub.

More links from this trip down memory lane:

Read the rest of this entry »

Posted in //e, 6502 Assembly, Apple, Apple ][, Assembly Language, Development, History, Power User, Software Development | Leave a Comment »

Why octal is important (via @jpluimers on Twitter: “@b0rk @jilles_com Acids vs bases.”)

Posted by jpluimers on 2026/03/03

A few years back I tweeted [Wayback/Archive] Jeroen Wiert Pluimers @wiert@mastodon.social on Twitter: “@b0rk @jilles_com Acids vs bases.”

Ph scale of acids vs bases.

It was a kind of tongue-in-cheek reaction (with a way better picture below) to a very valuable post by b0rk (Julia Evans) on both Twitter and Mastodon [Wayback/Archive] Julia Evans on Twitter: “bases” / [Wayback/Archive] Julia Evans: “bases title: bases # we usually…” – Mastodon for two reasons:

  1. There are various interpretations of bases
  2. Octal is very important to educate as errors introduced by its support are hard to spot even if you do know about octal.

Back to Julia’s post:

Read the rest of this entry »

Posted in *nix, *nix-tools, 68k, 8086, Assembly Language, bash, bash, C, C++, Chemistry, Conference Topics, Conferences, Development, EPS/PostScript, Event, Haskell, History, Java, Java Platform, JavaScript/ECMAScript, Jon Skeet, LifeHacker, Mathematics, PDP-11, Perl, PHP, Power User, Python, science, Scripting, Software Development, x86 | Leave a Comment »

Some lesser known achievements of Phil (Philip A.) Kaufman

Posted by jpluimers on 2026/02/10

Sometimes Wikipedia entries are way too short, for instance Philip A. Kaufman – Wikipedia, who in 1992 – at the age of around 50 – died way to early, does not do justice to his time at Intel.

His name rang a bell when searching for early Intel 8087 documentation distributed via LISTSERV, so below is a bit more information on Phil.

True, his life after Intel was very important especially on the front of electronic design automation. That in fact sparked the posthumous instantiation of the Phil Kaufman Award which you can read for instance at [Wayback/Archive] The Phil Kaufman Award Dinner Is Later this Month. Who Was Phil Kaufman? – Breakfast Bytes – Cadence Blogs – Cadence Community.

After his floating-point endeavours at Intel and the IEEE, he was also very instrumental at Intel in finding another big market for silicon: network controller chips (and getting the Ethernet standard going: think DIX (Digital/Intel/Xerox) [Wayback/Archive] Ethernet Blue Book (1980) which was named that way earlier than the PostScript Blue Book (1986) and CD Blue Book (1986)).

This period is very well described in the [Wayback/Archive] 1988 Computer History Museum interview of Phil Kaufman by James L. Pelkey (via [Wayback/Archive] Phil Kaufman | History of Computer Communications).

Back to floating point: Phil’s post from 1987 way better describes what early processor technologies at Intel he was involved with than the above links. That period was instrumental in getting IEEE_754-1985 going (it was released way after the 8087!) and still shapes the floating point aspects of almost any CPU from any vendor today so I quote it in full from [Wayback/Archive] Info-IBMPC V6 #59:

Read the rest of this entry »

Posted in 8086, 8087, 8087, 8088, Algorithms, Assembly Language, Development, Floating point handling, History, x86 | Leave a Comment »

Bit by Bit – Exploring Low-Level Programming on the Apple IIe | decuser’s blog

Posted by jpluimers on 2026/02/05

At the time of posting [Wayback/Archive] Bit by Bit – Exploring Low-Level Programming on the Apple IIe | decuser’s blog in 20251010, four episodes were up at [Wayback/Archive] Bit by Bit – Exploring low-level programming with an Apple IIe – YouTube which at the time of archiving at the end of October 2025 already got 10 episodes.

Hopefully by now – some 2 months later – the list has grown even further.

Via [Wayback/Archive] Bit by Bit – Exploring Low-Level Programming on the Apple IIe | Applefritter who explains further than the blog post:

Read the rest of this entry »

Posted in //e, 6502, 6502 Assembly, Apple, Assembly Language, Development, History, Power User, Retrocomputing, Software Development | Leave a Comment »

Online x86 and x64 Intel Instruction Assembler

Posted by jpluimers on 2025/11/25

[Wayback/Archive] Online x86 and x64 Intel Instruction Assembler

The source starts in these two files:

Read the rest of this entry »

Posted in Assembly Language, Conference Topics, Conferences, Development, Event, Software Development, x64, x86 | Leave a Comment »

What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024 – YouTube

Posted by jpluimers on 2025/09/10

[Wayback/Archive] What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024 – YouTube

Main takeaways for me:

  • CPU pipelines have grown a lot longer than I was aware off
  • there are many more internal registers than I was anticipating
  • clever ways to convert if statements to non-jumps

--jeroen

Posted in .NET, Assembly Language, C, C#, C++, Delphi, Development, Python, Scripting, Software Development | Leave a Comment »

A signal of the future WebAssembly/emscripten is giving us: a database served on a static web page

Posted by jpluimers on 2025/04/17

From a quite a while back; apparently it ended up in the drafts in stead of the blog queue:

[Wayback/Archive] Ian Miell on Twitter: “A signal of the future WebAssembly/emscripten is giving us: a database served on a static web page: … The possibilities are dizzying. Also, I’ve thought for a while that if I had to put money on it, SQLite will outlast every other database out there.”

The combination of Emscripten and WebAssembly is cool as it allows you to run C/C++ based code in most Web Browsers at near-native speed (though the standard is open and can just as easily outside that realm).

[Wayback/Archive] Hosting SQLite databases on Github Pages – (or any static file hoster) – phiresky’s blog:

Read the rest of this entry »

Posted in Assembly Language, Database Development, Development, JavaScript/ECMAScript, Scripting, Software Development, SQLite, Web Development, WebAssembly | Leave a Comment »

Run Windows 3.1 in True-Colour Full HD: GitHub – PluMGMK/vbesvga.drv: Modern Generic SVGA driver for Windows 3.1

Posted by jpluimers on 2025/04/09

This is soooo cool: [Wayback/Archive] GitHub – PluMGMK/vbesvga.drv: Modern Generic SVGA driver for Windows 3.1

Modern Generic SVGA driver for Windows 3.1
This is a rewrite of the Windows 3.1 SVGA driver, designed to support ALL available 8-bit, 16-bit, 24-bit or 32-bit graphic modes on any system providing the VESA BIOS Extensions (hence the VBE in the name). It is based on the Video 7 SVGA driver included in the Win16 Driver Development Kit, with most of the hardware-specific code gutted out, and with support added for multi-byte pixels.

Related:

It reminds me of other endevours to keep retro-software easy to use: Read the rest of this entry »

Posted in Assembly Language, Delphi, Delphi 1, Development, Power User, Software Development, Windows, Windows 3.11, x86 | Leave a Comment »

For my link archive: Counting the leading zeroes and ones in a binary number with C#

Posted by jpluimers on 2025/03/13

From a while back, but still interesting:

  1. [Wayback/Archive] Counting the leading zeroes in a binary number with C#
  2. [Wayback/Archive] c# – Getting the number of leading 1 bits – Stack Overflow (thanks [Wayback/Archive] Barry Kelly and [Wayback/Archive] SoapBox)

Especially the first link explains the algorithm very well and is similar to links referred to from the Stack Overflow question as it is based on counting ones (and leading ones are basically leading zeros but bit-inverted).

It also explains a cool thing for leading zeros: modern CPU have instructions which .NET Core.

Read the rest of this entry »

Posted in .NET, AArch64/arm64, Algorithms, ARM, Assembly Language, C, C#, C++, Delphi, Development, Software Development, x64, x86 | Tagged: , , | Leave a Comment »

Raymond Chen on The AArch64 processor (aka arm64) in many parts

Posted by jpluimers on 2025/01/14

For my link archive: below a series of articles my Raymond Chen on “The AArch64 processor (aka arm64)” in the order of appearance from a few years back and still very relevant today.

It is part of a few more series on processors that (were) supported by Windows. A good reference to find which version supported which processor architecture is the tables in List of Microsoft Windows versions – Wikipedia.

Read the rest of this entry »

Posted in AArch64/arm64, ARM, Assembly Language, Development, History, MIPS R4000, PowerPC, Software Development, The Old New Thing, Windows Development, x64, x86 | Leave a Comment »