3 ms·
MS-DOS v1 didn't have an assembler in debug.exe (or was it .com?) so the only way to author machine code on a 5150 with no extra dev tools was to code it on pap
by 13of40 4y ago
MS-DOS v1 didn't have an assembler in debug.exe (or was it .com?) so the only way to author machine code on a 5150 with no extra dev tools was to code it on paper, translate it by hand, and enter it in hex.
- susam 4y agoYou are right. It was DEBUG.COM. Indeed it did not have an assembler. It had a disassembler though. An archived copy from MS-DOS v1.25 can be found here: https://github.com/microsoft/MS-DOS/blob/master/v1.25/bin/DEBUG.COM https://github.com/microsoft/MS-DOS/blob/master/v1.25/bin/DE... C:\>DEBUG.COM -A ^ Error -N HELLO.COM -L -U 100 107 0340:0100 B409 MOV AH,09 0340:0102 BA0801 MOV DX,0108 0340:0105 CD21 INT 21 0340:0107 C3 RET - There is another copy of the debugger for MS-DOS v2.0 here: https://github.com/microsoft/MS-DOS/blob/master/v2.0/bin/DEBUG.COM https://github.com/microsoft/MS-DOS/blob/master/v2.0/bin/DEB... This one does does have an assembler. C:\>DEBUG.COM -A 0482:0100 MOV AH, 2 0482:0102 MOV DL, 41 0482:0104 INT 21 0482:0106 RET 0482:0107 -N A.COM -R CX CX 0000 :7 -W Writing 0007 bytes -Q C:\>A A C:\>
- WalterBright 4y agoHere's a one file disassembler for x86 and its successors: https://github.com/dlang/dmd/blob/master/compiler/src/dmd/backend/disasm86.d https://github.com/dlang/dmd/blob/master/compiler/src/dmd/ba... The fun thing to do with it is send it your name and have it disassemble it. (I use it to check the object code generated by the compiler. Instead of pretty-printing the instruction stream, it disassembles the binary object code. This helps to find mistakes in either the code generation or the disassembler, as they must match.) Anyhow, feel free to incorporate it into your obj file dumper, exe file dumper, debugger, or any tool that can benefit by examining code.
- deleted 4y ago[deleted]