ASM ist ansich purer Machinencode. Die Ausssage kann man als Wahr nehmen, weil ein Assembler jeden ASM-Befehl in genau einen Maschinenbefehl umsetzt.
Das heisst also, was du in ASM codest, das kommt auch bei Dissassembeln wieder raus.
Die Eingabeaufforderung muss nicht in ASM geschrieben sein. Aber zumindest ein paar Dinge zur Vorbereitng müssen in ASM realisiert werden.
So müssen zumindest mal interrupt-Handler für das Keyboard geschrieben sein. Und die benötigen auf jeden Fall assembler.
Wenn du erstmal die nötigen Funktionen für den Zugriff auf Platte/Diskette, das lesen und erstellen eines Dateisystems und das auslesen des Keyboardpuffers realisiert hast (das benötigt alles irgendwo ASM), DANN ist es sinnvoll eine Shell zu bauen. VOn dieser aus kannst du dann die nötigen ASM-Funktionen von einem C-Code aufrufen.