Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TODO:
- Do sprawdzenia:
- * przesunięcia, jak to ma wyglądać i ile tego ma być (kazde przesuniecie po 8 operacji czyli lacznie 24 instrukcje?) - CHYBA MAJĄ BYĆ PO 2 DLA KAZDEGO PRZESUNIECIA (LOGICZNE, CYKLICZNE, ARYTMENTYCZNE) I W OBIE STRONY (3 * 2) I JESZCZE DLA REJESTROW I PAMIECI CZYLI * 2 CZYLI MOZLIWE ZE LACZNIE MA BYC 3*2*2 INSTRUKCJI DO TYCH OPERACJI
- * jak pokazać w mikroinstrukcjach adresowanie bazowe z przemieszczeniem - CHYBA DOPISAĆ PO PROSTU NP. INSTRUKCJĘ MOV GDZIE PODAJEMY ADRES ROZUMIANY JAKO ADRES BAZOWY I PRZEMIESZCZENIE (coś w stylu: mov rej nat)
- * sprawdzić czy te funkcje call mają być w takiej formie jak zrobiłem i czy to ma być instrukcja o jednej nazwie (call) czy dwie różne i czy to, że można wywołać funkcję jako liczba to znaczy, że mamy odwołanie CS:[nat], a to że mamy do podanego jako rejestr, tzn, że: CS:[rej]? - CHYBA TAK, INNI MAJĄ PODOBNIE, PO PROSTU SĄ RÓŻNE GRUPY
- * mikroinstrukcje do przesunięcia cykliczne, arytmentyczne
- * czy te skoki mają być możliwe między offsetami? - CHYBA NIE
- * inkrementacja, dekrementacja - dopisać odpowiednie mikroinstrukcje
- nop
- push rej
- pop rej
- mov rej nat
- mov rej rej
- mov rej DS:[rej]
- add rej nat
- add rej rej
- add rej DS:[rej]
- adc rej nat
- adc rej rej
- adc rej DS:[rej]
- sub rej nat
- sub rej rej
- sub rej DS:[rej]
- sbb rej nat
- sbb rej rej
- sbb rej DS:[rej]
- cmp rej nat
- cmp rej rej
- cmp rej DS:[rej]
- call CS:[nat] //nie ma pewności czy to i to niżej to mają być 2 różne instrukcje
- call CS:[rej]
- ret
- jmp CS:[nat]
- jg CS:[nat]
- jl CS:[nat]
- je CS:[nat]
- or rej nat
- and rej nat
- xor rej nat
- not rej
- //to co jest niżej jest chyba 2 razy za dużo, bo zrobiłem też dla flagi CF więc nie powinno być tego, ale powinno być jeszcze dla przesunięć logicznych i arytmetycznych (tu są tylko dla cyklicznych) - więcej opisałem w TODO
- ror rej nat
- ror DS:[rej] nat
- rcl rej nat
- rcl DS:[rej] nat
- ror rej nat
- ror DS:[rej] nat
- rcr rej nat
- rcr DS:[rej] nat
- mov DS:[rej] nat//bazowe z przemieszczeniem
- add DS:[rej]//inkrementacja
- //dekrementacja:
- Przykład wykorzystania rejestrów akumulatora do operacji arytmetycznych
- MOV AH, 1 ; prześlij do rejestru AH liczbę 1
- MOV AL,AH ; kopiuj AH do AL
- DEC AL ; odejmij 1 (dekrementacja) od AL - AX ma wartość 1
- shr CS:[rej]//przesuniecie cykliczne
- shr CS:[nat]//przesuniecie arytmetyczne
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement