A83: Just Curious...
[Prev][Next][Index][Thread]
A83: Just Curious...
I was playing around the other day and I was thinking about how a byte
is added to another byte, and I wrote some z80 code that used bit-level
commands to add a byte to another (Basically, doesn't use add). I got to
trying to figure out subtracting and I got stumped... This really as no
point, but I was just wondering how a subtraction is performed. And,
don't bother telling me how "unoptimized" it is and I don't need some
smart-ass to say, "Why don't you just say 'add a,b'?"!
ld a,1
ld b,1
AddAtoB:
push bc
push af
xor b ;XOR A and B
pop de
pop bc
push af
push de
pop af
and b ;AND A and B
rs ;RS (AND A and B)
pop bc ; |
or b ;OR -/ and B
ret ;A = A + B
--
Scott "_Wrath_" Dial
homosapian@geocities.com
ICQ#3608935
http://www.geocities.com/~homosapian/
Follow-Ups: