An Assembler-Aufrufen wird man bei der Entwicklung von Betriebssystemen nicht vorbeikommen, da kann man sich noch so sehr auf den Kopf stellen. Gerade aus dem Grund, dass Dinge wie Treiber und Bootloader so hardwarenah programmiert werden müssen, dass C oder andere Hochsprachen nicht mehr geeignet sind.
Allerdings ist das hier genannte Beispiel der prinft-Funktion aus der Standardbibliothek von den gängigen C-Compilern auch größtenteils ohne Assembler-Aufrufe machbar. Das einzige, was man braucht, ist Schreibzugriff auf den für die Grafikausgabe reservierten Speicher - und an diesen kommt man mit C relativ einfach, wenn man Pointer einsetzt.
Andererseits ist es bei Pascal und davon abgeleiteten Sprachen so, dass das printf-Äquivalent nicht aus einer dynamisch ladbaren Bibliothek stammt, sondern direkt zum Sprachumfang gehört. Mit anderen Worten: Die Textausgabe auf Bildschirmen oder anderen Geräten ist bei Pascal Bestandteil der Grundausstattung der Sprache selbst. Ob das aber in diesem Fall auch funktioniert, kann ich dir nicht sagen.