You are on page 1of 1

AH

0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14 15 16 17 19 1A 1B

PROPOSITO
Terminacion del programa Ent rada del t eclado Exhibe s alida Ent rada auxiliar Salida auxiliar Salida a impres ora I /0 direct o de cons ola Ent rada de cons ola direct a con eco des act ivado Ent rada de cons ola direct a s in ec I mpres in de cadena Ent rada des de el t eclado a t raves del buffer Verifica el edo.de ent rada normal Limpia el buffer del t eclado e invocar una funcin del t eclado. Res t ablecer al dis co Seleccin de dis co Abre archivo Cierra archivo Bs queda para la primera ent rada Bs queda para la s iguient e ent rad Borrar archivo Lect ura s ecuencial Es crit ura s ecuencial Crear archivo Renombrar archivo U nidad de dis co act ual Coloca la DTA del dis co I nformacin de la t abla de as ignacin Cont rol Teclado Dis play Divers os Divers os I mpres ora t eclado Teclado Teclado Dis play Teclado Teclado Teclado Dis co Dis co Archivo Archivo Dis co Dis co Archivo Dis co Dis co Archivo Archivo Dis co Dis co Dis co Dis co Dis co Dis co Archivo Archivo Divers os Divers os Dis co Dis co Archivo Divers os Divers os Divers os Divers os Divers os Dis cos Divers os Cont rol Cont rol Divers os Dis co Divers os Dis co Dis co Dis co Archivo Archivo Archivo Archivo Archivo Archivo Archivo Archivo I /O Archivo Archivo Dis co M emoria M emoria M emoria Cont rol Cont rol Divers os Archivo Archivo Divers os Archivo Archivo Error Archivo Archivo Archivo Divers os Red Red Red Red Red Divers os

TIPO

