;----------------------------- ; TSR Initialization code follows. ; This portion doesn't stay resident. ;----------------------------- Init: mov dx,offset Msg ; Prints the hello message. mov ah,09h int 21h mov bx,02Ch ; Release the environment memory. mov es,[bx] mov ah,49h int 21h mov ah,35h ; Get old vector and store it. mov al,Hook int 21h mov word ptr [Old_Int],bx mov word ptr [Old_Int+2],es mov ah,34h ; Get address of DOS Busy flag. int 21h mov word ptr [InDOS],es mov word ptr [InDOS+2],bx mov al,Hook ; Change the target vector. mov dx,offset New_ISR mov ah,25h int 21h mov dx,offset Init ; Allocate TSR memory int 27h ; and exit to DOS. Msg db 13,10 db 'TSR shell installed.',13,10 db 13,10,36 cseg ends end Begin --- timEd 1.01 * Origin: James Vahn (jvahn@short.circuit.com) (1:346/15.1) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2J00000Date: 02/14/97 From: BARRY BLOCK Time: 02:50am \/To: CRAIG HART (Read 4 times) Subj: monitor damage Hello Craig, CH> ...capacitors go low or open circuit, never high in value). IMHO, this is a little unclear, Craig. I believe you mean, the dc resistance (quality factor) can go lower. (higher leakage) Especially electrolytics or the old paper caps (yech). I believe the ac resistance certainly can go higher. (lower capacitance) Kind regards, Barry * Origin: EBO-BBS A'dam +31-20-6002828 (2:280/901.42) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2J00001Date: 02/12/97 From: TOM TORFS Time: 01:56pm \/To: NICK COONS (Read 4 times) Subj: SHL. * Reply to a message in personal_mail. Nick Coons wrote in a message to Tom Torfs: > For 386+, use SHLD (but then you could simply use EAX as well). NC> Is there a special 32-bit version of every instruction for NC> use with extended registers? Example: SHLD as opposed to SHL. No no, SHL EAX,xx is simply the 32-bit version of SHL AX,xx. SHLD is especially designed for the purpose of shifting combined registers (e.g. an emulated 64-bit integer using EDX:EAX). greetz, Tom tomtorfs@www.dma.be --- timEd/2 1.10+ * Origin: 80X86 BBS 32-15-24.62.32 V.34/V.FC (24h/24h) (2:292/516) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2J00002Date: 02/13/97 From: TIKA CARR Time: 11:12am \/To: CRAIG HART (Read 4 times) Subj: monitor damage Craig Hart was saying to Tika Carr on 02-11-97 08:08: I got another question, since you're good with monitors. This is regarding the CTX CVP-5439A 14" .39dp SVGA analog (Tri-sync) color monitor. Since new, its made noises (which is normal) that I was always curious about, but nobody has been able to explain technically what the noises are from. They are: - power up "broomph" like a motor starting or something. I can't explain it exactly, but sometimes on power up it makes a low-pitched noise. Is that that Startup pulse provider you mentioned? Is that what is powering up? - The old familiar "mode change tweets" - CRT tube adjusting to mode or scan frequency adjuster of some kind?? - The "clicks" during some mode changes (I think this is from high to lo res. The tweet from low to high res, or maybe I have that backwards). This is some kind of relay to change mode back? I was just curious what those are. I know if I DIDN'T hear them I'd become extremely worried (espeically if the power-on noise didn't happen when I turned the monitor on after its been setting more than an hour...) RE: High Voltage OUCH! That tube we look at? Sheesh! Wonder why they need so many volts to operate the screen display? May be the number of times the color guns have to fire, huh? And how fast it has to do so (ie. scanning frequency). CH> Servicing safely is a combination of: Good advice! I've worked on "live" computers before. You just have to follow one rule - STAY AWAY FROM THE POWER SUPPLY! Don't touch it to "ground" yourself (or you just may - literally - if something malfunctions). So many installation instructions say "leave computer plugged in, but turned off. Touch the power supply to discharge static in your body." IMHO, WRONG! That's asking for trouble. Anti-static wrist straps, which you can safely screw into a power strip's ground are only less than $5 at Radio Shack. I tell folks to UNPLUG the machine and use the wrist strap when installing cards (like sound cards, memory, modems, etc). That is the safest. For I think $7 they have anti-static squares you can set a card on so you can set the card aside while working in the machine. Inexpensive, safe solutions. I wish computer manuals would stop preaching unsafe working habits. CH> safety devices & practices such as isolation transformers, CRT CH> dischargers, capacitor dischargers, eye protection, and TEST before CH> TOUCHtechniques. Ah... so you DO have protective devices, much like the electric company workers have when working on high voltage power lines? I have been doing electronics since age 7 (23 years, about) and soldered stuff at age 7. I learned very early on the value of respecting electricity. How many times I would be fascinated with the inside of a Tube TV set (then color when we got one) when Dad had to fix it or change the tubes. He'd always yell to get away from the TV. After awhile he gave up and said "See this? Don't touch it or it'll kill you..." that wasn't just a threat to keep curious kid's fingers out of his work! And I took heed of the warning. If it plugged in, DON'T touch the circuits. My dad did lots of repairs so I always saw the insides of stuff. I'd look, ask questions, and learned how things worked. I used to use the ratings on Radio Shack kits to see what I could safely explore next. I'd do the kits and learn from them. When I got to high school, we did a cource on house wiring. Then I learned some more on AC electricity and from there, I knew enough to work on AC-powered stuff. I learned the #1 rule of electronic repair: If you are not sure, DON'T DO IT! Have someone else do it. I usually ask someone who knows and if I still am not sure about poking into the unit, I take it to someone who has done lots of that type of work and have THEM do it. Either that or buy another, or (more often than not) make do without the unit. Tika ___ Blue Wave/DOS v2.30 --- * KMail 3.10o Knight Moves --- QScan/PCB v1.17b / 01-0406 * Origin: Knight Moves - Rochester,NY 716-865-2106 (1:2613/313) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2J00003Date: 02/13/97 From: JOE KOSS Time: 01:48am \/To: BUD RASMUSSEN (Read 4 times) Subj: Re: NASM > nick - i believe that one of NASM's authors goals was to create an > assembler that would be able to assemble for several different > systems and so maybe that is why it is sticking to commands or > VERY limited directives - Actualy .. the authors didn't like the number of directives in masm ..they would rather have few options and some uglier syntax... --- GEcho 1.02+ * Origin: Midnight Madness <-> Hartford, CT (1:142/8076) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2J00004Date: 02/13/97 From: JOE KOSS Time: 01:55am \/To: CRAIG HART (Read 4 times) Subj: Re: SHL. > JK> > Note that this only works for unsigned numbers, since there > JK> > rotate-arithmatic instruction... RAL would have been nice :- > JK> Exactly what would RAL do that ROL doesn't? > > Allow you to rotate signed numbers, without losing the sign-bit. And how do you do that? Please diagram such an operation. (sooner or later, you will get it) > ROLL? I don't recall mentioning anything to do with ROLL?? Perhaps > you mean ROL? If you are trying to say that ROL and arithmetic > shift are contrary, well yes they are.. THAT was my entire point. But you want to COMBINE roll and arithmetic shift ... how are you going to do that? Please diagram such an operation. When you do, you will realize how stupid such an instruction would be. (Since it either does a arithmetic shift, or a roll... no combination can be made) You want to create "RAL" and "RAR" .. Rotate Arithmetic Left, and Rotate Arithmetic Right .. diagrams please! --- GEcho 1.02+ * Origin: Midnight Madness <-> Hartford, CT (1:142/8076) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2J00005Date: 02/13/97 From: JAMES RANSON Time: 05:09pm \/To: KEVIN BARROW (Read 4 times) Subj: SHL. On Feb 09 03:25, 1997, Kevin Barrow wrote: NC>>> I have this line in a program: NC>>> shl dx:ax, 9 JR>> [code deleted] KB>> I don't think that would work, He want to Move the values of the low end KB>> of DX into the hi end of AX so code like this I think would be more KB>> suitable: JR>> Hmmm....How are the bits of ax and dx alligned in the 32-bit value? I JR>> thought it was like the following diagram: JR>> 31 24 23 16 15 8 7 0 JR>> |------| |------| |------| |------| JR>> DH DL AH AL KB> That is what I am thinking, I am not an expert, In fact I am just KB> learning. but your code didn't look like it would work.. I have been programming in asm for almost a year now, but I guess that does not make my code right. Here is my code again, followed by a defense/explanation: shl dx, 9 ; shift the bits in dx left 9 places push ax ; save ax shr ax, (16 - 9) ; shift the bits in ax right 7 places or dx, ax ; put the former high-order bits of ax into the ; low-order bits of dx pop ax ; restore original ax shl ax, 9 ; shift the bits in ax left 9 places The task is to shift dx and ax left by 9 bits. The trick is to make the high-bits of ax carry over into dx, whereas they would normally be lost. In my code, dx is shifted immediately. AX, however, must be manipulated, so it is first saved on the stack with "push ax". Then, I shift AX right by 7 bits, thus PRESERVING the 9 highest bits in the lower end of the register. AX now serves as a bit mask and ORing DX with AX puts the formerly high bits of AX into the low end of DX -- filling the gap left by "shl dx, 9". AX is then restored from the stack and shifted left 9 places. I hope this helps. James --- Msged 4.00 * Origin: Regina, SK (Ask me about Popup Slate) (1:140/234.2) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2J00006Date: 02/13/97 From: JAMES RANSON Time: 05:18pm \/To: NICK COONS (Read 4 times) Subj: SHL A while back you asked about how to shift DX:AX left by nine places. Based on the discussion that has already occurred about the subject, I have come up with a couple of possible ways to do it (other than the one I posted previously): Method 1: Using Extended Register (result in EDX) shl edx, 16 ; put dx into the high word of edx mov dx, ax ; put ax into the low word of edx shl edx, 9 ; shift edx (DX:AX) left by nine places Method 2: 8 and 1 Shift (8086 compatible) mov dh, dl ; These four lines shift DX:AX left by 8 bits mov dl, ah ; simply by switching the bytes around. mov ah, al ; xor al, al ; shl ax, 1 ; Shift ax left by 1 (ejected bit in carry flag) rcl dx, 1 ; Shift dx left by 1, bringing the carry flag nto ; the least significant bit James --- Msged 4.00 * Origin: Regina, SK (Ask me about Popup Slate) (1:140/234.2) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: E2J00007Date: 02/13/97 From: STEVEN READ Time: 11:33pm \/To: NICK COONS (Read 4 times) Subj: 486 mov. NC> ========================================================== NC> Packet: PC-OHIO NC> Date: 02-09-97 (09:18) Number: 10825 NC> From: NICK COONS Refer#: NONE NC> To: BARRY BLOCK Recvd: NO NC> Subj: 486 MOV. Conf: (708) 80XXX-F