Está en la página 1de 8

U.N.S.A F.I.P.S ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS CURSO: ARQUITECTURA DE COMPUTADORAS CUARTA PRCTICA DE LABORATORIO INSTRUCCIONES ARITMTICAS I.

OBJETIVOS Observar el uso de al u!as "!s#ru$$"o!es ar"#%&#"$as ' las ba!deras (ue so! a)e$#adas.

II. MARCO TERICO

Instrucciones Arit etic!s "A#ect!n $os #$!%s A&' C&' O&' P&' S&' (&)
ADD dest,src O*era$"+!: dest <- dest + src. ADC dest,src O*era$"+!: dest <- dest + src + CF. SUB dest,src O*era$"+!: dest <- dest - src. SBB dest,src O*era$"+!: dest <- dest - src - CF. CMP dest,src O*era$"+!: dest - src (slo afecta flags). INC dest O*era$"+!: dest <- dest + 1 (no afecta CF). DEC dest O*era$"+!: dest <- dest - 1 (no afecta CF). NE* dest O*era$"+!: dest <- - dest. do!de dest , {reg|mem} ' src , {reg|mem|inmed} !o *ud"e!do a%bos o*era!dos es#ar e! %e%or"a. DAA Corr" e el resul#ado de u!a su%a de dos valores -CD e%*a(ue#ados e! el re "s#ro AL .debe es#ar "!%ed"a#a%e!#e des*u&s de u!a "!s#ru$$"+! ADD o ADC/. OF es "!de)"!"do des*u&s de la o*era$"+!. DAS

