Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!n8emr!bluemoon!andy From: andy@bluemoon.uucp (Andy Vaught) Newsgroups: comp.os.msdos.programmer Subject: Re: Segment overrides - TAMS bug??? Message-ID: Date: 5 May 91 14:52:34 GMT References: <1991May3.063740.10187@ugle.unit.no> Sender: bbs@bluemoon.uucp (BBS Login) Organization: Blue Moon BBS ((614) 868-998[0][2][4]) Lines: 26 rmich@Lise.Unit.NO (Rolf Michelsen) writes: > > I have a problem with TAMS version 2.0. Has anybody tried to use > segment overrides in any of the string instructions?? I am trying > to move data from ES:SI to ES:DI with REP MOVS [byte es:si],[di] but > did it work? NO :-( As far as I know it is possible to use segment Segment overrides are indeed allowed with MOVS, and if you can't figure out how to get it on one line, you can use two lines: seges rep movsb Unfortunately, using a segment override with a rep prefix, while legal, is not a good idea. On the 8086, if an interrupt occurs, the 8086 forgets about one of the prefixes-- the REP prefix, I think. So what happens is the interrupt service routine executes, returns to the string move, and thinks its done (CX is nonzero). This is fixed on the 80386, and I'm not sure about the 80286. ------------------------------------------------------------------ Andy Vaught (Fuzzy Andy) :: C Code. C Code Run. Run C code, Run... Grad Student on Vacation :: before I whip out my 12-Gauge andy@bluemoon.uucp :: Dynamic Debugging Tool!