🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #10371

Re: Loop instructions

#10371
From: Donald Lindsay
Date: Sun, 21 Apr 1991 18:13
16 lines
1212 bytes
In article <1991Apr16.152438.3445@waikato.ac.nz> 
	ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
>On the 68000 family, the DBcc loop instructions decrement the 16-bit count
>register and stop looping when it reaches -1 (or 65535), not 0.

Compiler writers dislike this instruction, but not because of the
test semantics. The killer is that the count is 16 bits, on a machine
where variables and expressions are naturally 32 bits. This means
that the compiler can only use the instruction when it possesses
range information. 

A sophisticated compiler (with optimization enabled) can often deduce
ranges. However, when that machine came out, the instruction was
essentially only usable by assembler programmers.
-- 
Don		D.C.Lindsay 	Carnegie Mellon Robotics Institute
Technical Details
Message-ID: <12739@pt.cs.cmu.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!uwm.edu!rpi!batcomputer!cornell!rochester!pt.cs.cmu.edu!gandalf.cs.cmu.edu!lindsay
References: <1991Apr16.152438.3445@waikato.ac.nz>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!uwm.edu!rpi!batcomputer!cornell!rochester!pt.cs.cmu.edu!gandalf.cs.cmu.edu!lindsay
From: lindsay@gandalf.cs.cmu.edu (Donald Lindsay)
Newsgroups: comp.arch
Subject: Re: Loop instructions
Message-ID: <12739@pt.cs.cmu.edu>
Date: 21 Apr 91 18:13:04 GMT
References: <1991Apr16.152438.3445@waikato.ac.nz>
Organization: Carnegie Mellon
Lines: 16