DESCRIPCION
Termina la ejecucin de un programa Es pera ent rada del t eclado,la exhibe la coloca en AL Exhibe el carct er en DL Es pera un carct er prov.del puert o COM Envia al puert o COM el caract er en DL Envia a la impres ora el carct er en DL Es pera has t a recibir un caract er provenient e del t eclado Es pera has t a recibir un caract er provenient o del t eclado.Y lo coloca en AL Es pera has t a recibir un caract er des de el t eclado, ent rega en AL y s e ejecut a una int errupcion ct rl break Pres ent a una cadena de caract eres en la pant alla la cadena debe finalizar en $ Es pera recibir caract eres del t eclado Verifica s i exis t e un carct er dis ponible provenient e del t eclado. Limpia el buffer del t eclado y ejecut a la llamada a la funcin en AL( unicament e 01h,06h,07h,08h o 0AH). Se pierden t odos los archivos que no hayan s ido cerrados . Selecciona la unidad de dis co en DL ( 0=A, 1=B,et c). Bus ca el direct orio para apunt ar el archivo que ent ra DS:DX. AL=FFH( no s e encuent ra) oAL= 04H( encont rado).Si s e encuent ra s e llena el FCB Cierra el archivo des pus de una operacin de es crit ura. DS:DX apunt a a FCB. Bus ca en el direct orio la primera ocurrencia en que igua el nombre del archivo .Si no s eencuent ra AL=FFH Des pues de haber encont rado el nombre del archivo,es t a llamada cont inuar la bus queda para la s ig ocurrencia. Borra del direct orio t odas las ent radas que s eala el apunt adorDS:DX. Carga el regis t ro direccionado por el bloque act ual y la graba en DTA e increment a la direccion del regis t ro Lo cont rario a 14H Bus ca en el direct orio la ent rada des eada,s i la encuent ra la ut iliza nuevament e, de lo cont rario abre un nuevo archivo Cambia el nombre del archivo por el nombre en DS:DX Det ermina el default de la unidad de dis co AL Coloca la direccin de t rans ferencia de dis co en DS:DX Ent rega un apunt ador cont enido en DS:BX apunt a al des cript or del medio,DX=nmero de la unidad des crit a ,AL=nmero del s elect or/unidad de as ignacin CX=t amao del s ect or. DL=nmero de la unidad de dis co. Lee la grabacin direccionada p el bloque act ual yregis t ra los campos en el rea de memoria. Lo cont rario a 21H Bus ca en el direct orio una ent rada a igualar s egn DS:DX coloca el regis t ro de grabacin aleat oria FCB igual al de grabaciones en el archivo Coloca el campo de regis t ro aleat orio en la mis ma direccin del bloque act ual y los campos de regis t ro Coloca el vect or de int errupcion en AL, en la direccin DS:DX. Es t a llamada nunca debe ut ilizars e Leezel nmero de regiis t ros en CX des de DS:DX Lo cont rario a 27H Veas e manual DOS Technical Reference Regres a AL=dia de la s emana,CX=ao, DH=dia DL=dia del mes I nvers o a 2AH Regres a CH=hora,CL=minut os , DH=s egundos DL=cent es imos de s egundos Opues t o al 2CH Cuando s e ebcuent ra act ivada.DOS realiza le verificacin para cada operacin de es crit ura en dis co, AL=0 des act ivar, AL=1 act ivar Regres a la direccin de t rans ferencia en ES:BX Regres a en AL el nmero s uperior que corres ponde a la vers in de DOS; AH cont iene el nmero inferior. Veas e manual DOS Technical Reference Solicit a/coloca el es t ado BREAK AL=0( s olicit a) y AL=1( coloca).Si DL=0( des act iva) Para el nmero de int errupcion en AL, regres a el apunt ador en ES:BX. Regres a para DL ( unidad de dis co): en BX los clus t ers dis ponibles ;en DX, clus t ers /unidad de dis cos CX,l byt es /s ect or ; y en AX, los s ect ores /clus t ers Veas e manual DOS Technical Reference Genera la funcin M K DI R con DS:DX apunt ando a cadena ASCI I Z que cont iene la unidad de dis co y la rut a del direct orio Funcin RM K DI R; DS:DX apunt a a la cadena que cont iene los nombres de la unidad de dis co y la rut a Funcin CHDI R:DS:DX apunt a a la cadena que cont iene nombres de le unidad de dis co y la rut a Funcin CREATE s i el archivo al que apunt a DS:DX no exis t e s e abre unnuevo archivo DS:DX apunt a al archivo; AL=0( s lo lect ura), 1 ( s lo es crit ura) o 2 ( es crit ura/lect ura) BX=manejador de archivo; s e cierra el archivo, s e act ualiza el direct orio y s e remueven los buffers int ernos del archivo BX=manejador de archivo, CX= nmero de byt es que s e des ea leer y DS=DX=buffer a s er cargado; des pues de la llamada., AX=nmero de byt es ledos invers a a 3F Elimina una ent rada del direct orio as ociada con el nombre del archivo apunt ando a DS:DX Vas e el manual DOS Technical Reference Vas e el manual DOS Technical Reference Vas e el manual DOS Technical Reference A la ent rada BX= manejador de archivoal t erminar AX= duplicado Fuerza a que el manejador en CX s e refiera al mis mo archivo en la mis ma pos icin que el manejador en BX Dl= nmero de la unidad de dis co; DS:SI =apunt ador el area del us uario de 64 byt es , la que cont iene el direct orio;AX cont iene el cdigo de error BX=nmero de prrafos y AXL0000 apunt a a los bloques de memoria Libera la memoria as ignada con 48H M odifica los bloques para cont ener el t amao de un bloque nuevo. ES=bloque de s egment o BX= t amao en prrafos del nuevo bloque Permit e que un programa de aplicacin ejecut e ot ro. Al t ermino de s t e, el cont rol vuelve al primer programa. DS:DX apunt a al programa y ES:BX apunt a a un bloque de paramet ros . Para la carga Finaliza el proces o en ejecucin Vas e el manual DOS Technical Reference Encuent ro del primer nombre de archivo indicado que s e iguala al nombre de archivo que apunt a DS:DX, CX=at ribut o de bus queda Es igual que 4EH on la excepcin de que encuent ra el s egundo archivo. Regres a el valor de la verificacin con 2EH en AL M odifica el nombre de un archivo en DS:DX con ES:DI A la ent rada AL=0 ( obt ener) o AL=1 ( fijar), BX=manejador de archivo, CX=hora y DX=fecha. Proporciona informacin adicional de un error Genera a unarchivo apunt ado por DS:DX. CX=at ribut o Genera un nuevo archivo apunt ado por DS:DX. CX=at ribut o Al=0 ( abre) o AL=1( cierra), BX manejador de archivo. CX=byt e mas s ignificat ivo del des plazamient o, DX= byt e menos s ignificat ivo del des plazamient o. SI =part e mas s ignificat iva, DI =part e menos s ignificat iva DS:DX apunt a a la localidad donde s e regres a, el nombre de la comput adora. BX=indice de la lis t a redireccionada; CX=longuit ud de cadena;DS:SI apunt a a la cadena que s er colocada delant e de t odos los archivos a imprimirs e Opues t o a 5E02 Regres a as ignaciones de la red no local Principalment e para redes Principalment e para redes Proporciona en BX el s egment o prefijo del programa

