----------------------------------------------------------------------------- Regards, - Bruce ... Joe's Vet and Taxidermy: Either way, you get your dog back. --- GEcho 1.20/Pro * Origin: (1:363/319) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00002Date: 02/13/97 From: JOSH FISHER Time: 03:24pm \/To: NICK COONS (Read 3 times) Subj: Code/Data Cache? -=> Quoting Nick Coons to Josh Fisher on 11 Feb 97 <=- NC> Does "Pipeline Burst Cache" has a place in here? What is the NC> different between it and the other two? No, this is a hardware issue related to how data is transfered on the bus and how it is electronically stored in the cache chip. It doesn't affect programming. The newer cache technologies simply reduce access times, thereby reducing the number of wait-states that must be inserted to process transfers between L1 and L2 cache. --- __________________________________________________ ____| |____ \ | Joshua Fisher | / \ | Cincinnati, OH USA | / \ | | / / | jfisher@your-net.com | \ / |__________________________________________________| \ /______) (_______\ *SignIt 1.6* Signed on 02-13-1997 --- Blue Wave/386 v2.30 * Origin: StarNet Development Mason, Ohio USA (1:108/550) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00003Date: 02/14/97 From: NICK COONS Time: 07:27pm \/To: TED MENKS (Read 3 times) Subj: 486 MOV. Hi Ted! > NC> It doesn't say No OPeration, it says NOP :). > >> it is an op code for the computer to do nothing. > NC> So what's the point? Does it take any clock cycles? > Right! THaT's the point... and it does! :) > And therefor it's good for making the machine stop and wait for a while, > however short that while may be. But that's a horrible way to make a pause...it's VERY dependant on the speed of the processor. Nick Coons nick.coons@juno.com Dynamic Computer Systems --- FMail/386 1.02 * Origin: Dynamic Computer Systems (1:114/404) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00004Date: 02/14/97 From: TIKA CARR Time: 11:12am \/To: JOHN GARDENIERS (Read 3 times) Subj: monitor damage John Gardeniers was saying to Tika Carr on 02-11-97 07:57: TC> I couldn't resist this... ;) JG> As I couldn't... Check out the tagline. :-) JG> ... Computers run on smoke. They stop when it leaks out. Yup. True! Tika ___ Blue Wave/DOS v2.30 --- Platinum Xpress/Win/Wildcat5! v2.0GY * Origin: AutoMania! Williamson NY 315-483-9455 V34/VFC/HST (1:2613/601) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00005Date: 02/13/97 From: MIKE PHILLIPS Time: 06:22am \/To: NICK COONS (Read 3 times) Subj: Re: 486 MOV. -10 Feb 97 10:38:00- =Nick Coons babbled to Kevin Barrow about 486 MOV.= > it is an op code for the computer to do nothing. NC> So what's the point? Does it take any clock cycles? One clock. The point is usually to put the NOP as a place holder. For example, when a single pass assembler such as TASM encounters a forward jump, it will insert 5 NOPs and go back and fill it in with the appropriate opcode and operands when it resolves the address. If it was not a FAR jump, there will still be NOPs there, but they won't hurt anything. Running in multipass mode will allow TASM to strip out the extra NOPs. NOPs can also be used to remove functionality from a program without inserting any instruction that would modify registers, data, or flags. One common cracking method is to insert NOPs over the copy protection code. It does have legitimate uses, primarily in debugging and self-modifying code. For example, if you were debugging a program, and it called a routine that was not necessary for execution and you didn't want to debug through it, you could replace the jmp or call with enough NOPs to cover up the opcode and its operands from within the debugger. Even though it does nothing, it can be quite useful. The "official" NOP is 90h, which is the opcode for "xchg ax,ax". Mike Phillips INTERNET: phil4086@utdallas.edu ... The best audience is intelligent, educated & mildly drunk --- FMail 1.0g * Origin: oOo The Pit Viper oOo (1:124/2145) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00006Date: 02/14/97 From: MIKE PHILLIPS Time: 03:31am \/To: BALOG PAL (Read 3 times) Subj: Re: SHL. -10 Feb 97 02:02:48- =Balog Pal babbled to James Ranson about SHL.= BP> MOVSD works fine on any 16 bit processors that have that instruction. BP> 386SX is a good example. The 386SX is a 32-bit processor with a 16-bit data bus and a 24-bit address bus. Mike Phillips INTERNET: phil4086@utdallas.edu ... A woman in the buff is better than a diamond in the rough. --- FMail 1.0g * Origin: oOo The Pit Viper oOo (1:124/2145) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00007Date: 02/14/97 From: CRAIG HART Time: 09:09am \/To: ANTON TOKAR (Read 3 times) Subj: SEARCHM.ASM > ;Name: SEARCHM.ASM > ;Language: TASM 4.0 - MASM Mode (I hope that any other MASM-compatible > ; Assembler will do :) > ;Description: This short code detects a ms-compatible mouse without > using the > ; MS-Mouse API (Int 33h). > ;Author: Anton Tokar aka Spiceman What a LEGEND you are!! I've been trying to work this one out for _years_ .. THANKYOU THANKYOU THANKYOU!!! Got any other good hardware programming code? I've very much into writing hardware drivers, and have spent a long time reseaching things like sound cards, cd-rom drives, CPU's, ne-2000 cards, chipsets, etc etc and might be able to give you some help or code ?? Craig --- FMail/386 1.0g * Origin: Communications Barrier BBS (03) 9585 1112, 24hrs (3:632/533) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00008Date: 02/14/97 From: JOHN GARDENIERS Time: 02:22pm \/To: GARY SMITH (Read 3 times) Subj: Segment registers Hi Gary, -=> 10 Feb 97 01:01, Gary Smith wrote to John Gardeniers <=- >> valid soundi names. The reason I could easily enough accept the >> "meaning" of FS is that original segment registers don't follow >> the alpha sequence, unlike the offs registers. GS> registers have no dedicated functions. Note that, excluding the GS> stack segment, we have CS, DS, ES, FS, and GS. Looks like a GS> sequence to me. CS = Code segment DS = Data segment ES = Extra segment (called that, because String segment would cause a conflict with SS) SS = Stack segment FS = ?? GS = ?? Viewed in that manner I'd easily enough accept logical sounding names for FS and GS, although that doesn't necessarily imply they have names. The first three segment registers appear to fit both the explanations perfectly well but one thing strongly against the "following the alphabet" argument is the lack of AS and BS. That's not to say that the same applies to FS and GS of course. Exactly the same logic can be applied to the offset registers. There appears to be a simple following of the alphabet, until we get to BP, which I'd overlooked in my previous message. :-( ttyl, >>> Fuse >>> ... TV Truth: The last 5 min. of any show will be 20 min. with commercial --- GoldED 2.50+ * Origin: The Cubby House, assembled by hand (3:632/360.70) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00009Date: 02/14/97 From: JOHN GARDENIERS Time: 03:28pm \/To: HUGH NOLAND (Read 3 times) Subj: A86 problem Hi Hugh, -=> 10 Feb 97 11:01, Hugh Noland wrote to All <=- HN> cseg segment HN> assume cs:cseg HN> begin: HN> mov ax,dseg HN> mov ds,ax HN> This code aseembles correctly with TASM into an .EXE file, and runs HN> as expected. A86 incorrectly assembles it into a .COM file which does HN> not execute properly because the first two lines of code cause A86 HN> to place 0 in DS. If you comment out the first two lines of code A86 A86 will assemble source such as that to a COM file unless told otherwise. This is the way it's intended, rather than a bug. To create an EXE file you need to tell A86 to assemble to an OBJ file and then run your linker over it. The result will be an EXE file. TASM also does it that way, although the process is (I'm guessing) transparent to you. I hazard a guess that TASM calls the linker itself, so that you don't have to do that part manually. There are arguments for and against both methods. To avoid trying to remember the correct command line switch to use when assembling to an OBJ file just use the "to" switch. e.g. "A86 test.asm to test.obj". That's a lot easier to remember, especially if you don't use he program a lot. Personally, unless you absolutely *must* have an EXE file, I'd go for the more compact COM file anyway. ttyl, >>> Fuse >>> ... When I think of all the good times I wasted having fun. --- GoldED 2.50+ * Origin: The Cubby House, assembled by hand (3:632/360.70) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2K00010Date: 02/14/97 From: JOHN GARDENIERS Time: 03:25pm \/To: NIMA HODA (Read 3 times) Subj: programming TSRs Hi Nima, -=> 11 Feb 97 16:40, Nima Hoda wrote to All <=- NH> Does anyone know how to program a TSR? Yes. :-) What *specifically* do you need to know? It's a fairly large subject when taken as a whole. You are talking about DOS, aren't you? ttyl, >>> Fuse >>> ... Don't question authority; it doesn't know either. --- GoldED 2.50+ * Origin: The Cubby House, assembled by hand (3:632/360.70)