-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodo.txt
143 lines (118 loc) · 6.94 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
[x] NOP är bra för då kan man "deleta" logik
[-] Kanske instr i listan ska kunna klickas på så att denna fylls i
[x] Kanske skriva bredvid reg vilket binärt ordningsnummer det har
[x] Lägg in alla knappar i meny och lägg till kortkommando på alla menyval
[x] Kanske göra instr uppsättn som ett eget resizable fönster med scorllbars V H
[x] Help -meny med ASCI-tabell och Instr upps
[x] en grön ram run den aktuell minnescell som accepterar input
[x] och ev. tillåt markera många minnesceller och då göra copy-pejst av minnesregioner; varför? jo man kommer behöva göra insert när man jobbar med sitt program (en enkalre variant är en instertknapp som flyttar ner och lägger in NOP)
[x] lägg till linkande vscode Alt-piluppner för swappa runt rader ; även i meny
[x] copy-paste mellan minnes celler verkar användbart
[x] i File meny sådant som har med inladdning och sparning göra;
[x] ladda program från fil/snapshot
[x] spara program till fil/snapshot
[x] Visa vilken fil som är öppen
[x] Visa när öppen fil har osparade ändringar
[x] Varna när osparade ändringar kan försvinna (load, close, exit...)
[-] viewmenyn ev fullscreen; om underförster eller egna fönster, condense or verbose;
[x] scrolla output och error
[x] highlighta markerad instr i instrbeskr
[x] WindowListener för extra fönster, för att återställa meny checkbox
[x] Bug: När InstrDesc-fönstret öppnat, IndexOutOfBounds när man ändrar minnesceller
[x] Skapa nytt infofönster, med allmän info. Piltangenter, mus för att flytta och sätta värden, referera till menyn, etc.
[x] Flytta markören när nytt värde sätts
[x] Ändra markering upp/ner. Sätt begin index och flytta end index.
[] Lägg till shift-klick igen, metod finns redan i selecter (addSelectedCell)
[x] Gör text markerbar
[x] InstrTable, ankra tabellen till toppen
[x] Templates. Lägg programfiler i resources, och populera menyn med dem
[x] Bekräfta template laddning om lokala ändringar gjorts
[-] F1 och F2 för fokus till fönsterna?
[x] PgUp och PgDn för att scrolla i minnet och i ascii tabellen
[-] Ctrl F för att söka?
[x] Swing Look and Feel, för sitt respektive OS
[x] Rödmarkera PC om utanför minnesrymden. (Och markera inte i Description)
[x] Ändra output och error till ett stort textfält. Ha knapparna ovanför: step, run, reset, help
[x] Döp om Reset program till endast Reset
[x] Flytta Reset i menyn från Edit till Execute
[x] Bug: Description highlightar fel instruktion, den laggar ett steg efter
[x] Shift+Tab == Tab
[x] När i "select mode" tillåt inte input för att ändra bitar (caret vs selection)
[-] Använd ytan under execute för info: Var är markören, vad är markerat, etc.
[x] Tillåt text att bli markerad och kopierad
[x] Menyalternativ för View:
[x] Återställ fönsterpositioner och -storlekar
[x] Öka och minska textstorlek
[x] Textstorlek ska också gälla i övriga fönster
[] Menyn Help kan innehålla länkar till kursmaterial
[x] Döp om registret PRT till OUT
[x] Descriptions, tabellen måste innehålla instruktionens namn, e.g. LD -> Load, ST -> Store, etc. Fetstil.
[x] Ändra print-instruktionerna:
[x] Print Text (PRT) ascii symbols
[x] Print Decimal (PRD) decimal numbers
[x] Print Loop (PRL) ascii symbols
[]
[x] Bug: Ladda värde till PC, rosa ram försvinner inte.
[x] Utöka rosa ram så att alla minnesceller som instruktionen kommer läsa markeras
[x] Lägg till utskrift för när sista minnescellen nås
[x] Lägg till bekräftelse dialog innan delete all data!
[x] Change Run button into Stop while executing
[x] Change repo name to c3pu, and URLs
[x] Instr table, ankra till huvudfönster som ASCII fönstret
[x] Lägg till Config option för att låta fönster följa huvudfönstret
[x] Använd config option "flytta markör vid input", gör ingenting nu?
[x] Scrolla automatiskt så att markören kommer i bild
[] I memory, lägg till extra kolumn längst till vänster där man kan klicka för att markera celltyp "instr", "ascii", "dec" etc., med bg färg
[] Utöka filformat för templates. Inled rad med [I] för instruction, [A] för ascii etc.
[x] Uppdatera lila markering direkt vid editering
[x] Fixa konstig fönsterstorlek vid auto-resize
[x] Stoppa exekvering med space (nu endast med Ctrl+Space)
[x] Scroll automatiskt för att följa PC vid exekvering
[] Ändra instruktioner:
[x] Ändra CPY till att bara operera på register
[x] Operanden kan betyda copy eller move
[x] Nästa minnescell delas i två 4-bit registerindex
[x] Ta ev. bort MOV instruktionen?
[x] Lägg till JCM (Jump compare) instruktion (operand kan bestämma alla jämförelser, < > = !=)
[] Uppdatera testfallen!
[] Lägg till STA (Store address). Nästa minnescell ger två reg, src och dst-address
[x] Ändra tillbaka hoppinstruktionerna, så att dst läses från ett register.
[x] Lägg till INC (incremend), operand är ett reg index
[x] Ändra JEQ och JNE så att registerna som jämförs kan anges, ex:
JEQ 1001 0000
RES R2 0010 0100
RES R2
[x] När man flyttar en selection så flyttas markören också, t.o.m. utanför bounds
[x] Check bound in instructions.evaluate
[x] Instruktioner vars utskrift beror på nästa cell behöver uppdateras när nästa cell ändras
[] Instruktionsfönstret line wrap slutar fungera vid horisontal resize på bredden. Fixar sig efter vertikal resize.
[x] Efter man stänger en öppnad fil så finns "-" kvar i fönstertiteln
[x] IndexOutOfBounds när reg 10 försöker skrivas ut, borde istället ignoreras
[x] Markering av hoppinstruktioner inte korrekt. Markerar dst cell endast när den INTE kommer hoppa.
[x] Delete all data resets cursors to (-1, -1), which means they are not shown. Set to (0, 0) instead.
[x] Reset no longer resets highlights!
[] Cell highlighting when editing and executing should be different colors...
[x] Make it possible to hide instruction column for individual mem rows
[] Advanced hiding:
[] Move the hidden status with the cells when moving/deleting values
[] Let it reflect in file format, i.e. restore on reload
[x] Fix test for St (no longer StA)
[x] Update example programs, after instruction changes (again...)
[] Add config/view option to turn off auto scroll to active cell
[] Think about: Should conditional jump use another dst register, e.g. R2? (Instead of RES)
[x] Resources failed to load when building and running from JAR. Fix!
[] Set up a Logger, that can collect errors in a local file.$
[]
0100 1010
0001 0000
0001 0001
Labbinstrutioner
Börja med att öppna enkelt template och steppa igenom
Till slut, fibonacci
Föreläsning:
Binärt talsystem, och hex, ascii Vad är en cpu? register Adressrymd
massa design tradeoffs i verktigheten. 32 cs 64 bitar
Jag gör ett enkelt och ett mer avancerat program
Visa Java bytekod. javap -c
Kör scala program med scala-native för att producera en körbarfil, gör binary dump och inspektera assembly kod.
Installera alla scala grejer, kolla på pgk kurssida, under verktyg