1C Tabla de informacin de as ignacin para la unidad de dis co 21 Lect ura aleat oria 22 Es crit ura aleat oria 23 Tamao de archivo 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 33 35 36 Campo de regis t ro relat ivo Coloca vect or de int errupcion Crea un nuevo s egment o de programa Lect ura de bloque aleat orio Es crit ura de bloque aleat orio Analizar el nombre de archivo Obt ener la fecha Coloca la fecha Obt ener la hora Coloca la hora Act iva/Des act iva s w it ch de verificacin Obt ener DTA Obt ener la vers in del DOS Terminacin del proces o/cons erva res ident e Verificar Ct rl-Break Obt iene vect or Obt iene es pacio libre en dis co

38 I nformacin dependient e del pais 39 Crear s ubdirect orio 3A Elimina direct orio 3B Cambio de direct orio 3C Crear archivo 3D Abre archivo 3E Cierra manejador de archivo 3F Lect ura des de archivo/dis pos it ivo 40 41 42 43 44 45 46 47 Es crit ura des de archivo/dis pos it ivo Borra archivo de direct orio M ueve el apunt ador de lect ura/es crit ura del archivo Cambia modo de un archivo Cont rol de I /O para dis pos it ivos M anejador de archivo duplicado Fuerza duplicacin en el manejador de archivo Obt iene el direct orio act ual

48 As igna memoria 49 Libera memoria as ignada 4A M odifica los bloques de memoria as ignada 4B Carga/ejecut a programas

4C Termina proces o 4D Obt iene el cdigo de ret orno 4E Encuent ro del primer archivo indicado 4F 54 56 57 59 5A 5B 5C Encuent ra el s iguient e archivo indicado Obt iene el es t ado de verificacin Renombra un archivo Obt iene/coloca fecha y hora de archivo Obt iene error ext endido Crea archivo nico Crea un nuevo archivo Abre/cierra acces o a un archivo

5EOO Obt iene el nombre de la mquina 5EO2 I nicializacion de la impres ora 5EO3 Obt iene el es t ado de la impres ora 5FO2 Obt iene ent rada de la lis t a de redireccionada 5F03 Redirecciona el dis pos it ivo 5F04 Cancela redireccin 62 Obt iene PSP

interrupciones

int 00H-->divis ion ent re cero int 01h-->un s olo pas o int 02h-->int errupcion no enmas carable int 03h--> punt o de int errupcion int 04h-->des bordamient o int 05h-->impres ion de pant alla int 08h-->Cronomet ro int 09h-->int errupcion des de el t eclado int 0Bh-->Cont rol del puert o Com1 int 0Ch-->Cont rol del puert o Com2 int 0Dh-->Cont rol de dis pos it ivos en paralelo int 0EH-->Cont rol de dis co flexible int 0Fh-->Cont rol de dis pos it ivos en paralelo 2 int 10h-->Funciones de exibicion de video int 11h-->Det erminacion del equipo int 12h-->Det erminacion t amao de la memoria int 13h-->Funciones del Bios , E/S int 14h-->Comunicaciones de E/S int 15h-->Servicios del s is t ema int 16h-->Funciones de ent rada del t eclado int 18h-->Ent rada con el Bas ic de Rom int 19h-->Cargador ed arranque int 1Ah-->Leer y es t ablecer la hora int 1Bh-->Obt ener el cont rol con una int errupcion de t eclado. int 2oh-->Terminar un programa int 21h-->Funciones del dos . int 22h-->Direccion de t erminacion int 23h-->Direccion de Ct rl/Break int 24h-->M anejador de error crit ico int 25h-->Lect ura abs olut a de dis co int 26h-->Es crit ura abs olut a de dis co int 27h-->Terminacion permaneciendo res ident e int 2Fh-->I nt errumpe la mult iplexion int 33h->Funciones del Rat on

