Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.plugin.core / src / net / mograsim / plugin / tables / mi / InstructionTableContentProvider.java
index 605e26d..b8021b7 100644 (file)
@@ -10,11 +10,13 @@ public class InstructionTableContentProvider implements ILazyContentProvider
 {
        private TableViewer viewer;
        private MicroInstructionMemory memory;
+       private long minAddr = 0;
 
        @Override
        public void updateElement(int index)
        {
-               viewer.replace(memory.getCell(index), index);
+               long address = memory.getDefinition().getMinimalAddress() + index;
+               viewer.replace(new InstructionTableRow(address, memory.getCell(address)), index);
        }
 
        @Override
@@ -23,6 +25,14 @@ public class InstructionTableContentProvider implements ILazyContentProvider
                this.viewer = (TableViewer) viewer;
                this.memory = (MicroInstructionMemory) newInput;
                if (this.memory != null)
+               {
                        this.viewer.setItemCount((int) memory.size());
+                       this.minAddr = memory.getDefinition().getMinimalAddress();
+               }
+       }
+
+       public void update(long address)
+       {
+               updateElement((int) (address - minAddr));
        }
 }