Category : Assembly Language Source Code
Archive   : MD8612.ZIP
Filename : CMP.002
Output of file : CMP.002 contained in archive : MD8612.ZIP
Device setup. undefined. I/O redirection options. Get prgrm segment prefix addr. Break point interupt.ed. Wait for TEST line active. Push flag register.ined. Pop flag register.fined. Store reg AH into flags. Load reg AH from flags.. Lock the buss for next instrn. Interupt if overflow flag set. Convert byte (AL) to word (AX).Cvrt (AX) to dbl word (DX,AX). Wait for next interupt.. Compilment carry flag.d. Load DS:rg with 32b pointer. Load ES:rg with 32b pointer. Clear the carry flag.ed. Set the carry flag.ined. Disable interupts.fined. Enable interupts.efined. Set forward direction flag. Set backward direction flag. Move b/w, (SI)+/- to (DI)+/-. Compare strings.ndefined. Xlat (AL) using table at (BX). Store b/w in (AX) in (DI)+/-. Load (AX) with b/w at (DI)+/-. Compare b/w in (AX) & (DI)+/-. Decimal adjust for addition. Decimal adjust for subtraction.Ascii adjust for addition. Ascii adjust for subtraction. Display control interupt. User defined interupt.ed. Ascii adjust for division. Ascii adjust for multiply. Return from interupt.ned. Dec CX, loop if NZ and CX<>0. Dec CX, loop if Z and CX<>0. Dec CX, loop if CX<>0.ed.
Jump if CX=0., undefined. *** FAR RETURN ***efined. Allow co-processor operation. Comment # 123, undefined. Comment # 124, undefined. Comment # 125, undefined. Comment # 126, undefined. Comment # 127, undefined. File Comparison Utility. Get beginning of data storage area. Point DS to it. Point to end of storage area. How far into code segment? Allocate sufficient memory. ...Okay. Not enough memory, abort. Message at DX is relative to CSMake it relative to DS. Terminate at error level 1. Set up the stack pointer now. Equate extra segment and data segment. Point to start of command line.Get length of parameters. Length into CX. Try an open the first file. Now try the second file. Get size of file #1 (32b). Get size of file #2 (32b). Compare the lengths. ...not the same. Maybe, chekc high words. Maybe, check high words. ...Both the same. Maybe, check low words. Maybe, check high words. Keep file#1 as shortest. Write message to STDOUT. Read block from file. Hexadecimal trans table. Error messages. Filler so data at paragraph boundry. Open a file at DI. Skip leading spaces. Jump if CX=0, end of string. More spaces. ...yep. Skip spaces here too. Find end of string. Mark end of string. Let DOS open the file. ...not there. Save char count. Save file handle. Long seek function. Record 0. Store file size. Set offset to 0. Move file pointer command. Offset to 0 again. Now move to end of file. Display file err message and exit. Display AL as a hex digit. Use translate table. Display DX as a hex word. Use translate table method. First high nybble. Now the low nybble. Prepare for the lower byte. High nybble. And lower nybble. Write first file size. Now say sizes are different. Set default block size. Get current position. All done? Not yet for sure. Keep checking. ...yep, then terminate. Limit to buffer size. Save length. Read in the first file. Now read the second. Compare the two buffers. ..no differences. They are different here. Print message then. Point to bytes. Get first byte. Now get second into (AL). Compute offset. Compute offset into buffer. Write the offset. Write byte from first file. Now byte from second file. Length of message MsgDiff. Continue looking for diffs. Done with this block. Move on to the next one. Exit to dos, errorlevel 0. ...error? ...error? Say we ran into an error wrtng....error? ...error?
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/