STI poner a 1 el indicador de int errupcin CLI borrar el indicador de int errupcin I NT int errupcin I NTO int errupcin por capacidad excedida ( des bordamient o) I RET ret orno de int errupcin

ejemplo

M ASCARA: M OV AL, [200] ;mueve el cont enido de la localidad 200 a AL AND AL, F0 ;coloca 1111 0000 en AL M OV [201], AL ;mueve el cont enido de AL a la localidad 201 M OV AH, 4C ;mueve el cont enido de 4C a AH M OV t rans fiere XCHG int ercambia I N ent rada OU T s alida XLAT t raduce us ando una t abla LEA carga la direccin efect iva LDS carga el s egment o de dat os LES carga el s egment o ext ra LAHF carga los indicadores en AH SAHF guarda AH en los indicadores PU SH FU ENTE ( s p) fuent e POP DESTI NO des t ino ( s p)

transferencia de datos

Instrucciones usadas para comparar dos enteros sin signo:


a. jump if not below or equal) El s alt o s e efect a s i la bandera ce CF = 0 o s i la bandera

Instrucciones usadas para comparar dos enteros con signo:


a. JG o JNLE. Salt a s i es ms grande o s alt a s i no es menor o igual ( jump if great er o jump if not les s or equal) El s alt o s e efect a s i ZF = 0 o OF = SF.

Instrucciones usadas segn el estado de banderas:


a. JC Salt a s i hay acarreo ( jump if carry) El s alt o s e efect a s i CF = 1. b. JNC Salt a s i no hay acarreo ( jump if not carry) El s alt o s e efect a s i CF = 0. c. JNO Salt a s i no hay des bordamient o ( jump if not overflow ) El s alt o s e efect a s i OF 0 d. JNP o JPO Salt a s i no hay paridad o s alt a s i la paridad en non. El s alt o s e efect a s i PF 0 e. JNS Salt a s i el s igno es t apagado ( jump if not s ign) El s alt o s e efect a s i SF = 0. f. JO Salt a s i hay des bordamient o ( jump if overflow ) El s alt o s e efect a s i OF = 1. g. JP o JPE Salt a s i hay paridad o s alt a s i la paridad es par ( jump if parit y o jump if parit y even) El s alt o s e efect a s i PF = 1. h. JS Salt a s i el s igno es t prendido ( jump if s ign s et ) El s alt o s e efect a s i SF = 1.

de ZF = 0 b. JGE o JNL. Salt a s i es ms grande o igual o s alt a s i no es menor que ( jump if great er or b. JAE o JNB. Salt a s i es t arriba o es igual o s alt a s i no es t abajo ( jump if above or equal o equal o jump if not les s ) El s alt o s e efect a s i SF = OF. jump if not below ) El s alt o s e efect a s i CF = 0. c. JB o JNAE. Salt a s i es t abajo o s alt a s i no es t arriba o s i no es igual ( jump if below or equal o jump if not above or equal) El s alt o s e efect a s i CF = 1. c. JL o JNGE. Salt a s i es menor que o s alt a s i no es mayor o igual ( jump if les s o jump if not great er or equal) El s alt o s e efect a s i SF = OF. d. JLE o JNG. Salt a s i es menor o igual o s alt a s i no es ms grande ( jump if les s or equal o

d. JBE o JNA. Salt a s i es t abajo o s i es igual o s alt a s i no es t arriba ( jump if below or equal jump if not great er) El s alt o s e efect a s i ZF = 1 o SF = OF. o jump if not above) El s alt o s e efect a s i CF = 1. e. JE o JZ. Salt a s i es igual o s alt a s i es cero ( jump equal o jump if zero) El s alt o s e efect a s i ZF = 1 ( t ambin s e aplica a comparaciones de ent eros con s igno) f. JNE o JNZ. Salt a s i no es igual o s alt a s i no es cero ( jump if not equal o jump if not zero) El salto se efecta si ZF = 0 (tambin se aplica a comparaciones de enteros con

bucles
I NC increment ar DEC decrement ar LOOP realizar un bucle LOOPZ,LOOPE realizar un bucle s i es cero LOOPNZ,LOOPNE realizar un bucle s i no es cero JCXZ s alt a s i CX es cero

s igno)

