[comp.sys.ibm.pc] 386: looping with ecx

ray@ole.UUCP (Ray Berry) (06/29/89)

	I'm trying to write an ASM function for the 386 to execute in the
pc environment in which register ecx is used as a loop counter - the count
explicitly being greater than 2^16.  386 asm references I've looked at say
that the loop instruction DOES use ecx.  However, when I execute the func-
tion, the top half of ecx is ignored and the loop terminates prematurely.
	I'm suspicious that the operating mode of the cpu has something
to do with this, and/or that ecx can be enabled explicitly by using the
'OPSIZ' prefix... Does anyone have a grip on this?  Does masm support 
this prefix?  TASM?
-- 
Ray Berry  KB7HT uucp: ...{sumax|thebes|quick}!ole!ray     CIS 73407,3152
Seattle Silicon Corp. 3075 112th Ave NE. Bellevue WA 98004 (206) 828 4422

bobmon@iuvax.cs.indiana.edu (RAMontante) (06/30/89)

My TASM manual indicates that Borland's TASM1.0 does support the
extended form of the loop instruction (as well as other 80386-extended
opcodes).  The 32-bit or 16-bit form can be specified by using the
"loopd" or "loopw" mnemonic as desired.  The manual manages to imply
that MASM doesn't do this...

disclaimer:  I don't know what I'm talking about.