w=0
Transkrypt
w=0
Systemy komputerowe lista rozkazów roboczy jednostki centra ! " # $ % $ ! & ' $ & " " $ " ! " $ %! - - & ( ! ! $ instrukcji. W przypadku procesorów uniwersalnych asortyment $ " ! arzania danych. )" $ ) $ $ ! !" " " - ! " * nazywamy operandami. * ! " + $ , )" operacji dwuargumentowych - takich jak dodawanie, odejmowanie, ! - ma trzy operandy: dwa z nich to argumenty ! $ $ zapisywany jest zwykle na miejscu jednego z argumentów - " $ - . 1 Tryb adresowania specyfikuje sposób obliczania adresu operandu. - $ ! $ Dekodowanie instrukcji / $ $ $ ! ! + 0102, ! $ + mnemoniczny MOV): kod operacji MOV r, r/m r:= r/m 1 0 0 0 1 0 kod operacji MOV r/m, r r/m := r 1. (d=1) d w (d=0) d=1 2. mod r r/m d=0 3. disp low 4. disp high r r/m d w mod disp numer rejestru roboczego +& , + 3 , +)41, 52-bitowe (W=1) modyfikator trybu adresowania (displacement) – Instrukcja MOV ma za . argumentu i zapisanie jej w miejscu przeznaczenia. Zgodnie z tzw. - . 6 MOV instrukcji MOV " . - operacji „1000107 ! $ 0 52 $ + ! w, rejestrami p + d). Sposób & ! & Struktura Poni! & ! & 6 mod = 11 1 0 1 1 0 0 1 0 r d w r 8 $ % ! „r” jest interpretowana 52 + w=1) lub 8.bitowego + w=0). Podstawowe, . 6 w = 1 AX CX DX BX SP BP SI DI r = 000 r = 001 r = 010 r = 011 r = 100 r = 101 r = 110 r = 111 w = 0 AL CL DL BL AH CH DH BH mod = 10 1 0 1 0 0 0 1 r 0 d w m disp low disp high ) 9 + 52 , : + , $ ! " + d=0, +d=1). Kombinacja bitów w polu „r” interpretowana jest tak samo jak przy $ $ " „m” & 6 m = 000 m = 001 m = 010 m = 011 m = 100 m = 101 m = 110 m = 111 EA EA EA EA EA EA EA EA = = = = = = = = (BX) (BX) (BP) (BP) (SI) (DI) (BP) (BX) + + + + + + + + (SI) + disp_low + 256 disp_high (DI) + disp_low + 256 disp_high (SI) + disp_low + 256 disp_high (DI) + disp_low + 256 disp_high disp_low + 256 disp_high disp_low + 256 disp_high disp_low + 256 disp_high disp_low + 256 disp_high 3 mod = 01 1 0 0 1 0 0 1 0 r d w m disp Ten podzbiór kodów instrukcji MOV ! + z modyfikatorem „107, ! 0 - ; <fektywny adres operandu obliczany 6 EA EA EA EA EA EA EA EA m = 000 m = 001 m = 010 m = 011 m = 100 m = 101 m = 110 m = 111 = = = = = = = = (BX) (BX) (BP) (BP) (SI) (DI) (BP) (BX) + + + + + + + + (SI) (DI) (SI) (DI) disp disp disp disp + + + + disp disp disp disp mod = 00 ) MOV z modyfikatorem „00” oddzielnego rozpatrzenia wymaga przy " m równa jest „110”. 1 0 0 0 0 0 1 r 0 d w 1 1 0 disp low disp high E& $ + su): m = 110 EA = disp_low + 256 disp_high ) $ $ = 6 1 0 0 0 0 0 1 r * & 6 m = 000 EA = (BX) + (SI) 0 d m w m = 001 m = 010 m = 011 m = 100 m = 101 m = 111 EA EA EA EA EA EA = = = = = = (BX) + (DI) (BP) + (SI) (BP) + (DI) (SI) (DI) (BX) tryby adresowania # ! ! " tryb adresowania. Natychmiastowy (immediate) - dotyczy argumentu umieszczonego + , Kod operacji operand edni (register direct) – wskazuje jeden z rejestrów procesora jako miejsce operandu; w kodzie instrukcji podany jest numer tego rejestru. Kod operacji nr rejestru Rejestry operand (direct) – $ komputera; efektywny adres operan kodzie instrukcji. Kod operacji adres operand 5 (register indirect) - adres komórki $ procesora. Kod operacji nr rejestru Rejestry adres operand 8 lega automodyfikacji (rejestr indeksowy) + , " $ indeksowym. ania adresu (displacement) + , + , ) i -indeksowy z + $ > , Kod operacji tryb adr. Rejestry baza operand indeks 8 ! z $ + with index and displacement). (memory indirect) - adres argumentu jest ! $ / ! " modyfikowany przez dodanie przemieszczenia lub indeksowanie. Skalowany (scalable) - ! " ! 5 = 9 0 + lewo o 0, 1, 2 lub 3 pozycje). !" (relative) - w kodzie instrukcji podane ! " " : " + przesuwny). Stos (stack addressing) - . $ $ ! +$, . $ +" . , +, +. , - $ $ + , 7