prueba, comparacion y saltos

TEST verifica CM P compara JM P s alt a JE, JZ s alt a s i es igual a cero JNE, JNZ s alt a s i no igual a cero JS s alt a s i s igno negat ivo JNS s alt a s i s igno no negat ivo JP, JPE s alt a s i paridad par JNP, JOP s alt a s i paridad impar JO s alt a s i hay capacidad excedida JNO s alt a s i no hay capacidad excedida JB, JNAE s alt a s i por abajo ( no encima o igual) JNB, JAE s alt a s i no es t por abajo ( encima o igual) JBE, JNA s alt a s i por abajo o igual ( no encima) JNBE, JA s alt a s i no por abajo o igual ( encima) JL, JNGE s alt a s i menor que ( no mayor o igual) JNL, JGE s alt a s i no menor que ( mayor o igual) JLE, JNG s alt a s i menor que o igual ( no mayor) JNLE, JG s alt a s i no menor que o igual ( mayor) CALL llamada a s ubrut ina RET ret orno al programa o s ubrut ina que llam

llamado y retorno de subrutinas aritmeticas

Es t as ins t rucciones s on las que realiza direct ament e el 8086/8088 a. Grupo de adicin: ADD s uma ADC s uma con acarreo AAA ajus t e ASCI I para la s uma DAA ajus t e decimal para la s uma b. Grupo de s us t raccin: SU B res t a SBB res t a con acarreo negat ivo AAS ajus t e ASCI I para la res t a DAS ajus t e decimal para la res t a c. Grupo de mult iplicacin: M U L mult iplicacin I M U L mult iplicacin ent era AAM ajus t e ASCI I para la mult iplicacin d. Grupo de divis in: DI V divis in I DI V divis in ent era AAD ajus t e ASCI I para la divis in e. Convers iones : CBW pas ar oct et o a palabra CW D pas ar palabra a doble palabra NEG negacin f. Trat amient o de cadenas : Permit en el movimient o, comparacin o bs queda rpida en bloques de dat os : M OVC t rans ferir carct er de una cadena M OVW t rans ferir palabra de una cadena CM PC comparar carct er de una cadena CM PW comparar palabra de una cadena SCAC bus car carct er de una cadena SCAW bus car palabra de una cadena LODC cargar carct er de una cadena LODW cargar palabra de una cadena STOC guardar carct er de una cadena STOW guardar palabra de una cadena REP repet ir CLD poner a 0 el indicador de direccin STD poner a 1 el indicador de direccin

logicas

Son operaciones bit a bit que t rabajan s obre oct et os o palabras complet as : NOT negacin AND product o lgico OR s uma lgica XOR s uma lgica exclus iva Bs icament e permit en mult iplicar y dividir por pot encias de 2 SHL, SAL des plazar a la izquierda ( des plazamient o arit mt ico) SHR des plazar a la derecha SAR des plazamient o arit mt ico a la derecha ROL rot acin a la izquierda ROR rot acin a la derecha RCL rot acin con acarreo a la izquierda RCR rot acin con acarreo a la derecha CLC borrar acarreo STC poner acarreo a 1

desplazamiento, rotacion y adeudos

pila

U na de las funciones de la pila del s is t ema es la de s alvaguardar ( cons ervar) dat os ( la ot ra es la de s alvaguardar las direcciones de ret orno de las llamadas a s ubrut inas ): PU SH int roducir POP ext raer PU SHF int roducir indicadores POPF ext raer indicadores

