|
![](/i/fill.gif) |
Warp wrote:
> Darren New <dne### [at] san rr com> wrote:
>>> Just because the 16-bit operations are performed on pairs of 8-bit
>>> registers that doesn't make it any less of a 16-bit operation.
>
>> OK. I guess we're just disagreeing about whether that ability makes a
>> CPU an "8-bit CPU" or a "16-bit CPU".
>
> IMO "16-bit CPU" means "can perform most calculations on 16-bit values
> with single opcodes".
I'm pretty sure the 8080 at least was not like that.
Hmmm... A quick google shows opcodes like "add hl,bc" and such, as well
as some subtracts, but many more opcodes for 8-bit than 16-bit ops. (And
some extra prefix codes for IX and IY, yes.) The accumulator, for
example, was 8 bits, and (IIRC) you couldn't load a 2-byte address into
a two-byte pointer register unless it was an absolute address.
The 8080 had no such opcodes at all, from what I can see (and what I
remember). I probably stopped programming in assembler before the Z80
was widespread enough you could just rely on it being there instead of
an 8080. :-)
> Could you calculate eg. additions and substractions using 16-bit values
> with single opcodes?
Nope.
OK, so you're saying a 16-bit CPU has a 16-bit ALU? I'm not sure how
wide the Z80's ALU was. I wouldn't be surprised if "sub bc,hl" was
calculated with two runs thru the ALU.
Anyway, as I said, I think at this point we're just discussing what one
wants to call the CPU, without adding any additional information to it.
--
Darren New / San Diego, CA, USA (PST)
Helpful housekeeping hints:
Check your feather pillows for holes
before putting them in the washing machine.
Post a reply to this message
|
![](/i/fill.gif) |