Hi,

I've got a question about using the 6800 emulator to create a program that multiplies 2 arbitary 8 bit numbers to generate an 8 bit number. now, i've attempted it, this is what i've done in the quote below.

Okay, the teacher went through it in class, and he showed how it was shifting each step, eg:

C P A

0 0000 1011

N=1 0 1110 1011 (LSB = 1, so P+B=P)

0111 0101 (Shift Bits Right)

N=2 1 0101 0101 (LSB = 1, so P+B=P)

0 1010 1010 (Shift Bits Right)

So at first i couldn't do it, but i attempted it and i did that in the quote up the top. I don't think it's correct though cause when i look at it, it just doesn't look right. I was wondering if anyone could give me some pointers on what im doing wrong so I at least know how to fix it.

Thanks,

Ashley

I've got a question about using the 6800 emulator to create a program that multiplies 2 arbitary 8 bit numbers to generate an 8 bit number. now, i've attempted it, this is what i've done in the quote below.

Quote:

eleven .equ 11

fourteen .equ 14

P .equ 0

ldab #4

loop cba

ldaa #eleven

tst 0,x

jmp PnB

PnB ldaa #fourteen

adaa #P

jmp plus

plus asla

staa P

jmp shiftP

shiftP ldaa #P

asla

decb

tstb

bne loop

.org $0120

C P A

0 0000 1011

N=1 0 1110 1011 (LSB = 1, so P+B=P)

0111 0101 (Shift Bits Right)

N=2 1 0101 0101 (LSB = 1, so P+B=P)

0 1010 1010 (Shift Bits Right)

So at first i couldn't do it, but i attempted it and i did that in the quote up the top. I don't think it's correct though cause when i look at it, it just doesn't look right. I was wondering if anyone could give me some pointers on what im doing wrong so I at least know how to fix it.

Thanks,

Ashley