controlador de microprocesador

Hay varias ins t rucciones para el cont rol de la CPU , ya s ea a ella s ola, o en conjuncin con ot ros proces adores : NOP no operacin HLT parada W AI T es pera LOCK bloquea ESC es cape

REGISTROS INTERNOS DEL MICROPROCESADOR

La U nidad Cent ral de Proces o ( CPU , por s us s iglas en ingls ) t iene 14 regis t ros int ernos cada uno de 16 bit s . Los primeros cuat ro, AX, BX, CX y DX, s on de us o general y s e pueden us ar t ambin como regis t ros de 8 bit s . Es decir, AX s e puede dividir en AH y AL ( AH es el byt e alt o, high, y AL es el byt e bajo, low ) Lo mis mo es aplicable a los ot ros t res ( BX en BH y BL, CX en CH y CL y DX en DH y DL) Es t os s on los nicos regis t ros que pueden us ars e de modo dual ( en 8 o 16 bit s ) Los regis t ros de la CPU s on conocidos por s us nombres propios , que s on: AX ( acumulador) BX ( regis t ro bas e) CX ( regis t ro cont ador) DX ( regis t ro de dat os ) DS ( regis t ro del s egment o de dat os ) ES ( regis t ro del s egment o ext ra) SS ( regis t ro del s egment o de pila) CS ( regis t ro del s egment o de cdigo) BP ( regis t ro de apunt adores SI ( regis t ro ndice fuent e) DI ( regis t ro ndice des t ino) SP ( regis t ro del apunt ador de pila) I P ( regis t ro del apunt ador de s iguient e ins t ruccin) F ( regis t ro de banderas )

ascii

Tabla del cdigo ASCI I relacionando el carct er con s u corres pondient e numero ASCI I . Es pero que t e s irva de ut ilidad. Let ras y nmeros : 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 097 a - 65 A 098 b - 66 B 099 c - 67 C 100 d - 68 D 101 e - 69 E 102 f - 70 F 103 g - 71 G 104 h - 72 H 105 i - 73 I 106 j - 74 J 107 k - 75 K 108 l - 76 L 109 m - 77 M 110 n - 78 N 241 - 241 111 o - 79 O 112 p - 80 P 113 q - 81 Q 114 r - 82 R 115 s - 83 S 116 t - 84 T 117 u - 85 U 118 v - 86 V 119 w - 87 W 120 x - 88 X 121 y - 89 Y 122 z - 90 Z Smbolos comunes : 59 ; 60 < 61 = 62 > 63 ? 191 64 @ 91 [ 92 93 ] 94 ^ 95 _ 96 ` 123 { 124 | 125 } 126 ~ 32 [es pacio en blanco] 33 ! 34 " 35 # 36 $ 37% 38 & 39 40 ( 41 ) 42 * 43 + 44 , 45 46 . 47 / 58:00:00 Caract eres es peciales : 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 131 ? 132 ? 133 ? 134 ? 135 ? 136 ? 137 ? 138 ? 139 ? 140 ?? 142 ?? 145 ? 146 ? 147 ? 148 ? 149 ? 150 ? 151 ? 152 ? 153 ? 154 ? 155 ? 156 ?? 158 ? 159 ? 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 Text o relacionado: con el cont enido de es t a pgina para que puedan encont rar cdigo as cii des de los bus cadores : as ci as s cii as cii as s ci as cci aas ci as cii as ci as cii acs i as ii as cii as i as ii acs i acs ii codigo as cii t abla as cii t able codigos ext endida caract er ext endido convert ir lis t a as cii en forma de lis t ado. Ot ros nombres de el cdigo ASCI I : ANSI _X3.4-1968 ( nombre cannico) ANSI _X3.4-1986 ASCI I U S-ASCI I ( nombre M I M E recomendado) us I SO646-U S I SO_646.irv:1991 is o-ir-6 I BM 367 cp367 cs ASCI I Caract eres ext ra: * ? ??? ? ? ? ? ? ??? ? ? ? ? ? ? & ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? & ?? ? ? ? ? ?? ? ? ? ? ??? ? }?[

You might also like