Correction below - thanks Paul for pointing it out.

Sent from my iPhone

> On Dec 23, 2015, at 7:02 PM, Will Senn <will.s...@gmail.com> wrote:
> 
> 
> 
>> On 12/23/15 5:09 PM, Johnny Billquist wrote:
>> 
>> As for your analysis: 
>> Your explanation of branches seems somewhat over complicated. The 
>> instruction is indeed in just 8 bits, while 8 bits are the offset. 
>> However, there is no need to mess things up with one-complement, or tricks 
>> like that. The offset is an 8-bit value. Sign extend to 16 bits. Multiply by 
>> 2, and add to the updated PC. Simple as that. 
>> (Note that I said "updated PC". The PC will contain the address of the 
>> instruction after the branch before you start doing the calculation for the 
>> branch destination.)
> Johnny,
> 
> Given Line 7 037760  100376               BPL WAIT
> 
> 100376 is a BPL instruction and the offset (376) is to be multiplied by two 
> and added to the updated PC. That is, 376 * 2 is going to be added to 037762. 
> 376 represents a negative offset in two's complement notation - it has a one 
> in it's most significant bit, the left hand bit in 11 111 110. As a human, I 
> kind of need the number in some form that makes sense to me, so I convert it 
> to a positive quantity by first taking the one's complement and adding one. 
> This gives me the positive magnitude of the negative number -1. Multiplying 
> this by two is easy, it's -2, which when added to 037762 yields 037760 , 
> which is the correct location.

Negative number -2. Multiplying this number by two is easy, it's -4, which when 
added to the updated PC 037762 yields 037756, the correct location.

> This is how I did the math. If I understand you correctly, the machine 
> doesn't do it this     way. I tried multiplying 376, 11 111 110 by shifting 
> left one, 11 111 100, and adding that to 037762's binary representation, but 
> that doesn't seem to make sense. Would you please elaborate?
> 
> Thanks,
> 
> Will
_______________________________________________
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to