I ual (ue DAA *ero *ara res#a .debe es#ar "!%ed"a#a%e!#e des*u&s de u!a "!s#ru$$"+! SU- o S--/. AAA Lo %"s%o (ue DAA *ara !0%eros -CD dese%*a(ue#ados. AAS Lo %"s%o (ue DAS *ara !0%eros -CD dese%*a(ue#ados. AAD Co!v"er#e A1:AL e! -CD dese%*a(ue#ado a AL e! b"!ar"o. O*era$"+!: AL <- AH !A" + AL2 AH <- !. A)e$#a PF2 SF2 3F2 %"e!#ras (ue AF2 CF ' OF (ueda! "!de)"!"dos. AAM Co!v"er#e AL e! b"!ar"o a A1:AL e! -CD dese%*a(ue#ado. O*era$"+!: AH <- AL # !A"2 AL <- AL mod !A". A)e$#a PF2 SF2 3F2 %"e!#ras (ue AF2 CF ' OF (ueda! "!de)"!"dos. MUL {reg$|mem$} Real"4a u!a %ul#"*l"$a$"+! $o! o*era!dos !o s" !ados de 5 *or 5 b"#s. O*era$"+!: A% <- AL {reg$|mem$}. CF,OF,6 s" A1 , 62 CF,OF,7 e! $aso $o!#rar"o. AF2 PF2 SF2 3F (ueda! "!de)"!"dos. MUL {reg1&|mem1&} Real"4a u!a %ul#"*l"$a$"+! $o! o*era!dos !o s" !ados de 78 *or 78 b"#s. O*era$"+!: '%(A% <- A% {reg1&|mem1&}. CF,OF,6 s" D9 , 62 CF,OF,7 e! $aso $o!#rar"o. AF2 PF2 SF2 3F (ueda! "!de)"!"dos. IMUL {reg$|mem$} Real"4a u!a %ul#"*l"$a$"+! $o! o*era!dos $o! s" !o de 5 *or 5 b"#s. O*era$"+!: A% <- AL {reg$|mem$} real"4a!do la %ul#"*l"$a$"+! $o! s" !o. CF , OF , 6 s" el resul#ado e!#ra e! u! b'#e2 e! $aso $o!#rar"o valdr:! 7. AF2 PF2 SF2 3F (ueda! "!de)"!"dos. IMUL {reg1&|mem1&} Real"4a u!a %ul#"*l"$a$"+! $o! o*era!dos $o! s" !o de 78 *or 78 b"#s. O*era$"+!: D9:A9 ;< A9 = >re 78?%e%78@ real"4a!do la %ul#"*l"$a$"+! $o! s" !o. CF , OF , 6 s" el resul#ado e!#ra e! dos b'#es2 e! $aso $o!#rar"o valdr:! 7. AF2 PF2 SF2 3F (ueda! "!de)"!"dos. CB+ EA#"e!de el s" !o de AL e! A9. No se a)e$#a! los )la s. C+D EA#"e!de el s" !o de A9 e! D9:A9. No se a)e$#a! )la s.

III. 7.

ACTIVIDADES Usa!do el EMU 56582 $o!s#ru'e el *ro ra%a ' e%0lelo

.model small .stack .data byte1 equ 225 byte2 equ 150 word1 equ 2FA3h word2 equ 5940h .code mov ax, data

mov ds,ax mov al, byte1 add al, byte2 mov $011%h&, al mov dx,199 mov ax,0 out dx,ax mov al,$011%h& out dx,al !movemos a A, el resultado de la suma !saca el resultado *or el *uerto *ara verlo e" el d(s*lay e" !-ormato dec(mal mov ax, word1 add ax, word2 mov $011Fh&, ax mov dx,199 mov ax,0 out dx,ax mov ax,$011Fh& !movemos a A. el resultado de la suma !'uarda el resultado !car'a la d(recc()" del *uerto do"de est+ el d(s*lay !sacamos u" 0 *or el *uerto *ara l(m*(arlo !suma de 2 "#meros de 2 byte !'uarda el resultado !car'a la d(recc()" del *uerto do"de est+ el d(s*lay ! sacamos u" 0 *or el *uerto *ara l(m*(arlo !suma de 2 "#meros de 1 byte

out dx,ax

!saca el resultado *or el *uerto *ara verlo e" el d(s*lay !e" -ormato dec(mal

mov ax,4c00/ ("t 21h %"d

!term("a el *ro'rama

B. A!#es de la eCe$u$"+! del *ro ra%a a!o#e el $o!#e!"do de las d"re$$"o!es 677ED2 677FD ' 67B6D2 el es#ado de las ba!deras MOMENTO DIRECCIONES 0720: Desplazamiento 011Eh Antes "e la e#e$%$ion
&' 0('T

BANDERAS O 0 S 0 0 A 0 ! 0 C 0

011Fh
&' 0('T

0120h
&' 0('T

)* Sele$$"o!e del %e!0 EIRTUAL DEEICES a LEDFDISPLAG.E9E


MOMENTO DIRECCIONES 07200:"esplazamiento 011Eh Ini$io Desp%es "e la 1, s%ma Antes "e la 2, s%ma Desp%es "e la 2, s%ma 011Fh 0120h Displa+ BANDERAS O S A ! C

00 000 00 000 77 11- . 77 11- .

00 000 00 000 00 000 00 000

00 000 00 000 00 000 00 000

00000 00000 00110011-

0 1 1 1

0 0 0 1

0 0 0 0

0 0 0 0

0 1 1 0

0 1 1 0

'* Mod")"(ue el $+d" o )ue!#e sus#"#u'e!do las "!s#ru$$"o!es ADD *or ADC ' e%ule el *ro ra%a. $o%*are $o! los resul#ados *rev"os2 eA*l"(ue el resul#ado
MOMENTO DIRECCIONES 07200:"esplazamiento 011Eh Ini$io Desp%es "e la 1, s%ma Antes "e la 2, s%ma Desp%es "e la 2, s%ma 011Fh 0120h Displa+ BANDERAS O S A ! C

00 000 00 000 77 11- . 77 11- .

00 000 00 000 00 000 00 000

00 000 00 000 00 000 00 000

00 1100 1100 1100 11-

0 1 1 1

0 0 0 1

0 0 0 0

0 0 0 0

0 1 1 1

0 1 1 0

&* Mod")"(ue el $+d" o )ue!#e sus#"#u'e!do las "!s#ru$$"o!es SU- *or ADC ' e%ule el *ro ra%a. $o%*are $o! los resul#ados *rev"os2 eA*l"(ue el resul#ado

MOMENTO

DIRECCIONES 07200:"esplazamiento 011Eh 011Fh 0120h Displa+

BANDERAS O S A ! C

Ini$io Desp%es "e la 1, s%ma Antes "e la 2, s%ma Desp%es "e la 2, s%ma

00 000 00 000 'B 07& 'B 07&

00 000 00 000 00 000 00 000

00 000 00 000 00 000 00 000

00 1100 1100 07& 00 07&

0 0 0 0

0 0 0 1

0 0 0 0

0 1 1 0

0 1 1 1

0 0 0 1

8. E%ule el s" u"e!#e *ro ra%a .model small .stack .data .code mov ax, data

mov ds,ax mov ah, 0AAh mov al, 00Fh mov cl, 01 mul cl mov $011%h&,ax mov ax,0 mov dx,199 out dx,ax mov ax,$011%h& mov dx,199 out dx,ax mov ax,4c00/ ("t 21h %"d 7* ECe$u#e *aso a *aso2 a!al"4a!do el *ro$eso. A!o#e los resul#ados e! la *r"%era )"la de la #abla (* Mod")"(ue el da#o de CL $olo$a!do <68 ' eCe$u#e !ueva%e!#e el *ro ra%a. A!o#e los resul#ados -* Ca%b"e! la "!s#ru$$"+! MUL *or IMUL ' el da#o <68 *or 682 a!o#e los resul#ados. 76. Ca%b"e el da#o *or <682 eCe$u#e !ueva%e!#e ' a!o#e los resul#ados !term("a el *ro'rama !mult(*l(ca 2 "#meros de 1 byte

I!s#ru$$"+! MUL IMUL

Da#o ,<68 68 <68

Mul#"*l"$a!do C&

Mul#"*l"$ador ,-

Produ$#o ,. DA

IV. CUESTIONARIO 1* To%a!do e! $ue!#a los da#os *ar#"$ulares de $ada o*era$"+! eA*l"(ue el *or(u& de la a$#"va$"+! o desa$#"va$"+! de las ba!deras O2 S2 32 C ' A e! el *r"%er *ro ra%a INICIO: Las ba!deras se e!$ue!#ra! desa$#"vadas *or(ue Das#a el %o%e!#o !o se Da real"4ado !"! u!a o*era$"+! ar"#%&#"$a o l+ "$a. DESPUES DE LA PRIMERA SUMA: Al %o%e!#o de su%ar s"! a$arreo los da#os HD ' I8 se a$#"va! las ba!deras C ' A *ues al o*erar los b"#s se e!era! a$arreos e! a%bos $asos. La ba!dera 3 !o se a$#"va *ues el resul#ado es d"s#"!#o de $ero. La ba!dera O !o se a$#"va *ues al e)e$#uar la o*era$"+! ar"#%&#"$a 9OR e!#re los dos a$arreos .C ' A/ el resul#ado es $ero. Por 0l#"%o la ba!dera S *er%a!e$e desa$#"vada *ues el b"# %:s s" !")"$a#"vo *er%a!e$e e! baCo.
C=1 (7Dh) (96h) (13)
D7 D6 D5 D4

A=1

D3

D2

D1

D0

0 1 0

1 0 0

1 0 0

1 1 1

1 0 0

1 1 0

0 1 1

1 0 1

+ =

ANTES DE LA SEGUNDA SUMA: El es#ado de las ba!deras se %a!#"e!e *ues !o se Da real"4ado !"! u!a o*era$"+! ar"#%&#"$a o l+ "$a do!de es#as *ueda! verse a)e$#adas. DESPUES DE LA SEGUNDA SUMA: El es#ado de las ba!deras de a$arreo C ' A se $olo$a e! baCo *ues al e)e$#uar es#a o*era$"+! !o se e!era! a$arreos. La ba!dera P se a$#"va *ues los o$Do b"#s %e!os s" !")"$a#"vos *osee! u! !0%ero *ar de b"#s e! al#o. La ba!dera 3 *er%a!e$e desa$#"vada *or(ue el resul#ado es d")ere!#e de $ero. La ba!dera O *er%a!e$e "!a$#"va *ues al e)e$#uar la o*era$"+! 9OR $o! los valores de las ba!deras de a$arreo C ' A el resul#ado es $ero. La ba!dera S *er%a!e$e desa$#"vada *or(ue el b"# %:s s" !")"$a#"vo resul#a e! baCo.

C=0 (20A3h) (5938h) (79DBh)

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

A=0

D3

D2

D1

D0

0 0 0

0 1 1

1 0 1

0 1 1

0 1 1

0 0 0

0 0 0

0 1 1

1 0 1

0 0 1

1 1 0

0 1 1

0 1 1

0 0 0

1 0 1

1 0 1

+ =

B. JC+%o se es*e$")"$a e! u!a "!s#ru$$"+! de %ul#"*l"$a$"+! (ue se desea #rabaCar $o! !0%eros de u! b'#eK Se es*e$")"$a *or %ed"o del #a%aLo del re "s#ro o var"able (ue es#a%os usa!do $o%o %ul#"*l"$ador e! la %"s%a "!s#ru$$"+! MUL o IMUL M. E! (u& re "s#ros se al%a$e!a! los da#os ' el resul#ado de u!a %ul#"*l"$a$"+! de u! b'#eK El %ul#"*l"$a!do se al%a$e!a e! el re "s#ro AL2 el %ul#"*l"$ador es $ual(u"er re "s#ro o var"able de #a%aLo de u! b'#e. El *rodu$#o se al%a$e!a e! el re "s#ro A9 'a (ue el resul#ado es u! !0%ero de doble a!$Do. '* EA*l"(ue *or(ue los resul#ados de las o*era$"o!es $a%b"aro! al usar IMUL e! lu ar de MUL.
/os "atos $am0ian po1 la 2o1ma en 3%e el mi$1op1o$esa"o1 ope1a los 2a$to1es pa1a o0tene1 el p1o"%$to*

N. JC+%o se "%*le%e!#a la d"v"s"+!K

V. CONCLUSIONES Co!s" !e al %e!os $"!$o $o!$lus"o!es a las (ue Da arr"bado e! el desarrollo de la *r:$#"$a

También podría gustarte