Está en la página 1de 105
Frowamacon Ensanblador_, 2d AN] ORO * [ongraye de alto nel 2 Se caractoviran re expresar les agate de und manera adecvoda aly cagocidd wagnitiva humana, en (ugar de fa coped eyewlera de fas maquinas por que permiten portablidad , meyor coreion de las eas, faalidad de, programar cerlas dase5 de preblemas, a braves de una vision a5 amplia con mens poobilidades do cmeler evrores. & Lenquaye de bap nivel : Esta maa cerca del sistema informaticd que cantiene las mstrucaones mndividuales que se gan a un Compuladora. Son lenguayes dipendientes de la méquna , & deur qe d progiama gle se cealita om este tipo de | Tengyayes nd se puede uliliat on otras maquinas , ¥ 5 umdates funaonales que debe tener on (ginpuls hot Vo Unidad de contro! Vo Umdad antmebieo - tog.00 (ALY) J Unidod de Memoria (- voieadas agoile ) » Lamemoria esta direcuonaba em bytes | esdeuit cata byte tiene Una diecton a la wal Se comunican a tiaves de buses ce informaaon « Rotem accfe. ¥ Bus de divecion , directonada, por J Unidad de Entrada bytes. (Unidiveainal Input. -> Teelodo, ete. i Bus de datos , (Grduecuonal ) J Nmdai de Sabda focibura y Lectura de datos Del pul > Pentalla ele, % Bus de Control (Undreecwonal ) Enable (Eseabora / Lectsra) Lenguaje de maquina Lenguaje ensamblador Lenguajes > alto nivel + Secuencias de numer + Lenguaje propio de + Utiliza codigos parecidos + Varia de acuerdo al tipo + Ejemplo: LOAD Reg 5} espacio de dieccionamenle . V Entomo Rasico de eyecusion de 6 vits istros de le bits C AAACTERSTICAS . J Log reqsteos AX 1, OX fn registios b proposilos general y pre cn Ser programades . J Las rejetros SLs vs , SP Son ogistias de proposile e peakico . J Flos — {ambien aon registios de piopisilo espeafia . J El espacio de direccionamienty de memoria de este growaadot fue de 2.4 bybes qe © ewiraled a 4 MBytes J Entorno Basia de ayeccion de a2 bits. jura: Entorno Basico de ejecucién fegetis de 32 bits CARACTERISTICAS. J Totes (os registios se extionden a 32 bite . V Se permite fy compatibilidad con Ab bits, VEL espacio de divecconamienty de memoria ahora es de 2% I bykes que es equivalente 4 GBytes V. Evlonad Basin de eecacion dé un procsador qe G4 bits ones de 64 bits Caraclensticas Vo Todos los feq'stros xp extiendon a ©4 bytes V Se incementian & registros mas a loo tegislios de proposite general Enbotal 40. VEL espnan de dureccinamonly corsa de wa bytes que eqiwvale Io Exabytes o ko vnillones de Terbyles . J én realidad el uso es de 48 lits linea de diteccion pata este procesader f Desde a Regist 28 hasta R45 estan subdwididos en ar bits en RED ,-.., RABD y asi svsceswamente hasta byte i 8 N \ ord ! Teel Nea N D ovble word ‘i " ’ fae] Nea N 3 34 0 Quadword 7 hid Balt [Low defen Covsitay N2 32 Bibs Ao Bits % Bis - Low Byte 3D WwW AL SIL ASL Ra D ag we bt br RAL : 7 L f RAYD RAY W D FL RAUL RAD FB w Pet En ed lengua de bajo nel. Y Languaye Magura. trlena a la maqiura las qpetadones Iyndamentales 8 guna q pe para Gu fundignaruente , Vv \engvaye, Eneamblador, fond baduccion ducecta del cédigo maqind X Conevitar ob Kime de Registro. Fz RAK Se sabe o | través de la ewatoin Herramientas I. Modify Value , edita el contenide del registro . a Calulodota , nos permite bescar e Cdanbificar a trues be RAX,.. obc By: RAX 04234 667478 GTABCOHOEE RAX Consulfor STACK, HEAP, DATA, COOE AegistRos +f Stack Pomter SP Vo Progio~ (putter PC General Purpose Reywsler GPR EsPAUO DE DIRECCLONAMIENTO OF MEMDALA Stach , Heap , Data, Code EBP (Base P Pointer to the bas current stack fram ESI (Source Used in string 0} EST 4 Fuente, EOL } Desting \ indies EP I Puntero de (nstruccon Ae Proximamente....+ + FPU registers do not change! ae + Reqistros de Datos © Reaistros de Indices y Punteros . L. % Srstemas Nomericog AVA. £04 ¥ Sislemas Numericos Posiconales Decimal hdd 3.9,..,99 Base b radix Craiz ) Binacco ba 2 4 0,44 binary digit Digits — dy = $9, 42, Co-ay Hexadecmal b.16 40,A,...,£,F i L X Teorema Fundamental de la Numeracion ( Postdona(es) parte entera porte fraccionacia JNe qn, we thd © 6, 4, dim ne 1 4 a -m VL Cds BUD tak Heeb) BCL BY Gb) m MSO Most Sign Fiank Oegib Least Sign Ficanb — Qugi b a2raloa oh AVAL. £044. > AAG 25 cy) > Convgisian Ann? AXQ FANQ 2 BEDEA AD bees _t2) = 9? . I "Nts del TEN Parle Fratuonarya : Axd's Ax? 2 08 + LRS = 0.635 AL; €2dc4¢, + Resultado ro onver sion Parle entan — AAd AQAA D PA Doses Go) > (2) Part, Praccion@ria —0,625d > 00M) Qs y QJ pA, 25 MSH 250 A baves de ral pleaciones ,250 ¥2 70,50 0,500 suswowas & fa bee C2) Q.d00¥2 JA 15D. 0,000 (Parle Freccionania , c oS 1 ire 2 = = rt wot 2 «2 1S «2 = ~ 3 a s a 3 wesw SS “I 3 a ? 4 3) TS a - _ a ie 2 cy ° FI ‘ S me fs S| ° S eS g & 5 Se ‘ goo S * -& 8 “ e232 e : re a) = e ’ = s 4 4 te = | as Z hI i A 0 > = 8 26 2 x oN = € i z wing Fs = i ta ‘2 = 9 Lx = Oo 2 "s aot S F mg ° 3 Sa Ss 1 poo ae sS = ° & + is s S 4 > 3 3 2 eg Qt + z S co S-< zo, & 2 D oe ~ u = ®t <= om o BUSES 10 Was, deci lb ple 1a Abd Dec LON AB. ba. 43 onversia q38 44 4B na 8 3 Parle entera (0 34 ©5. 3434 1 Tipos DE OATOS - AgCI\ ( Estandar ) No Nomercios C Alfanumericos Entevos Reales (Ponte Fijo) | | (Punto Flotante } v Codigo > ASCII C4 bits) fae a L Eon Signo 03 V Codigo > yntode (UTF-8)) J 4in Signo 99. onsultay —holo.tyt Cbytes 2 2 Codigo ASCH (Estandar) de T hits Codigo q! Enconbrarnes : 39 Caracteres de Control Jb Caracleves Lnprirnbles = A228 catrcleres Caract res inprimible s qi ‘. J 26 caracteres — alabet cos A> 7 Clebras MAY) J 26 caracteres alfebetios = a > 2 (letra min ) J Ao caracteres digiles o- 4 J 34 cayacleres especiales x Tabla- Guia . ( Caracieres Imprim ibles ) Conslkar Oe” Caracteres MSD LSD ; i 1 0-4 0x3 0-9 Numeros Caracteres ms0 LSD A> 0 Ox4 dee |S MAY" Poi 7 0x 5 Q-A Caracteres MSD lsd oe + i a 0 Oxb A-F mn p77 2 Ox O-A yereplo # Hex A) “Byte” p.0u 42 y - Ox tt Ascut t. Ox FY e = 0x65 2) Wola” He. 0449 o - OxoF ASCIL [2 Or 6c a» Vx G4 Q) OHA, On OF , OxId , 0X5 Qx4A 2 J OxoF _ 0 Onda = 6 /[ Ovod 2 Consultat que es el PAW 2? x En Assembler , wonko se define el tamatio de las variables usaremos 1a siguientes" OIRECTIVAS" Tipo5 DE DATOS _FUNDAMENTALES (OmecTwas AUSAR EN SEGMENT , DATA) Tipo bE BILE DYRECTIVAS, oaTo (Bits) Byte 3 0B Define una variable de tipo byte , 3 bits Word No Dw Dafne via variate de bigo galabrs (word), 2byte-lolils Dove word 3a pp Define ona varraWle be tipo ddvle paldoxa (toute. word) a palaotes - 4 bytes - 32 wts . Quodword G ba ‘i { t ee E ! Defme una vatralcle de Lipo qual werd, palabras, 8 byles, OU bits - & Depumdar y 4 Acsermldler Diecion olsyo : Dweccion 403040 + Direcagn 40 7080 ¢ Ynetauceiones — (nico) CGldyal ain’) Comenta ge vatades —inigializadas Ceeginertt data) Vavabes veservatas (segment ..os5’) XK Lerquaye © Diiecion yQUROD ¢ Salida doun pant F DECLARAR VARIABLES INIVALIZADAS. + JX Primer Cadena en Assembley SEGMENT DATA Seq ment, data ; SEGMENT DATA 1 Natialdes imicalizadas j--balos alfanurabricos alena 08! Hola Mondo", 0; sfnng —} © —® Now ash bo ep ombre be Drechiva Contenido Cin de des Is Valine " Ghona Vn. ha cadena mde OB ‘ez! cataders om ‘a’, ‘a! cadena d ee “INFADA Lonquae Ensanmbladex! 0 > Conaultay . AG ; Defriusion de dales numen.cos bier dl AO JA j Ob 0000. 4040 j bybe vaintde Nowra Drechiva Contenido Eye ex E4 Bin de fa Voriable w Var dw 6000 i wird Ao- lod variable d Vay 4d 40 000 1 32-bit vanable ant dd 400, 200, 1 3 dementis de un atreglo g Var bq 4_ 000 _ doo _ 000 | G4-bit vortable SEGMENT DATA segment . data 7 Enteras wn signd_y sin signa + 0 byte SS (sin Signo) __ Range (0, 255) date _ vybed db V ; deamal daly _ byte ab Ox 34 hexadgcinral dole byez = sdb =O ADO L040; binauio cexo db 0 5 On byte CS Coon Sigh) Rango (428 , 11). (2 dete _ byte 3 dh = 400 dalle — byte 4 do +56 dal _ \eyte 32 bo Oy FF tate oye 44H dy =A , una palaora (word) SS ale. word 5 dw 4obo dal — word & dw Oy SAAC ; Una palebra (word) US dol _ word 3 dw +4830 dal _ word & dw “4 ; dovble word 95 dats - word 4 dd Ox 12544698 dats —worhto dd Ya gu 464 a a5 7 dake woh 05 daly _ 44 dd 0 423 45079 dale 42 ja LA ~ oO wa aa 5 i St x = var SS a EC 53 = eS ‘| a | ~ 7 a pe 1 2 2 2 cS os ss fH 2 38 ¥ zee 2 3 fete g oI Ee 2 8S 2 5s : ‘228 ez § zs. ewe es F S29 “eee9F 5 z 7 * — ODIRECTIVAS A USAR EN SEGMENT . B95 AESB : Teserva espacio en unidades de byte RESW ¢ cosa espaco on onidedss do word , Abyles RESO ¢ Reervg copa en umdadss do dovbe word, 4 bytes RES @ $ (esewa espacio en oniladis de quad word, § bybes Segment 1b59 bArr feeb 0 | 40 dement byte atray (reservar) wht tw 50 7-50 clement. word array dan vesd 400; Lo0 dement double array gh x59 200 200 clemont quad array ¥ Lille Endan 0x ABCO OOO co LOA AB lomo visvalizat en a delovg, x OL ¥ — Ropesentacon je Numeras EnferoS sin Signo y om Signo J Enrero 59 (4 byte = % bibs ) Ranco y= 00AK ANAL, = Ox 3E fo, 2a] -[0, 295] Ly La) 5b 4S coo A Bite G3 Consoltar por qed) f Enteros CS CA byte < 8 bits ) Rancos . [-Gh 2a), Gat teay] = (02a, 49] (Moto Signo) Signo/Hagnifed C5 1M) + Od u0) > [Oba A AANA, Signo / Magnitud “63. > Ajord shag Sigao | Magnited V Complemento 4 (C4) FOB) 2 004A AAA, —— Signo! Magmtd ~ OByo) > A400 0000, Signa [ Magnilid IN VERTIR ( -Q™ 44 vay] = [rms 4229] V¥ Compements 9 (C25 +63, > 0044 Ath dg 5iga/ eypiled - © — 4400 0004, 5¢gno/ Maynitu d 4 _|nrecea SroaaGe Sizes STANDARD SIEES byte g wor d Ab double word 2 quadword Gu & RANGES OF UNSIGNED INTEGERS. Storage Type Range Clow - igh’) Powers of 2 Unsigned byte 0 bo 2h 0b (a) Unsigned word 0 bo 6b 885 be (224) Unsigned doweword| 0 bo 4,294,463, 295 0 bs (4) Unsigned qaduatd | 0 bo 48,4¥o,TH4, 073,703, 954015 | 0 by (24) Ranges of Signed Intege SMaTalle]at 1) oli a ac -\- 1a fo Colm lat -RCo a TMT TCM UAT) range: Storage Type Range (low-high) Signed byte —128 to +127 Signed word —32,768 to +32,767 Signed doubleword —2,147,483,648 to 2,147,483,647 Signed quadword —9,223,372,036,854.775,808 to , '2,036,854,775,807 ro + ~ SS t + 2 T = Seo oS ) 1 ST S = ae 9 a — S S 7 1 5 g y ud & #— CowemsioN€S Enrae pases + (ueshonaro 2 @ 135, ab, > Og > 1000 9444, LOA @) Parte enkera Pacle deamnal LODOOEAA Mulbiglicadonas sveceswas OO x2 = 4, 45 02542 . 0,50 Q. 50% 2 2 4,00 @ t04 0104. 4g, @ Oy > 28- Cu Parle entera Pade Decimal : O40 4 O404 ~ AN 00 5 5 (ue) AQ Cus) @_ B08, B49 gy @ Oy = 43.4, Ea) Parte eritera t Parte Decmal : /AAAO A 0044 0004 0,845x22 4,45 A 3 4 ae) 0.450 x2, 4,50 4 a E 0, 3002 = A a) ® AB EYSS O, > A040 0401, 444 (ay Pate enfera Porte Deciral : A 8 E A0AQ DADA MALO @) @y Na g a ral Ss a x =I es Coe = oS 5 Z~ * = o iss h4 ' i = § rs ca » 8 o > a y Poo ~ co) Nn 222° 8 S ns bh ' i i) 1 Sg! 2 ec pS _ Oo rs =z oO <4 ft os E ~ AS = i = s € = 4 Tyo ow = xe 5 § 3s 2} oss ; 5 eo 48 ‘Ss oe He te ot = ~ x & 5 5 Ss ke = © oS 2 S ® CA C2 A qy T Ll Enletes 5 03 G4 Ab 296 ( 44 (0) 1302) , 3M) 2 OQ 3024 > Oyo 2 0 Q 4 Ah tg) => 204 gy AA00 A004 yy DOM OMMN C2 > 735 u5 Br awed Tyg¥ 35210 AY MA 00M OAM ADM gy SS > Qy o> ATTA Coy 2) MA ad00 A040 40.10 195 CS + 84 oy > 94 gy > adi2 > 4A RO 4a4/2 > ID RA 213/2 -> Mb RA Wh/2 > 53 RO $3/2 —> 2060 Rf ab/2 -~> 43 Ro 13/2 >» 6R4 12 — 3RO DI — A RA AIR +> 0 R4 0/2 +s 0 RO —> (to >- 854% 49) Q0 ©0944 0404 044 0 Ao 0044 0404 440 NS 4a AA 00 4040 4004 C4 AA #400 1040 4040 au rs a) = 2 Bi she & 8 & Ss Ee ors > g] 3 = p : fS eine * oO Sy Ss &g 2 we a = a 2 2 3 ic S ‘5 9 z z S > 5 : tl f & s 3 tga ce 3: 3 s Z e sre 3S eas i 3] g r I $ 2 os st - > 3) > ° < e ¢ as eg ¥ Como podertas almacenar on ridmeto mulbi-Lyte enmemeria , mo pa qando x ABCD ( Abytes . AO bits 2 A word), Pueden exichir 2 formas + Direcoon Memoria Valor Direcuon Memoria \alov x 1000 Ox AB 0x ono Ox CD Ox 4004 0xcd Ox 1004 Ox AB 0x 4002 a 0% 4002 SRR Big En dan Ute Endian -> Infel * 86 4 4 AitmertcA EN Comerenenro 2 ( Soma y Resta) + Banderas 2 vaidbles a y's rimeop eles C5 en [A dyde] a-t6 Shits V b= $43 Vv _SIMA EN 02, ¥ {Se ama it abit , tomande en onda el bib del Sun. © a, +6 Q000 Q4do 4 C5 tb at +) 0000 A404 3 C5 cy $493 0 0904 0047 Carry <0 (Ne sel useacctn) Ce ath s Ge) G13) ~ 149 Renisto Barteres Carry Cero Signd Overflow 0 0 0 0 ® a. ~o NaN 4040 tH birt +) 0000 4104 fH cx $3 4 0000 0444 — Cony <4 (No etm cada’ Ce ath s CO)+ G13) -4+7, Roysto Banderas Carry Cera Signd Overflow R FLAGS t z S p A 0 0 0 V__Resta EN C2 A) C- a-b . at Cbd => C6) ~ 43) = C6) + GMB)219 Y Calabar ob complement del Sustraende J Gurot pit a bit tomando en went dl Wpit del axg00 © a. ~ 6 a4: -6 A AAA 4040 ~br-B Hb: sb 40000 4404 cy t4 ce+4 1 0000 0A44 Camp <1 (No ln cateractn) OO 8F OF 0 0 oO ° Oboetvacion : J Existe un prestamo Gande el sustigendo es mayo que el minvendo (b 72) J En d como dela certo , hay que complementar el CARRY, a fin de tnbat gevidid ond ud PAFSTANO , ES eneste cay que sucede lo sale: Catys A => Cerda Che 0 ® C. a-b~ GG) - G3). Ge) +O) = 3 ay th a, tb 0000 9440 -) bt bi +) 4AAA 0044 cy 74 ey, 4 0 AAAs A004 Camry <0 {i ela caiterecdn Obeervocidny ; V Comperontando a Carry: 0, s¢ dobine CF_4 , dado qe exisle Un gréotarnn v 6 po x A). ta ah ek tbe EL SF a enendy por a bil dd Signo (4) 4 9 4 0 ¥ OVERELOW para ENteRoss $5 y CS . J Entéges 99. Enteve sin signd (55) > 4 bits . Rango (0 457 040A ..... 5 ‘ pon0 ve MO 4) A040... 0 4) 0440 2.45 G 0 £AAA AB 4 9900 _. Abo =S Overflow L (sre piodue on Carry erlonces + Ch | hay @ver flow V ENTERO C3. Entero con sige (C5) en (2 > Ybis Rango « [-8 +95 Ted 0400 4400 0 “4 HA AOA <3 HAQAA 2 tS -5 A 0007 YA OAM 2 4 ey Overflow Oboonaagn : 0) Bi 2e Soman 2 numners del msn Signo y A cegaltado de dicho soma €5 de signd opwslo se produce un (GiEREo,) by Nona exishe QUERFLOW gi'se suman o estan dos nimecos de signo peste. Gomparat log 2 acarreas qe producen : c) J) Si les acamens. on (qoales Gaara a) 2) Si los acartees mo don \qales hay OVERFLOW , SP YH? cdumma del bit Giry MeO Ver + ae — comento del carry 1944 | —— Secompri1a a ary Sonal Con lo ving A QAA4 telamna dd lait aoe mov mov ty 4 nap mov mov ine sub Nop mov rou 5b Nop Pracicanda Cuestionarin Hp 4 AS eA i ee ya al , [bl ts rl, al 420 50 0 _AAOA ~ ONAO be 5 ROA oR WY oO Rd OR G Ge pea. aT $e Ono ey CLA a= 70 20 iale 9:80 0 { (.0, 5=0,220 Re n20 — 0-0 jbl _pl=al 30 7el= OxDO tf Ops 0000 ree ADA 0000 & 0040 0000 Cor 44044 d000 rk Bad B20 “FON 0000 - 0% DO => 0010 AAA d\< EC GE cl = oF “A cl = 6D GD a dle ec ~eD ate” Ce dl= 4E “db 1.0 V0.4 “TF seen AMOA 4400 C-0, 5-0, BO AAA (FAQ 0004. OLA Oo ator a4 tb ARB A o-4 | 4 Biks Gueshonaro jf ADD Sub BY o4 a2 1b SX2y Rarer pens ol04 4 4 hod b= 0x53 teeta mov BA, 0x54 4 3 mi OL, Col dla 0x43 ft dec DL dl = 0442 4 od) GH DL gu a4 #2 Mov CH, UG 4 Ox 34 Mov AL) CbJ al. 0x54 Ine CH (He 0432 ui Sub AL, A 5% 0X04 4000 et “32” 0044 0040 oy 2G Pea \ Bah A000 Sf00 14d «4 O10 O44 0 0 a3 mere f C20, 6.0,2.0 ¥ Formato General de [ad instrucciones en Assembler a| (etiqveta :] — inskwaion ( destino [, fuente J} [ ; comentario ] Le Campo 0 VWtigatono pemides t o " 4 [NstauctiON Mov Mov Mover o topiar datos 8 on lugar a chro de uestio cgrnipubador » Sintaxis 0 formato : 5] [ebigeta 2] instru ( destino [, fvente J] (; comentario J ete destino <<-- fuente Eo tecie , ‘maviendo” los datas del oferator fuerte al ojerdor destino , Se presenta en 5 posiviidades : a) MOV veg, thm 4) MOY raj) mem 2) Mov men, im 5) MOV mem , Tey 3) MOV feg | FeQ A) Mada _Direationamniendo _Inmedralo (C mov eg, nin) "wor — tas indindvales a regitros,” segment. text qldoal rain main: mov ah, 4B j-mveve 45 (valor thmediafo) al registro. aby Eh: mov bX , 423 mutve 423 al registro bx moy CCX, OxkOO j mueve 0100 hexadearnal al registro ecx V Dba pistokted pare mover dalas es la siguiente; segment . text (mou reg, in.) Q\soal Akl “Mover Gales indaindles a registro " mat, cit eq) x5 | atel Ge dealing una cavotarle, hexadecimal moor al, dno; el valor ge le constanle como vabr inmedaler . mov bl, AL; se mueve a bl = Oxud dl valor inmediale mov ax, "NB"; se mnele g aX 0x 4244 al valor inmediale . (wow men, inm )] “Mover datos Indiidisles a, diteccion dememoria” segment toss; vores declatodas (vanables con tamotio eservado)) a teh Jj Sin inicralizal b row A co fesd 4 ates q A segment . text qldoal main nombre matt) vavialale pas roy byte [a], 42 mov word Cb), 0x 4234 mov dword (CJ, ~ 2384 mov quod [4], 43350 + Se prede user fambyen diecrones fisicas de memoria mao oye LC Ox 00 UNAOZOT, AR mov dword L Oy 00407020], DylAay 5078 Tet ovble, wor Menor byte 003 Ejemgla 1 Qxd2 ¥ 400% « 4005 & Commo $2 puede a Ox 4004 4) Mado_de _ Diecowoniente_ps_Repisto ( Mov rea, fey) |S Mover datos de cegistro a cegsira! Segment. text global ain main ov bly ah i Gpa A contends de ah bl (1 bytes ) mol ox, aX } Yl suecesivamente MOV ex, €4% MOY ea) ear mov Ub , Tar No-eb posible, moover dates enbie cegisiras de diferede fomatio ( MoV veg, mem) | * Mover datas de direc de emoria a Fegiste we) segment... data a dd b do, ¢ db dd vert do var2 Ob Vers, dw ARS woqy AD, 20,30, 40 Ox FFFFFFEE 0 Orb Qn 0300 segment. text glooat — rnain main, : mov al, Lal 3 al = Ox AP. (CONTENIDO Ht mov ebx, Ca] ; Pota relerrse ol conlemdo fe fe variable nos reFerimos como mo &%, Cb J mo rAd, Lvov J XOr_edx, edy i losbeucaoh logic pare Limprar un reastro 990090000 mov dl, Eel } al. 0x10 (commento) mov dl, Cera] 5 dl. 0% mov dl , Tera] dls 0x30 mov edx, [ ce J edx 2 004020204 )» Obra postlulidad La Gireceutn de memoria {ralvajando como punter, DIRECCION mol eax, aj fy EA Asie ex |g “direcion" dy ta vertaole mo e5h 4 - Eh es, Bebb u030/4 ; -¥ simbarmenle , cargando lq dvemot de ona varieble de waners crediiva leo eax; Lal 7 wine de'la direccion efectiva de memoria > fooNT ENG oy eax, dword [ vatA] 7 Levande Litt ~ endian } Corsiderasernos —dword Evers] 2 002006100 yesl esd valor que Mleva- vemos a eax. Ox 2 006400 eo Wrasts completar el registro destino Vay Var Var 4) van) 2 2 z o “ease 5 oO s = § 3 Bs (ov mem, 73) segment. data x DB 45 y Dw A2an5 segment, bes a reed 4 b teed J ceo we A dren A e@ veg 4 segment, ext goal main man: “ Muete os dos de tegistro a memoria’ j CtG> previa de valores a registres mov eax , Ox 42345078 MOU ebx 5 geggets mov oh Ix abc mov g'\ ) 258 + Duvedonarnienty mov {o] eae j more rooy fe 7 Bx 5 mae mov Lo} cx 1 WONG mov Fqa: al move mov fd) ch | move moy Ces, 40 | Move ov LX1, al j inove mov LY], ax 5 move QuHem AZ0° J Modo de Diveccionamenta Indirecte por Reaietto , seament. data amealoA DB. Ox Mo, 0x20, 0x30, Ox 40, 0x50 arog DB Ox W, 0x70, Ox 8), 0x90, Oy AA, 0x88, 0x0, OxpD Segment bss anedod resd A Seginent. text Q\doo! main wai 5 xor fax, Tox} limpionda el registro . mov Thx, atregloA ; DIRECCION, moviendo rox = 0000 0000 0040 3045 moval (rox jal = Oyt0 , PuNtTERO al cnfenida que. quremas acceler. wor aX, CrbxT ) ax - 02040 , de ta amiga manera . mov eax, [rhx] | eax 2 Ox 40302040 ma TAX, [rex] | tax. Oy 804060 50 403020 40 ; Gina de Vo direccon efectiva de memoria lea thx, [areal 4]; Dinecclon, moviendo rox = 0000 0000 0040 3030 mov [rox], byte 0x10 5 Mover oo dato immediate a fa gosicion o coflenida de memoria que aponta bx rox = 0000 9000 0040 1020 : mol [tx], dword 0x10203040 5 dale ‘nmedal > a la pos.oon o contenide do memoria de vox, J Coneiystones -— [nstavecones “ Mov" ( ERRORES (OMNES) Direcciones Informacion 404000 - text uo 4559 etext —{micio de. Inotruccones 40 3000 + data 40 4000 - bss V Mola de Dreccianamientis $ De exceden los limites cuando Moy ah, 0% ABCD FC 5 No es prsibe mover dalos. inmnediatos de tomrafio que Superen al REGISTRO destino . MOV ax, ~B2464% 5 [-32968., 32409] - No es posible mover dolo meddle que copese el congo de bits del REGISTRO destino , VY Mola de Dreccnnamientis % Tener cidade Mov [a], Ox AB Noes pestle complay . fs necesarto EOPECIFICAR ELTAMANO DE LA VARIAGLE & Tener ordodo searnent, , { et a j No e5 pustelg mover porque a dato inmedrate segment, kext exeede A tarmatio (byte Lal). gio al mam . maint ; De manera general fava obios. casos. simnlates Mov byte [a], Ox hOCD es valde fs fa Hee 2, 40703, va eh bytes se ectan Ceemplaranto 238 ee fou | Sets 3.5 a P 4 a5 + SS ale 2254 ' 26 ae og S&S | pigle MB, edd las te Pidivia. yy e $35 4 52 $2. acer fees b. 823 F p22 | OK Y Wola 8 Drecconamientis MOV Tax, ox No es poelale mover datos entre registras de dstinle Lametio . Y Wola de Drecconamientis # Tener oidedo segrnent, . data ado 0x AB b dw Ox co j AB CO OD, segment, text gical mem MNO f ML ER) Teeth ond melee tie & Tomrt en oenta : Al mover arvedos a reqistras destinns , Es reesatto definiy ob arredo del memo bamafio que sus cemenls, (asd ontario suederd esto segment. data a dw Oxi0; 0x20 ,0%30 j 40.00 20 00 20 00 sane NOW F mov eax, Lal i000 00 40 Little endian MW eax, Cardy 520.002.0909 Moy ex, CAAT | pH ap 00 20 # Tomar en wenka : Si se muge a un arteqlo grende , el contenido dy memoiias , se cealiza hasta completar dicho arreole , ¥ Tomar en enka : Si se quiere mover con [a siguiente. Instrvecuon dword ( vara wove haus tt Deben comeidhir con & erismo famano . Wa be Deans % Tomar en wenta mov ¢, CaX 5 No es posible cmpllar por error de aint axis, Para acter ala variable es necwesarig dyacibit ; Cel * Tene cuidado con d moumienls de dates de vey'etres a diteccones de memoria ( segmnentio data y 45 (Keemplazos de datas ) provocedo por el tomahd de les varables definidss en los 2 segmentos , & Todo conlinidn do ualauies cegistm que se dita MOVER @ ono dvieccn te memona , provoca und sobteestcture de Sus dates contenides , 4 Modo de Diveccronamienta Intiredte por Registro , ie die Reccoamleinid Integy _[ por! Reqisita searnent, . data ado Ox AB segment, text gloal mam main MoV ax, aj Noes posible copier o mova lo qieccion Sica de memoria Xa vn aegetto qu 0 prods eontonerla . eax. 0 40 3010 J Estudio DE INSTRUCONES — EN ENSAMBLADOR, ADD 2 Suma Sud : Resta AOC 2 dyuma con Atarred SBB > Resta con prestamo INC 1 Increments DEC + Decrements V Insrauccian ADO! 5] [ebiueta :] — induain ( dedino [, fuerte J} {+ comentario ] te rt EE Se presenta 5 gooiglidades estino <<-~ fuente . f iy 4) ( AD ve, inm )] Summa de un dale inmediats con on cegistto segment . dota a DOW 0x 490A) 55 = 39666 CS. -2b 910 b OW Oy AAR) 55 2 41459 CS. - 24077 it. 4 0x38tD |; AVS 5-047 pos Oth. xd _ ZgFD >>> 14589 segment. bes c vesw A segment. bexb qlooal main main ! ; tir. wmedrals (req, nm) xo ax, eax MOV ax, OyGA0A ADD aX, OxAMFS 5 El resuliada s¢ reemplava en ax vow Cel, ax i Mmmatenando en la var. C + Benders C4, #20, 520,024 bir, nmeiate (mem, inm) 2.) ( A00 mem, inm ) KOR eax, ax MOU word fc), Ox490A —; adate int. se mueve a la ver, C (men) ADD wad (c), Ox ATF3 | d data inm se suma con d dat, gue almatena fa vat. cy el resultado 5e Gverdo en la var c, iManleras : C=4 , 720,520, O24 3) [Cro req , mem) | Suma del date de una memoria oon un KOR @ax, @aX resto. (-DinECTO) } Mov ax, (al i aX - Ox GOA Aw ax, Ce) jax . 0x38FD MOV [te], ax jC. 0x 38D i Banderas C-A , 2.0, 5-0, 0-4 4 } ( ADD feg , Mey ) “OR eax, @ax mov ax, Cal (axe 0x 470A Mov by, {bd i bx = Ox AMES ADD ax, bx jf axs 0x 38FD ADD fe], ax j Banderss. £24, 220,520,024 5 } Modo (ndarects por Remotro . KOR eax, eax Moy ebx + movienth. a ax ladireccan de la ver. a MoU ax, Cebx4 7 tmueve, los primers 2 bytes a ax Ox GOA ADD ax , Cebx+2] ; summa, A conteridn de cow a partir de be ADD -[t}, ax pesiGa gel Origen + 2 ~wH aX 7 por lta 50 Suma ax CON fa var C.y ge almacena ally, Cs 0x d8FD . Banderas. Le 4, 220, 520,024 Y Instavccon "Sug 7 segment. data a 0B 0x dA DX GR > 55200 05. 440 b OB Ox FI j; 0xF¥ > 55. qua 052 +4 Ox 5A OxdA QAQA ADAD OA0A_ A040 oorrg eaves) Pana so 7? *) p00 one (20 QAsQ 000A OxoA Oxo ¢ CoA Sts a6 - UxBA- 0x4. Oxet ) 85 Oxo4 2 44 5 > [eA Overhlow orrot j; CS 0x04 = + ; > O-0 OK) segment. bes co vesb 4 segment. text global main main : XOR eax , eax Mov an, Cal jane Ox 5A wor el, Eb) 7 cd = Oy Fa sun ah, cl j an= ah-cl = Oxod M00 Cel, ah Bandon ; Cal) 2-09-0020 j existe un prestamo 1 1 J tnetavecion ADL Soma con acarreo" (add with cany") segment. data segment. bss c Yea g 2 segment. text, gloloal main main: ; & = Ox 00000000 00000003 FFFFFFEF FFEF FFFE } b= Ox 00000000 20000005 0000 0000 0000 0004 7 t+ Ob PE ieee } Carry. Separando €n dog fa sua ; as Q x_ dod N00 00000005 FP FFRFFER FREE EFEF j Os 0 x 00000000 00000005 9.000 0000 0000 0004 Pie {x 0000 0000 d900 0004 0.000 0000 dodo 0000 j RAZ RAZ i +) at RAS i RA RAZ i PaiweR NoMeRo DE GU-Bib est Ox 00000000 00000003 FFFFFFEF FFE FFFE MOV RAZ, Ox ObOdKOLD 90000003 MOU RAS, OX Fre RR RR FREE FEF 7 SEGUNDO NoMeRo Dé G4U-Bib es: 0 < 00000000 00000005 O00 0000 0000 0004 Mov RAY ) de QOODODED 00000005 Moy Ray, Ox 9000 0000 0.000 0004 V _Instruecones _Logicas _BIT WISE Mirar video pot estado El dlyebiio te dicnas, programas ed esbidio de las siguientes ‘nstracuones “logis” en ensambgiador ( insbrocciones ad que 2 ealizan bit abit!) a) AND ) Not WOR e) NEG 2) XOR, ‘) TEST a) Lisbesin_ ( ano 8) Caso Genemat XL "a" Ox = 0410 00d4 XXX XXXX |X. x & OxDE Oye 440A AMA goo0 4444 Ol 0400 0004 0000 xX xx Mol aL, ‘a ; 0x Gl AND AL) OxDF jal 2 0,4 b) Inetrucion (08 |) Caso GENERAL ) RRR HKKX x NM" x44 = 0400 0004 poo 4444 |x. x | 0x20 0120-0020 0000 XXXX AAAA Oxo4. 0440 000A MoV AL, “AY i Ox ORAL, 0x20 j Oxted c) Antivecin (OR 4) Caso GENERAL XKXX XXXX |X. “a! a x XX ono0 4444 Xe XA dyad XXXK wane fo XXX Complemento de «X Ox Gl = 0440 0004 Ova =_OOM_0400 0x55. 0404 DrvA Mov AL, ‘a! XOR AL, Ox 34 d) Unettvecion (Nol ~ ) Aso GENERAL 0x BE OAD AAA Mov AL, 0x56 FL A 4 Nv +6) ~XKXX X x t [ x Xx ~v 4.040 9000 NOT AL 2) instream ( NEG) + Calula el complemente » 2 [c 2] moval, Ox AF | als ~ 84 NEG al 0x59. +89 NEG al i O%A1 2-89 el) Instrocion (NEG) . Ofc fora de tealizarlo ; NOT(CA) + INC (C2) Mov AL, OxAA j als -99 NOT AL a\- +83, Oxbd INC AL als +89, 0x59 f) Ingttuecioln (Test). Realiaa la misma inetrucaoh AND logics an quardar o\ tenvlhado vackalizandle sus MOV AL, Ox Aq r banderas. Test AL, OxC3 TEST CL L rt ; Les Benders SF y ZF solamente. feb, se adiahiraen V Cifrado - Enoriptecton wn la Instrucceon XOR Mengaye a enviar ¢ “abcd” A~w B JE | Clave para enceiptar = 52. O0xd4 aes A) miawon t OAAO 0004 Oxo4 ‘a XOR a) 0044 0100 0434 0404 0404 0x55 — 1! . sustewamente con bi ey a Mengaje que viaye a trails gelared > “uvwe" 8) 1 OADM OAOA 0x BS “D XOR a) OOAS DADO =O, BU O4AD 90004 Oxo4 —> ‘a . suskewamente wn Vi WP a) __ SWIFT LOGICOS 4 SuL © Shift Logical Left). Desplazamiedts loqea ala lequierda (694 / Oro OA0A = 8) ion 6101 = 213 Ck-0 2040 1010 <0 490 (F-44040 040 <0 .170 { mov AL) 85 Mov AL, 243 Over blo oHl AL A Sal AL aw Nota : El besaramienta lagwo ala Iequerda moltplica dl aumers 2" ¥ SARC Shift Logical Right) » Desplaramiede logia 2 la devecha (654 AhOA O0OG)_ = 208 4404 000 = 209 O- 0140 4000 tF.0 -404 | O- O10 1000 OF. A = AO ‘sultan = AD4, > Mov AL, 208 mov AL, 209 Sea AL) A sua AL) 4 iota : El besptararienis Ligioo a lq derena se duvide por a) autem 2” segment. data dele «OB 85 dole Ba dala> DB 409 dato 9B 204 geomet. text gldoal. math mo i SHE (Sin Signo) Mov AL, { date 4 al. 0x55 +--=- > Ob 010/04 O4 aR At Sac ea Oe lorgroto ov AL, L tate 2) ale Oxd5 toi eH AL A tale OR mA ALA 1 SHR (OH Signo) MOU AL > Chay 34 j al- OxDO 0410 4000 Sag AL) 4 ‘al = 0x68 or 8 Mov AL, Chats 44 al. xD, SaR AL) : {=F ; Oba forma de Sintaxio . — ( Regfotros’) Mov al, (dale 41 al «Ox. —9 2 Mov cl) 2 ; contador _# desplazamientos sua al, el jal. 0 SBR ‘| 12 1} Guvalenle a |e olhima mtiocah . j Oba sinkaxis (Memoria ) SHR byte (taloYT , 2; (dale4)- Ox 22 ‘eb b) SHLET ARIIMETHCOS , ¥ SAL (Shift Arith melic left) + desslaromiente avitmetico a ba izquerda (cs) 0000 4040 ~ +10 0400 AO4O = +44 0004 0100 - +20 4004 osd0 - -108 (F-0 Mov AL, HO Uf 0 L, Overflow act hig Mov AL, #14 t SAL AL, A Nobas Desplaramiente avibmet.co @ [a ixquieda multiplia el nowero 2" ¥ SAR ( Shilb Arithmebic Right) : desplavarnient onitmetico a fa detecna (0.5) 0400 4040) = #44 A400 A040) --5Y ‘ola tor) . +34 AAD ood \ ==29 (0 Cr.O0 MOV AL) #34 MOV AL, 754 SAA AL, A SAR AL, A Pars mmexos negatives inserbar wm yt Nota: Desplaramients aribmetso 2 la taquerda paving el nomero 2" tat BY +4! jt QuER FLO ic ty A) +4 Caale 21 {date 21 texl act mat i be aly 1 Mit \g > SA seament tat main SA J Anetruaiones de Control de Flyo del Programa 4) Inebroccion MP —( Jump Incondicional’) ll IMP etiqueta i Salta siempre a la atiaveta especificada,, no se hija en rngon bandera. Seqinent . bext dda! man ‘ah + Mov EAX , 423.45 ov ECX, 67 840 Sub EAX | €cX SM2_ surna ; allo mcondcoral a [a etiueta, “sun” 8UB EBX, EDX j wna $€ Qeuta, alee: MP fin | Salle mondiaonal a Fin “ sum: ADD ECX , EAX VM abras Fin 3 tet, ; Salloinomditignal 4° otras” XOR_ FAX, EAX 2) _Insbrucciones _QUMP _Condiciorales _(1_ sda Bandexa) JMP conkioonales simples que fijan en el estada de une sda bandera (Hag). Si se wnple fa cordicson de fa bandera ( bandera en i) 52 produce el Salto ala ebqueta , caso comttario Chendera en 0) no s8 produce a salto yd progama oorbinv’ en fornm sewoncial . Condiciones de test, de la Bandera, JC etaqueta ——Cyvmp iF carry) CK. 4 Swe ebiquete —( yorp iF nob carey ) Ck. 0 JE ehiveta —C ytmp iFeer0) ZL SNZ ebiweta ( ymp(F od Zero) ZF. O JS Agueta —(junp it egple oF. A INS ekiqueta ( ye ik not regative) OFL Jo ebiqueta (jump if ovectlow ) OFLA JNO ebiqueta ( jump Vf ak, ovetHow ) oF- 0 segment bss pr nome RESB, A seament. Eext aldval man main} wor Aly 18, s0B Ly. A pale = 82 = OxhE , GFA, BF, SFA, DFO 3S megabit p Salle a negative” ei SFed, a) negative : Mov [ nom-cegd , AL ape jump dyaonal if pms 2 nj th 2 iF 3 rnin AB sro surendo E ; 0 on ig ~ (120) 427 > cesulhado poative > SF ment. bss AD SB fatwd 9 ‘eng tex giobal main MBL Ete 6v BI ) a x + negative ; solo alta Sel A mp pean TAL ww Coegatwod A % er 2 Oo 3 g fe o = & = "8 2 o Ra g Ss fi a «4 Sa 3 Cg ‘a_fal 3 a) T £ ‘ ave ¢ 5.8 3 a7. - 3 ~ a es 3 2 S = 5 f s 2 os ech 2858 Ba “ = so o & =e == 2 8 we we ‘8 > Rg ‘> Ss Ss i S a S Sou a iS BSs By s Sa22 * oe © | 4 ca = s Oe S x~ By g z 3 5 Q Ses) : 4 SS s Sia - eo g 3 A eo _3 & 4 fe Resumen de Melos de Direxoranvents . BareReg BaseReg + Disp Index Reg & SF + Disp BavcRey + IndexRen Base Rey + Index Rey + Disp Base Reg + Index Reg * SF Base Reg + Index Reg # SF + Disp AIP + Disp Foctot de esala Desplararmienta \psbrocagh CMP pregunta Moy Mov Mov Mov Mov Mov Moy Mov vax {ax Tax, } (ar (ar Vou fax vox V Operadores de Comparacion Relaconal 2) Sin Signd (39) Condauones de Test SA eliqueta A>B (Fo y 2F.0 JAE ebiquets AzB UF 0 > INC 1B etiqueta h 3c SBE ebquela AB Ch 40 LFA dE etigeta A =.68 Efe A = 32 ONE ebiquete Al=B ZF. 0S UNE b) Con Signd (ced L6— diqueta Az B 2Fon0 y Gia. OF) \GE aiqueta AFB SF 2+ OF SL ebquela A cB S¥ t= OF SLE etiqeta A¢®B ZPezh o (Fle OF) dE etiqate besB Bend d2 ONE ehiquela Ala. EFe20 DNE : a a J \nstruccign CMP CUP destino, Fuente [ Realiza ona wile, aclualita las Bawoéras » pero NO almacena A secultado , V _Instrocciones te Multiplicanones (MUL - TMuL) si rmullipicamts 2 numneros con un famafio de n-lits cate une Sera’ aln-bils) + b(n-bits) = prokedy axl (an - bits) 4) app _oxtF Produce ak _ 2° b DB oy FF Depondle oi foo vavinkles dfs a y b smn 85 y CO SS (sin MUL C2 (Con sign) > [ MUL «ow 7 El fowl dhs instrcione® son; MUL ‘4, TMUL + / m8 wi yah ih a MUL 7m oo IMyL 7m ot Vi Resvltado de ta Inatruecon — MUL, TMUL Bytes Words, Deuble Words Quadwords al ax eax Tax t % x * 08 opt 0p 32 0p bY ah al ax ax edx €aX dx vax FA w oo x oo = 4 < S a (2 . 48 : 3 = 2 i 24 2 a 3 = Z s u x = a uk ss os Cae 2 2 <5 = eee in cl ae a © 22 = CL ~> eS ua = tS ake — st uct = w i AY mo = = me sk a el Pos 5> ma So * 4 e 4 - 8 3 2? Ss & ole -s Q g i a 2 s sj aI Boy ete a € 3 2 25 8 ee oa = € =: e a za 2 ar 2 3 3 = 332 Se 5 2¢ 2222 3 4 Ox 0000 Nop % S Ss it = Bk Ay x 4 3 Ts Ste a “S303 & LL ee ee ee 12% 8 izes 5 a = z is s SI 420 5 £ So Se 8 fete = Js Be | tH - = ze Mul (MUL fine 3 Formates de V—Intrvciones de Mttilcactn La wnstroccion x Formate de 2 operandos IMuL__E®X_) 100 jeg fiom imuL —ECX |) Cx] ; 1G mom Mol EDX) EBX 5 cea / eq Formale de > operandos IMuL —ECX iMuL BLO | RAO {so i veg / nm Soyment , data words Dw Ox 423 word 2 pw Ox 400 we A DD x 2345 vsle DD. Ox A0000 wad 4 0G, Ox 4234 96434 dad D@ Ox 1000 90000 stymunt,. bss wns resw w Ans veow 4 dAng 4 vesd 4 Are 2 ted 4 And4 esq 4 4 hnb2 ceq | 2-3. Operandas 1, 2 y 3 Operandos Rogbrictiones = a) El destino siempre debe sex on feqeh® yo) 3a fey bits IL |) No Soporta cegistres 8 wits | | Regbricciones —: ) LX], 400. j a fim n3 a) E] destino slampe debe ser un Teh yy) 3a fey bits 1b) No Soperfa cegistres S bits || Sogn. tart gual. main ‘rat: xor "ax , fax pwAesl 2 words Oxi mo ax, Cwordad ’ - imo 2%, Oxt0 j BX s Ox CHD = OK | nomarn pequetto mov (wAne’), ax j wAns2 . wotdd 4 word 2 me ae Cae dal 3 imo! a) word (wor } AX = Ox 2300 nay Cw Ate?) ax 1 Qverflow aX. 0x4200 fruncamuanlo ; dng A - doles x WO0 no oy cox» ( dovblerd imu! eax » QxWWo0 7 22% = Ox 1234, 5000 mov {ahnss} , ax ; dans? 2 a NumA ¢ d.NomB ‘nop. mol 2ax Chovble A mil eax | Cdovble 2; eax = Ox 2345 _ 0000 mo (dAnd2l', eax i tadado el Ova flow | g Andi = q Numa # 100000 ee rox, { quadAd me vi eh ak! gultbooca jax = Ox 0042 3436 — 7890 COO mov Eq pnedd Tox | (ns = qn g. Nom nor sao i i Tak= 0, 235 6384. 0050 OBO 4. Wi = 4 rou (qhre2 r ay i Mie a ope flee ¥ a3 & J Instwucctones de Diviewn DIV, LDV A) la omsion a diferencia de las oparncmmes + j- .% , Genera Areslkades . Codente ) Residiye dwidendo divisor an {a CeaLhuy coaterte, y n 1) El dunsor oo puede tena d valor 0 cexo , (Dwsision entre cero’) 2) La opevadon de Sivown oo 26 conmubalus | 4) La divisiin puedle generat on oveiflow (_Debida 9 argu adr dal pocesader ) Bytes Words ah al _ al dy aX, ax op 8 opAe tan aly Fem dx Double Word Quad Word edx eax eax vax. Fax . Tax op 32 0 G4 ren eax ram 9x J Rewrdar wis sigvie eayauon ¢5 slempre VALIDA : DIVIOENDO = COCIENTE € DINSOR + Resiovo [r-a/4-2 N+ 9/7 +2 Coaene . + 3 - +A Pode, Bae Ft a) -~4/ +2 Cougnteg . - ~ A ;Poudoa i= 3 at 2 + a) +4/--2 Conente = - 3 +A j Pode! y- 2 + y) -F/-2 Cwdent)e - +3 ~A_ | Prolog £3 #2 + seament, . tert doa tain tat * XOR _EAX , BAX XOR Ex 1 ECK 1 Division Sin Signo (65) Dwidic Asa J Az nop Hee Ae CE aide ™m ‘ AW! DIV CL 1 t 0) Ox Oc j produce 20> OxAM = AL (oenle ) j Ad. 0406 © AN (residue) ; Sin Signo (5), divdir 5 443 / 300 hop mov AX, SANT AX. Ox 1B ( Dividendo py . AX eA REE sea ox alee CX OW aa 300 } 2 0x " CDiuisor \ ; Protve 19. Ox O04 2 AX (coaenle) y UF _ Ox OOF ~ Dx (Iesiduy) ; ain Signo (9) nop Duidend> CRDX 1 RAX) mo RAX , fad 6744 043909 55 1045 i RAX = Ox EFFE FEFE FFEFEFFY Xor RDX , clea ROX_, culdado mov aee : Yel 6 86018U2 7 21 404 ) BCX = Ox 4000 006D OO00 6000 PY Diusor (RCX) j produ — 3~ Ox O0V00000 OPO C003 = RAX (covenlé) ) AGIA 8004842 9389403_ Ox SFFF FFFF FFFF FFFF . ROX Segment . text sor. main main ; Dusen Con Signo (C5). -95 /42 Xo ax, a MY OX) Qf ANS OK EAA mov cl 44a j Che OKC, DIV CL j Axs Ox FOF j; Gowle : -F264 2 AL i Rescue sell Fbe AH | Oba Towa serv ov AL, -45 a toy AR OveF y AX = Ox FE.AA ; CANT ALJ mo CL AD (ol tL ; AX = Oy FOFO J Extensiones de Regisbros Las inekrocciones para ta Division [CS] Con Signer. CBW > brte bo word cwod t—? word to double vert CHR a a > double fo quad word CQO L_, quatwword fo octaward Hal AL, 99 AL. (x Ad caw AK. Ox EF AXz Ox FFAA 2-95) toy tL, Ad cL Ox od \DwW CL AX. Ox FOF 414 ua wo oO ae Ss ex BS & Ss ui au. ee 2 a z BS g aft & = >< >< <>< Or xt ov S Bz SB 38a ¥ Stack — ( Pile) 2% PARCIAL Stack Operations a\¥ Runtime Stack (Tempo de Ejewcih ) a) xX PUSH Operation 3) # POP Operation 4) Runtine Steck . — consta de una estructura LVEO donde los datos se almacenan de \a Sule manera : CET pitino dale / Ultimo taty 1 | en west ESF ingresado eel primeto : j en salir. \ Last Wl - FIRST out“ Los powsatores —implementan on stack en el computador # Donde d tope del STACK esta en le dieccion 000 0000 0022 FFA, = Poro impementor en el stack ¢5 gosible con RSP (Regster Stack Powter). ¥ El ASP sempre indice el bope del Stack # Enel Stack sco podemas brdcayer con 2 operecioned , PUSH y POP A) Ins trucecon P ust Enforees cuando go quitra —iodwcy on, cueto daly en dl Stack , veoremos a instcucci PUSH, Consewenbementa el Stack creterd hacia bg donde se deorementara la direccoh cn cada dale nuevo ingresado . Sinbaxis Push v1 MAG Pus in 8, 46, B2 Todo dali 6s. extenddle Push tm 64 a GY bits” B) Inetruceion POP. se encorya de cewperar los datas introduces ond stack con la carrctenstila LIFD , dear teupera a ulbino date que Se Wm ingetada daede el bope donde apnta el ASP Sinbanive : POP vl mse Por r/moy Notepad —: 4 x su@ ROP, Huge | mov CRSP], EAX Pop EBX 4 Mov EBX, (ESP) MDD egp , 4 ey — Careccioh diteccion ewemer g = 0022 FFS' Si A 22 FE Beh Pe det R 0.22 00.32 O0Art 38 N \ 5D DEE F a SP = RSP. or v: PUS x AR x ARB! x nab. a (al Ox ext ax it fax q t ord ( Ww. dq pus) j He bit eh Woh b sh -s ext seg KX you & nia oy if AX ACK AB, text x BX RA RB PoP Pe 0S PuS Pus! Por main ¢ AD! Ic Mov Sub sengnent VS ubrukinas Llamades 2 subrubinas Nos permile alnortat codigo , a treves dal paso de parometros Instrocecon : CALL} Lama a ung —subrobina Posh [adirecaon de fa proxutra wnotrucioh en el Stack , Copa [a direccion de la subrobina en el reyis- tro AIP. RET | selon de ja subrulina . POP al tope del Stack end) rege bo RIP seynent, date Segment. boo Global main . main ;{ nop i Paso parametros (valor 0 tefexendia nop CALL 4ubeubina, 7 Tlawdg ala aulprolyna EAA: nop jp WOUEDA PUSH. Nop ee, j paso parametros — (valor o referencia CALL subrubina, ; llama la subrubna; YOADO4 ; Pus FR: nop nor GET A a 4015 64 fe A pete ope seFefenuia bina vbrudl (valor la subrubina POP ara de a ¢8pmo de la Tamaca a le ubNas i poo Ou: i 7960. parametros aida de Ax, a 3 ub rutina pas Lin ON main; Sul AL main subroli t of . a 4 + ; Como" Subcabina” , acepta “Porametras” de main j Peo de porametres por * VALOR” Entroda registro EAX | Resultado registro EAX TMASTa + AND EAX , Ox FFFF O00 , resultado en FAX Ret seyment data a RL AE segment. tesultatod esd Ceoulbado® — Yesd 4 segment text main: MO RAK, date 4 i Arqymente Lrg BAX pat “referencia (diacion )" CALL masta ; llamada subrytina * mascara” Mov [reviltado 41, eax hn oraabate a la subrvtina Mov RAK, dats 2 " Argumente al registro BAX yor“ ceherencia Cliseccian l CALL as cara + Hamada aubsobina moacare MOV ( resultado 41, eax ‘op ret woe ee ee Subcubinds ee. ; Aerts paromebroe del Main, ;, Poso de patametias por ceferencsa ; Enbroda —_reqig-ro RAX 1 Resultado Femebro RAK maocara | mov eax, [ vax] and eax, Ox FFFF 0000 | wwltado en EAX Ret VY Micweokt x GU ABL ( Convenciones y reglas de paso de parame ros y dotencon de vesvitados ) % Si un programa pasa 4 perametros a ona EUNQON o SuBAVTINA 4 fealiza en estos cegistras reopectivemente : a) REX 3) RB ( Primes 4 parstnebros enteres ) 2) ROX 4) AY X la Fone regresa A entero en BAX g ROX ; BAX (diisin ) = 3s % g 2 — 2 SIs) 8 © oe 2 Tot e a 3 - * [Le = ‘ ake 6 Ss = 2 ZI “ee 5 = & & 323 = BS é go 8 o SNS 5 x @ S 2 5 Q 3 o i Be 3s on ta s 2 3 s x e E 5 S28 285 3 e. = ge w ters w= € 2 Se 4 € & [. = a 4 ee Se oa ee S22 GH =f he

También podría gustarte