manual de usuario de ensamblador

Upload: federico-robasso

Post on 07-Jul-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Manual de Usuario de Ensamblador

    1/33

    MOTOROLAFREEWARE

    8-BIT CROSS ASSEMBLERSUSER'S MANUAL

     

    EDITED BY

      KEVIN ANDERSON

      FIELD APPLICATIONS ENGINEER

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a

  • 8/18/2019 Manual de Usuario de Ensamblador

    2/33

      TABLE OF CONTENTS

    C.APTER /////////////////////////////////////////////////////////   / INTRODUCTION //////////////////////////////////////////   /0 ASSEMBLY LANGUAGE /////////////////////////////////////   /1 OPERATING ENVIRONMENT ///////////////////////////////// 0  /2 ASSEMBLER PROCESSING ////////////////////////////////// 0

    C.APTER 0 //////////////////////////////////////////////////////// 1  0/ INTRODUCTION ////////////////////////////////////////// 1  0/0 SOURCE STATEMENT FORMAT /////////////////////////////// 1  0/0/ La*e) Fie) //////////////////////////////////// 1  0/0/0 O"e+ati!& Fie) //////////////////////////////// 2  0/0/1 O"e+a& Fie) ////////////////////////////////// 2  0/0/1/ M38445384 O"e+a& S6&ta7 ////////////////   0/0/1/0 M38445M38.C42 O"e+a& S6&ta7 /////////////   0/0/1/1 M3845M38.C4 O"e+a& S6&ta7 /////////////   0/0/1/2 M3849 O"e+a& S6&ta7 /////////////////////   0/0/1/ M38.C O"e+a& S6&ta7 /////////////////// 3  0/0/1/3 E7"+essi!&s ////////////////////////////// 3

      0/0/1/: O"e+at!+s //////////////////////////////// :  0/0/1/8 S6m*!)s ////////////////////////////////// :  0/0/1/9 C!&sta&ts //////////////////////////////// :  0/0/2 C!mme&t Fie) ////////////////////////////////// 8  0/1 ASSEMBLER OUTPUT ////////////////////////////////////// 9C.APTER 1 - RUNNING T.E ASSEMBLERS /////////////////////////////// 4  1/ ASSEMBLER INVOCATION ////////////////////////////////// 4  1/0 ERROR MESSAGES //////////////////////////////////////// C.APTER 2 - ASSEMBLER DIRECTIVES ///////////////////////////////// 0  2/ INTRODUCTION ////////////////////////////////////////// 0  2/0 BS; - BLOCK STORAGE OF ;EROS ////////////////////////// 0  2/1 E

  • 8/18/2019 Manual de Usuario de Ensamblador

    3/33

      C.APTER   GENERAL INFORMATION

    / INTRODUCTION

    T>is is t>e #se+'s +e?e+e&$e maa) ?!+ t>e IBM-PC >!ste M!t!+!)a

    F+ee@a+e 8 *it $+!ss assem*)e+s/ It etai)s t>e ?eat#+es a&$a"a*i)ities !? t>e $+!ss assem*)e+s assem*)e+ s6&ta7 a&i+e$ties !"ti!&s a& )isti&s/ It is i&te&e as a etai)e+e?e+e&$e a& a& i&t+!#$ti!& ?!+ t>!se #&?ami)ia+ @it> M!t!+!)aassem*)e+ s6&ta7 a& ?!+mat/ T>!se e7"e+ie&$e @it> M!t!+!)aassem*)e+ "+!#$ts ma6 @is> t! e7ami&e t>e ?i)e ASSEMBLER/DOCaai)a*)e @it> t>e $+!ss assem*)e+s @>i$> *+ie?)6 es$+i*es t>ei??e+e&$es *et@ee& t>ese assem*)e+s a& ea+)ie+ &!&-"$ *asee+si!&s/

    Assem*)e+s a+e "+!+ams t>at "+!$ess assem*)6 )a&#ae s!#+$e "+!+amstateme&ts a& t+a&s)ate t>em i&t! e7e$#ta*)e ma$>i&e )a&#ae !*e$t

    ?i)es/ A "+!+amme+ @+ites >is s!#+$e "+!+am #si& a&6 te7t eit!+!+ @!+ "+!$ess!+ t>at $a& "+!#$e a& ASCII te7t !#t"#t/ Wit> s!me@!+ "+!$ess!+s t>is is &!@& as &!& !$#me&t m!e/ N!& !$#me&tm!e "+!#$es a ?i)e @it>!#t t>e &!&-"+i&ta*)e em*ee $!&t+!)$>a+a$te+s t>at a+e #se i& !$#me&t ?!+matti&/ Ca#ti!& assem*)i&a ?i)e t>at >as *ee& ?!+matte @it> em*ee $!&t+!) $>a+a$te+s ma6"+!#$e assem*)e+ e++!+s/ T>e s!)#ti!& is t! $!&e+t t>e s!#+$e ?i)et! ASCII te7t/H O&$e t>e s!#+$e $!e is @+itte& t>e s!#+$e ?i)e isassem*)e *6 "+!$essi& t>e ?i)e ia t>e assem*)e+/

    C+!ss assem*)e+s s#$> as t>e M!t!+!)a F+ee@a+e Assem*)e+sH a))!@s!#+$e "+!+ams @+itte& a& eite !& !&e $!m"#te+ t>e >!stH t!

    e&e+ate e7e$#ta*)e $!e ?!+ a&!t>e+ $!m"#te+ t>e ta+etH/ T>ee7e$#ta*)e !*e$t ?i)e $a& t>e& *e !@&)!ae a& +#& !& t>e ta+ets6stem/ I& t>is $ase t>e >!st is a& IBM-PC !+ $!m"ati*)e a& t>eta+et s6stem is *ase !& a M!t!+!)a 8-*it mi$+!"+!$ess!+ 3844384 3841 384 38.C4 3849 !+ 38.CH/

    T>e assem*)e+s a+e t>e e7e$#ta*)e "+!+ams AS/E=E @>e+e is a&6 !?4 2 9 !+ e"e&i& !& @>i$> mi$+!"+!$ess!+ 6!# a+e@+iti& $!e ?!+/ T>e etai)s !? e7e$#ti& t>e assem*)e+ "+!+amsa+e ?!#& i& C>a"te+ 1/ T>e assem*)6 )a&#ae ?!+mat a& s6&ta7 ?!+t>e a+i!#s "+!$ess!+s is e+6 simi)a+ @it> s)i>t a+iati!&s #e t!a+ie "+!+ammi& +es!#+$es i&st+#$ti!&s a+essi& m!es a&+eiste+sH/ T>ese a+iati!&s a+e e7")ai&e i& A""e&i7 B/

    /0 ASSEMBLY LANGUAGE

    T>e s6m*!)i$ )a&#ae #se t! $!e s!#+$e "+!+ams t! *e "+!$esse *6t>e Assem*)e+ is $a))e assem*)6 )a&#ae/ T>e )a&#ae is a$!))e$ti!& !? m&em!&i$ s6m*!)s +e"+ese&ti& !"e+ati!&s i/e/ma$>i&e i&st+#$ti!& m&em!&i$s !+ i+e$ties t! t>e assem*)e+Hs6m*!)i$ &ames !"e+at!+s a& s"e$ia) s6m*!)s/ T>e assem*)6 )a&#ae"+!ies m&em!&i$ !"e+ati!& $!es ?!+ a)) ma$>i&e i&st+#$ti!&s i& t>ei&st+#$ti!& set/ T>e i&st+#$ti!&s a+e e?i&e a& e7")ai&e i& t>eP+!+ammi& Re?e+e&$e Maa)s ?!+ t>e s"e$i?i$ ei$es aai)a*)e

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 1

  • 8/18/2019 Manual de Usuario de Ensamblador

    4/33

    ?+!m M!t!+!)a/ T>e assem*)6 )a&#ae a)s! $!&tai&s m&em!&i$ i+e$ties@>i$> s"e$i?6 a#7i)ia+6 a$ti!&s t! *e "e+?!+me *6 t>e Assem*)e+/T>ese i+e$ties a+e &!t a)@a6s t+a&s)ate i&t! ma$>i&e )a&#ae/

    /1 OPERATING ENVIRONMENT

    T>ese assem*)e+s @i)) +#& !& a&6 IBM-PC =T AT PS-0 !+ t+#e$!m"ati*)e/ T>e assem*)e+s ma6 *e +#& !?? !? a ?)!""6 is +ie !+t>e6 ma6 *e $!"ie !&t! a >a+ +ie ?!+ e7e$#ti!&/ DOS 0/4 !+ )ate+is +eJ#i+e/

    /2 ASSEMBLER PROCESSING

    T>e Ma$+! Assem*)e+ is a t@!-"ass assem*)e+/ D#+i& t>e ?i+st "asst>e s!#+$e "+!+am is +ea t! ee)!" t>e s6m*!) ta*)e/ D#+i& t>ese$!& "ass t>e !*e$t ?i)e is $+eate assem*)eH @it> +e?e+e&$e t!t>e ta*)e ee)!"e i& "ass !&e/ It is #+i& t>e se$!& "ass t>at

    t>e s!#+$e "+!+am )isti& is a)s! "+!#$e/

    Ea$> s!#+$e stateme&t is "+!$esse $!m")ete)6 *e?!+e t>e &e7t s!#+$estateme&t is +ea/ As ea$> stateme&t is "+!$esse t>e Assem*)e+e7ami&es t>e )a*e) !"e+ati!& $!e a& !"e+a& ?ie)s/ T>e !"e+ati!&$!e ta*)e is s$a&&e ?!+ a mat$> @it> a &!@& !"$!e/ D#+i& t>e"+!$essi& !? a sta&a+ !"e+ati!& $!e m&em!&i$ t>e sta&a+ma$>i&e $!e is i&se+te i&t! t>e !*e$t ?i)e/ I? a& Assem*)e+i+e$tie is *ei& "+!$esse t>e "+!"e+ a$ti!& is tae&/

    A&6 e++!+s t>at a+e ete$te *6 t>e Assem*)e+ a+e is")a6e *e?!+et>e a$t#a) )i&e $!&tai&i& t>e e++!+ is "+i&te/ I? &! s!#+$e )isti&

    is *ei& "+!#$e e++!+ messaes a+e sti)) is")a6e t! i&i$atet>at t>e assem*)6 "+!$ess i &!t "+!$ee &!+ma))6/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 2

  • 8/18/2019 Manual de Usuario de Ensamblador

    5/33

      C.APTER 0CODING ASSEMBLY LANGUAGE PROGRAMS

    0/ INTRODUCTION

    P+!+ams @+itte& i& assem*)6 )a&#ae $!&sist !? a seJ#e&$e !? s!#+$e

    stateme&ts/ Ea$> s!#+$e stateme&t $!&sists !? a seJ#e&$e !? ASCII$>a+a$te+s e&i& @it> a $a++iae +et#+&/ A""e&i7 A $!&tai&s a )ist!? t>e s#""!+te $>a+a$te+ set/

    0/0 SOURCE STATEMENT FORMAT

    Ea$> s!#+$e stateme&t ma6 i&$)#e #" t! ?!#+ ?ie)s a )a*e) !+ ?!+ a $!mme&t )i&eH a& !"e+ati!& i&st+#$ti!& m&em!&i$ !+ assem*)e+i+e$tieH a& !"e+a& a& a $!mme&t/

    0/0/ La*e) Fie)

    T>e )a*e) ?ie) !$$#+s as t>e ?i+st ?ie) !? a s!#+$e stateme&t/ T>e)a*e) ?ie) $a& tae !&e !? t>e ?!))!@i& ?!+ms

    / A& aste+is H as t>e ?i+st $>a+a$te+ i& t>e )a*e) ?ie)i&i$ates t>at t>e +est !? t>e s!#+$e stateme&t is a $!mme&t/C!mme&ts a+e i&!+e *6 t>e Assem*)e+ a& a+e "+i&te !& t>e s!#+$e)isti& !&)6 ?!+ t>e "+!+amme+'s i&?!+mati!&/

    0/ A @>ite s"a$e $>a+a$te+ *)a& !+ ta*H as t>e ?i+st $>a+a$te+i&i$ates t>at t>e )a*e) ?ie) is em"t6/ T>e )i&e >as &! )a*e) a& is

    &!t a $!mme&t/

    1/ A s6m*!) $>a+a$te+ as t>e ?i+st $>a+a$te+ i&i$ates t>at t>e )i&e>as a )a*e)/ S6m*!) $>a+a$te+s a+e t>e #""e+ !+ )!@e+ $ase )ette+s a- iits 4-9 a& t>e s"e$ia) $>a+a$te+s "e+i! /H !))a+ si&H a& #&e+s$!+e H/ S6m*!)s $!&sist !? !&e t! $>a+a$te+s t>e?i+st !? @>i$> m#st *e a)">a*eti$ !+ t>e s"e$ia) $>a+a$te+s "e+i!/H !+ #&e+s$!+e H/ A)) $>a+a$te+s a+e si&i?i$a&t a& #""e+ a&)!@e+ $ase )ette+s a+e isti&$t/

    A s6m*!) ma6 !$$#+ !&)6 !&$e i& t>e )a*e) ?ie)/ I? a s6m*!) !es!$$#+ m!+e t>a& !&$e i& a )a*e) ?ie) t>e& ea$> +e?e+e&$e t! t>ats6m*!) @i)) *e ?)ae @it> a& e++!+/

    Wit> t>e e7$e"ti!& !? s!me i+e$ties a )a*e) is assi&e t>e a)#e!? t>e "+!+am $!#&te+ !? t>e ?i+st *6te !? t>e i&st+#$ti!& !+ ata*ei& assem*)e/ T>e a)#e assi&e t! t>e )a*e) is a*s!)#te/ La*e)sma6 !"ti!&a))6 *e e&e @it> a $!)!& H/ I? t>e $!)!& is #se it is&!t "a+t !? t>e )a*e) *#t me+e)6 a$ts t! set t>e )a*e) !?? ?+!m t>e+est !? t>e s!#+$e )i&e/ T>#s t>e ?!))!@i& $!e ?+ame&ts a+eeJ#ia)e&t

      >e+e e$a  *&e >e+e

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a

  • 8/18/2019 Manual de Usuario de Ensamblador

    6/33

      >e+e e$a  *&e >e+e

    A )a*e) ma6 a""ea+ !& a )i&e *6 itse)?/ T>e assem*)e+ i&te+"+etst>is as set t>e a)#e !? t>e )a*e) eJ#a) t! t>e $#++e&t a)#e !? t>e"+!+am $!#&te+/

    T>e s6m*!) ta*)e >as +!!m ?!+ at )east 0444 s6m*!)s !? )e&t> 8$>a+a$te+s !+ )ess/ Aiti!&a) $>a+a$te+s #" t! a+e "e+missi*)eat t>e e7"e&se !? e$+easi& t>e ma7im#m m*e+ !? s6m*!)s "!ssi*)ei& t>e ta*)e/

    0/0/0 O"e+ati!& Fie)

    T>e !"e+ati!& ?ie) !$$#+s a?te+ t>e )a*e) ?ie) a& m#st *e"+e$ee *6 at )east !&e @>ite s"a$e $>a+a$te+/ T>e !"e+ati!& ?ie)m#st $!&tai& a )ea) !"$!e m&em!&i$ !+ a& assem*)e+ i+e$tie/U""e+ $ase $>a+a$te+s i& t>is ?ie) a+e $!&e+te t! )!@e+ $ase

    *e?!+e *ei& $>e$e as a )ea) m&em!&i$/ T>#s '&!"' 'NOP' a&'N!P' a+e +e$!&ie as t>e same m&em!&i$/ E&t+ies i& t>e !"e+ati!&?ie) ma6 *e !&e !? t@! t6"es

    O"$!e/ T>ese $!++es"!& i+e$t)6 t! t>e ma$>i&e i&st+#$ti!&s/ T>e!"e+ati!& $!e i&$)#es a&6 +eiste+ &ame ass!$iate @it> t>ei&st+#$ti!&/ T>ese +eiste+ &ames m#st &!t *e se"a+ate ?+!m t>e!"$!e @it> a&6 @>ite s"a$e $>a+a$te+s/ T>#s '$)+a' mea&s $)ea+a$$#m#)at!+ A *#t '$)+ a' mea&s $)ea+ mem!+6 )!$ati!& ie&ti?ie *6t>e )a*e) 'a'/

    Di+e$tie/ T>ese a+e s"e$ia) !"e+ati!& $!es &!@& t! t>e Assem*)e+

    @>i$> $!&t+!) t>e assem*)6 "+!$ess +at>e+ t>a& *ei& t+a&s)ate i&t!ma$>i&e i&st+#$ti!&s/

    0/0/1 O"e+a& Fie)

    T>e !"e+a& ?ie)'s i&te+"+etati!& is e"e&e&t !& t>e $!&te&ts !?t>e !"e+ati!& ?ie)/ T>e !"e+a& ?ie) i? +eJ#i+e m#st ?!))!@ t>e!"e+ati!& ?ie) a& m#st *e "+e$ee *6 at )east !&e @>ite s"a$e$>a+a$te+/ T>e !"e+a& ?ie) ma6 $!&tai& a s6m*!) a& e7"+essi!& !+a $!m*i&ati!& !? s6m*!)s a& e7"+essi!&s se"a+ate *6 $!mmas/

    T>e !"e+a& ?ie) !? ma$>i&e i&st+#$ti!&s is #se t! s"e$i?6 t>ea+essi& m!e !? t>e i&st+#$ti!& as @e)) as t>e !"e+a& !? t>ei&st+#$ti!&/ T>e ?!))!@i& ta*)es s#mma+ie t>e !"e+a& ?ie)?!+mats ?!+ t>e a+i!#s "+!$ess!+ ?ami)ies/ NOTE i& t>ese ta*)es"a+e&t>esis H si&i?6 !"ti!&a) e)eme&ts a& a&)e *+a$ets e&!te a& e7"+essi!& is i&se+te/ T>ese s6&ta7 e)eme&ts a+e "+ese&t!&)6 ?!+ $)a+i?i$ati!& !? t>e ?!+mat a& a+e &!t i&se+te as "a+t !?t>e a$t#a) s!#+$e "+!+am/ A)) !t>e+ $>a+a$te+s a+e si&i?i$a&t a&m#st *e #se @>e& +eJ#i+e/H

    0/0/1/ M38445384 O"e+a& S6&ta7

    T>e ?!+mat !? t>e !"e+a& ?ie) ?!+ M38445384 i&st+#$ti!&s is

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 3

  • 8/18/2019 Manual de Usuario de Ensamblador

    7/33

      O"e+a& F!+mat M38445M384 A+essi& M!e  -------------- ---------------------------  &! !"e+a& a$$#m#)at!+ a& i&>e+e&t  e7"+essi!& i+e$t e7te&e !+ +e)atie  e7"+essi!& immeiate  e7"+essi!&= i&e7e

    Detai)s !? t>e M38445384 a+essi& m!es ma6 *e ?!#& i& A""e&i7 B/

    0/0/1/0 M3842538.C O"e+a& S6&ta7

    F!+ t>e M3842538.C42 t>e ?!))!@i& !"e+a& ?!+mats e7ist

      O"e+a& F!+mat M3842538.C42 A+essi& M!e  -------------- ----------------------------  &! !"e+a& a$$#m#)at!+ a& i&>e+e&t  e7"+essi!& i+e$t e7te&e !+ +e)atie

      e7"+essi!& immeiate  e7"+essi!& *it set !+ $)ea+  e7"+essi!&e7"+essi!& *it test a& *+a&$>  Q7 !+ 6 +eiste+ i&i+e$t  e7"+essi!&e7"+essi!& m!e i&i+e$t

    Detai)s !? t>e M3842538.C42 a+essi& m!es ma6 *e ?!#& i& A""e&i7 B/

    0/0/1/1 M3845M38.C4 O"e+a& S6&ta7

    F!+ t>e M384538.C4 t>e !"e+a& ?!+mats a+e

      O"e+a& F!+mat M384538.C4 A+essi& M!e  -------------- ----------------------------  &! !"e+a& a$$#m#)at!+ a& i&>e+e&t  e7"+essi!& i+e$t e7te&e !+ +e)atie  e7"+essi!& immeiate  e7"+essi!&= i&e7e  e7"+essi!&e7"+essi!& *it set !+ $)ea+  e7"+essi!&e7"+essi!&e7"+essi!& *it test a& *+a&$>

    Detai)s !? t>e M384538.C4 a+essi& m!es ma6 *e ?!#& i& A""e&i7 B/

    0/0/1/2 M3849 O"e+a& S6&ta7

    F!+ t>e M3849 t>e ?!))!@i& !"e+a& ?!+mats a+e #se

      O"e+a& F!+mat M3849 A+essi& M!e  -------------- ---------------------  &! !"e+a& a$$#m#)at!+ a& i&>e+e&t  e7"+essi!& i+e$t e7te&e !+ +e)atie  e7"+essi!& immeiate  e7"+essi!&= i&e7e  e7"+essi!& ?!+$e i+e$t  e7"+essi!& ?!+$e e7te&e  e7"+essi!& e7te&e i&i+e$t

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a :

  • 8/18/2019 Manual de Usuario de Ensamblador

    8/33

      e7"+essi!&R i&e7e  e7"+essi!&R ?!+$e 8-*it !??set i&e7e  e7"+essi!&R ?!+$e 3-*it !??set i&e7e  Qe7"+essi!&R i&e7e i&i+e$t  Qe7"+essi!&R ?!+$e 8-*it !??set i&e7e i&i+e$t  Qe7"+essi!&R ?!+$e 3-*it !??set i&e7e i&i+e$t  e s6m*!)s AB CC D DP PC S U = !+ Y/

    Detai)s !? t>e M3849 a+essi& m!es ma6 *e ?!#& i& A""e&i7 B/

    0/0/1/ M38.C O"e+a& S6&ta7

    F!+ t>e M38.C t>e ?!))!@i& !"e+a& ?!+mats e7ist

      O"e+a& F!+mat M38.C A+essi& M!e  -------------- -----------------------  &! !"e+a& a$$#m#)at!+ a& i&>e+e&t  e7"+essi!& i+e$t e7te&e !+ +e)atie  e7"+essi!& immeiate  e7"+essi!&= i&e7e @it> = +eiste+  e7"+essi!&Y i&e7e @it> Y +eiste+

      e7"+essi!& e7"+essi!& *it set !+ $)ea+  e7"+essi!& e7"+essi!& e7"+essi!& *it test a& *+a&$>

    T>e *it ma&i"#)ati!& i&st+#$ti!& !"e+a&s a+e se"a+ate *6 s"a$es i&t>is $ase si&$e t>e .C a))!@s *it ma&i"#)ati!& i&st+#$ti!&s !&i&e7e a+esses/ T>#s a '=' !+ 'Y' ma6 *e ae t! t>e ?i&a) t@!?!+mats a*!e t! ?!+m t>e i&e7e e??e$tie a+ess $a)$#)ati!&/

    Detai)s !? t>e M38.C a+essi& m!es ma6 *e ?!#& i& A""e&i7 B/T>e !"e+a& ?ie)s !? assem*)e+ i+e$ties a+e es$+i*e i& C>a"te+ 2/

    0/0/1/3 E7"+essi!&s/ A& e7"+essi!& is a $!m*i&ati!& !? s6m*!)s$!&sta&ts a)e*+ai$ !"e+at!+s a& "a+e&t>eses/ T>e e7"+essi!& is#se t! s"e$i?6 a a)#e @>i$> is t! *e #se as a& !"e+a&/

    E7"+essi!&s ma6 $!&sist !? s6m*!)s $!&sta&ts !+ t>e $>a+a$te+ ''e&!ti& t>e $#++e&t a)#e !? t>e "+!+am $!#&te+H !i&e t!et>e+*6 !&e !? t>e !"e+at!+s - 5 X /

    0/0/1/: O"e+at!+s/ T>e !"e+at!+s a+e t>e same as i& $

      a  - s#*t+a$t

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 8

  • 8/18/2019 Manual de Usuario de Ensamblador

    9/33

      m#)ti")6  5 iie  +emai&e+ a?te+ iisi!&  *it@ise a&  *it@ise !+  X *it@ise e7$)#sie !+

    E7"+essi!&s a+e ea)#ate )e?t t! +i>t a& t>e+e is &! "+!isi!& ?!+"a+e&t>esie e7"+essi!&s/ A+it>meti$ is $a++ie !#t i& si&e t@!s$!m")eme&t i&tee+ "+e$isi!& t>at's 3 *its !& t>e IBM PCH/

    0/0/1/8 S6m*!)s/ Ea$> s6m*!) is ass!$iate @it> a 3-*it i&tee+a)#e @>i$> is #se i& ")a$e !? t>e s6m*!) #+i& t>e e7"+essi!&ea)#ati!&/ T>e aste+is H #se i& a& e7"+essi!& as a s6m*!)+e"+ese&ts t>e $#++e&t a)#e !? t>e )!$ati!& $!#&te+ t>e ?i+st *6te!? a m#)ti-*6te i&st+#$ti!&H/

    0/0/1/9 C!&sta&ts/ C!&sta&ts +e"+ese&t J#a&tities !? ata t>at !&!t a+6 i& a)#e #+i& t>e e7e$#ti!& !? a "+!+am/ C!&sta&ts ma6

    *e "+ese&te t! t>e assem*)e+ i& !&e !? ?ie ?!+mats e$ima)>e7ae$ima) *i&a+6 !+ !$ta) !+ ASCII/ T>e "+!+amme+ i&i$atest>e m*e+ ?!+mat t! t>e assem*)e+ @it> t>e ?!))!@i& "+e?i7es

      .E=  BINARY  OCTAL  ' ASCII

    U&"+e?i7e $!&sta&ts a+e i&te+"+ete as e$ima)/ T>e assem*)e+$!&e+ts a)) $!&sta&ts t! *i&a+6 ma$>i&e $!e a& a+e is")a6e i&t>e assem*)6 )isti& as >e7/

    A e$ima) $!&sta&t $!&sists !? a st+i& !? me+i$ iits/ T>e a)#e!? a e$ima) $!&sta&t m#st ?a)) i& t>e +a&e 4-31 i&$)#sie/ T>e?!))!@i& e7am")e s>!@s *!t> a)i a& i&a)i e$ima) $!&sta&ts

      VALID INVALID REASON INVALID  ----- ------- --------------  0 0123 m!+e t>a& iits  012 0/1 i&a)i $>a+a$te+

    A >e7ae$ima) $!&sta&t $!&sists !? a ma7im#m !? ?!#+ $>a+a$te+s ?+!mt>e set !? iits 4-9H a& t>e #""e+ $ase a)">a*eti$ )ette+s A-FHa& is "+e$ee *6 a !))a+ si& H/ .e7ae$ima) $!&sta&ts m#st *e

    i& t>e +a&e 4444 t! FFFF/ T>e ?!))!@i& e7am")e s>!@s *!t> a)ia& i&a)i >e7ae$ima) $!&sta&ts

      VALID INVALID REASON INVALID  ----- ------- --------------  0 ABCD &! "+e$ei&   ABCD G0A i&a)i $>a+a$te+  44F 0F48 t!! ma&6 iits

    A *i&a+6 $!&sta&t $!&sists !? a ma7im#m !? 3 !&es !+ e+!s "+e$ee*6 a "e+$e&t si& H/ T>e ?!))!@i& e7am")e s>!@s *!t> a)i a&

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 9

  • 8/18/2019 Manual de Usuario de Ensamblador

    10/33

    i&a)i *i&a+6 $!&sta&ts

      VALID INVALID REASON INVALID  ----- ------- --------------  444 444 missi& "e+$e&t  44444444 t!! ma&6 iits  444 044 i&a)i iit

    A& !$ta) $!&sta&t $!&sists !? a ma7im#m !? si7 me+i$ iitse7$)#i& t>e iits 8 a& 9 "+e$ee *6 a $!mme+$ia) at-si& H/O$ta) $!&sta&ts m#st *e i& t>e +a&es 4 t! :::::/ T>e ?!))!@i&e7am")e s>!@s *!t> a)i a& i&a)i !$ta) $!&sta&ts

      VALID INVALID REASON INVALID  ----- ------- --------------  :312 01:012 t!! ma&6 iits  1:: 0::0:0 !#t !? +a&e  ::344 0192 i&a)i $>a+a$te+

    A si&)e ASCII $>a+a$te+ $a& *e #se as a $!&sta&t i& e7"+essi!&s/ASCII $!&sta&ts a+e "+e$ee *6 a si&)e J#!te 'H/ A&6 $>a+a$te+i&$)#i& t>e si&)e J#!te $a& *e #se as a $>a+a$te+ $!&sta&t/ T>e?!))!@i& e7am")e s>!@s *!t> a)i a& i&a)i $>a+a$te+ $!&sta&ts

      VALID INVALID REASON INVALID  ----- ------- --------------  ' 'VALID t!! )!&

    F!+ t>e i&a)i $ase a*!e t>e assem*)e+ @i)) &!t i&i$ate a& e++!+/Rat>e+ it @i)) assem*)e t>e ?i+st $>a+a$te+ a& i&!+e t>e +emai&e+/

    0/0/2 C!mme&t Fie)

    T>e )ast ?ie) !? a& Assem*)e+ s!#+$e stateme&t is t>e $!mme&t ?ie)/T>is ?ie) is !"ti!&a) a& is !&)6 "+i&te !& t>e s!#+$e )isti& ?!+!$#me&tati!& "#+"!ses/ T>e $!mme&t ?ie) is se"a+ate ?+!m t>e!"e+a& ?ie) !+ ?+!m t>e !"e+ati!& ?ie) i? &! !"e+a& is +eJ#i+eH*6 at )east !&e @>ite s"a$e $>a+a$te+/ T>e $!mme&t ?ie) $a& $!&tai&a&6 "+i&ta*)e ASCII $>a+a$te+s/

    0/1 ASSEMBLER OUTPUT

    T>e Assem*)e+ !#t"#t i&$)#es a& !"ti!&a) )isti& !? t>e s!#+$e"+!+am a& a& !*e$t ?i)e @>i$> is i& t>e M!t!+!)a S Re$!+ ?!+mat/Detai)s !? t>e S Re$!+ ?!+mat ma6 *e ?!#& i& A""e&i7 E/ T>eAssem*)e+ @i)) &!+ma))6 s#""+ess t>e "+i&ti& !? t>e s!#+$e )isti&/T>is $!&iti!& as @e)) as !t>e+s $a& *e !e++ie& ia !"ti!&ss#"")ie !& t>e $!mma& )i&e t>at i&!e t>e Assem*)e+/

    Ea$> )i&e !? t>e )isti& $!&tai&s a +e?e+e&$e )i&e m*e+ t>ea+ess a& *6tes assem*)e a& t>e !+ii&a) s!#+$e i&"#t )i&e/ I?a& i&"#t )i&e $a#ses m!+e t>a& 3 *6tes t! *e !#t"#t e// a )!& FCCi+e$tieH aiti!&a) *6tes #" t! 32H a+e )iste !& s#$$eei&)i&es @it> &! a+ess "+e$ei& t>em/

    T>e assem*)6 )isti& ma6 !"ti!&a))6 $!&tai& a s6m*!) ta*)e !+ a $+!ss

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 4

  • 8/18/2019 Manual de Usuario de Ensamblador

    11/33

    +e?e+e&$e ta*)e !? a)) s6m*!)s a""ea+i& i& t>e "+!+am/ T>ese a+ea)@a6s "+i&te at t>e e& !? t>e assem*)6 )isti& i? eit>e+ t>es6m*!) ta*)e !+ $+!ss +e?e+e&$e ta*)e !"ti!&s Pa+a+a"> 2/8H a+e i&e??e$t/ T>e s6m*!) ta*)e $!&tai&s t>e &ame !? ea$> s6m*!) a)!& @it>its e?i&e a)#e/ T>e $+!ss +e?e+e&$e ta*)e aiti!&a))6 $!&tai&st>e assem*)e+-mai&tai&e s!#+$e )i&e m*e+ !? ee+6 +e?e+e&$e t!ee+6 s6m*!)/ T>e ?!+mat !? t>e $+!ss +e?e+e&$e ta*)e is s>!@& i&

    A""e&i7 D/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a

  • 8/18/2019 Manual de Usuario de Ensamblador

    12/33

      C.APTER 1  RUNNING T.E ASSEMBLERS

    1/ ASSEMBLER INVOCATION

    T>e M!t!+!)a F+ee@a+e Assem*)6 "+!+ams a+e &ame as/e7e @>e+e ''

    is a&6 !? 4 2 9 !+ e"e&i& !& @>i$> "+!$ess!+ ?ami)66!# @is> t! assem*)e $!e ?!+/ F!+ e7am")e t! e&e+ate M3844 $!e+#& t>e as4/e7e "+!+am/ T! e&e+ate M38.C4 $!e +#& t>e as/e7e"+!+am a& s! ?!+t>/ T! +#& t>e assem*)e+ e&te+ t>e ?!))!@i&$!mma& )i&e

      as ?i)e ?i)e0 / / / H - !"ti!& !"ti!&0 / / / H

    @>e+e ?i)e ?i)e0 et$ a+e t>e &ames !? t>e s!#+$e ?i)es 6!# @is> t!assem*)e/ T>e s!#+$e ?i)e&ames ma6 >ae e7te&si!&s *#t t>e assem*)e+!es &!t $>e$ ?!+ a&6 "a+ti$#)a+ e7te&si!& >!@ee+ ! &!t #se t>e/S9 e7te&si!& si&$e t>at is t>e e7te&si!& !? t>e !*e$t ?i)e $+eate

    *6 t>e assem*)e+/ Its $+eati!& @!#) !e+@+ite t>e s!#+$e ?i)e @>e&it is @+itte& t! t>e isH/

    T>e !"ti!&s a+e !&e !+ m!+e !? t>e ?!))!@i&

      ) e&a*)es !#t"#t )isti&  &! isa*)es !#t"#t )isti& e?a#)tH/  $+e e&a*)es t>e $+!ss +e?e+e&$e ta*)e e&e+ati!&  s e&a*)es t>e s6m*!) ta*)e e&e+ati!&  $ e&a*)es $6$)e $!#&ti&  &!$ isa*)es $6$)e $!#&ti&

    T>e mis si& "+e$ei& t>e !"ti!& s>!#) *e se"a+ate ?+!m t>e )ast?i)e &ame *6 a s"a$e/ T>ese !"ti!&s ma6 a)s! *e i&i$ate t! t>eassem*)e+ *6 t>e #se !? t>e OPT i+e$tie i& t>e s!#+$e ?i)e/ T>eOPT i+e$tie is es$+i*e i& Pa+a+a"> 2/8/

    T>e !*e$t ?i)e $+eate is @+itte& t! is a& ie& t>e &ame'FILENAME/S9' @>e+e 'FILENAME' is t>e &ame !? t>e ?i+st s!#+$e ?i)es"e$i?ie !& t>e $!mma& )i&e/ A&6 e++!+s a& t>e !"ti!&a) )isti&i? s"e$i?ieH a+e is")a6e !& t>e s$+ee&/ T>e )isti& a&5!+ e++!+messaes ma6 *e sae t! a ?i)e ?!+ )ate+ e7ami&ati!& !+ "+i&ti& *6a""e& a& i5! +ei+e$ti!& $!mma& t! t>e $!mma& )i&e/ O& t>e PC i5!+ei+e$ti!& is i&i$ate @it> t>e +eate+-t>a& ''H s6m*!) ?!))!@e*6 a&6 &e@ !+ e7isti& ?i)e &ame/

    C!mma& )i&e e7am")es

    T>e $!mma& )i&e

      as m6?i)e

    @!#) +#& t>e M384538.C4 assem*)e+ !& t>e s!#+$e ?i)e 'm6?i)e'/T>e !*e$t ?i)e @!#) *e @+itte& t! 'm6?i)e/s9' a& a&6 e++!+s @!#)a""ea+ !& t>e s$+ee&/T>e $!mma& )i&e

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 0

  • 8/18/2019 Manual de Usuario de Ensamblador

    13/33

      as9 test/asm &e7ttest/s -)

    @!#) +#& t>e M3849 assem*)e+ !& t>e s!#+$e ?i)es 'test/asm' a&'&e7ttest/s'/ T>e !*e$t ?i)e @!#) *e @+itte& t! 'test/s9' a& a&6e++!+s a& t>e assem*)6 )isti& @!#) a""ea+ !& t>e s$+ee&/

    T>e $!mma& )i&e

      as9 test/asm &e7ttest/s -) $+e s test/)st

    @!#) +#& t>e M3849 assem*)e+ !& t>e s!#+$e ?i)es 'test/asm' a&'&e7ttest/s'/ T>e !*e$t ?i)e @!#) *e @+itte& t! 'test/s9'/ A)isti& @!#) *e $+eate ?!))!@e *6 a s6m*!) ta*)e a& $+!ss+e?e+e&$e @>i$> @!#) a)) *e @+itte& t! t>e ?i)e test/)st/

    1/0 ERROR MESSAGES

    E++!+ ia&!sti$ messaes a+e ")a$e i& t>e )isti& ?i)e #st *e?!+e

    t>e )i&e $!&tai&i& t>e e++!+/ T>e ?!+mat !? t>e e++!+ )i&e is

      Li&em*e+ Des$+i"ti!& !? e++!+

      !+

      Li&em*e+ Wa+&i& ---- Des$+i"ti!& !? e++!+

    E++!+s i& "ass !&e $a#se $a&$e))ati!& !? "ass t@!/ Wa+&i& ! &!t$a#se $a&$e))ati!& !? "ass t@! *#t a+e i&i$ati!&s !? a "!ssi*)e"+!*)em/ E++!+ messaes a+e mea&t t! *e se)?-e7")a&at!+6/

    I? m!+e t>a& !&e ?i)e is *ei& assem*)e t>e ?i)e &ame "+e$ees t>ee++!+

      Fi)e&ameLi&em*e+ Des$+i"ti!& !? e++!+

    S!me e++!+s a+e $)asse as ?ata) a& $a#se a& immeiate te+mi&ati!&!? t>e assem*)6/ Ge&e+a))6 t>is >a""e&s @>e& a tem"!+a+6 ?i)e $a&&!t*e $+eate !+ is )!st #+i& assem*)6/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 1

  • 8/18/2019 Manual de Usuario de Ensamblador

    14/33

      C.APTER 2  ASSEMBLER DIRECTIVES

    2/ INTRODUCTION

    T>e Assem*)e+ i+e$ties a+e i&st+#$ti!&s t! t>e Assem*)e+ +at>e+

    t>a& i&st+#$ti!&s t! *e i+e$t)6 t+a&s)ate i&t! !*e$t $!e/ T>is$>a"te+ es$+i*es t>e i+e$ties t>at a+e +e$!&ie *6 t>e F+ee@a+eAssem*)e+s/ Detai)e es$+i"ti!&s !? ea$> i+e$tie a+e a++a&ea)">a*eti$a))6/ T>e &!tati!&s #se i& t>is $>a"te+ a+e

      H Pa+e&t>eses e&!te a& !"ti!&a) e)eme&t/

      =Y; T>e &ames !? t>e i+e$ties a+e "+i&te i& $a"ita) )ette+s/

      T>e e)eme&t &ames a+e "+i&te i& )!@e+ $ase a& $!&tai&e i&a&)e *+a$ets/ A)) e)eme&ts !#tsie !? t>e a&)e *+a$ets '' m#st*e s"e$i?ie as-is/ F!+ e7am")e t>e s6&ta$ti$a) e)eme&t m*e+H

    +eJ#i+es t>e $!mma t! *e s"e$i?ie i? t>e !"ti!&a) e)eme&t m*e+is se)e$te/ T>e ?!))!@i& e)eme&ts a+e #se i& t>e s#*seJ#e&tes$+i"ti!&s

      $!mme&t A stateme&t's $!mme&t ?ie)  )a*e) A stateme&t )a*e)  e7"+essi!& A& Assem*)e+ e7"+essi!&  e7"+ A& Assem*)e+ e7"+essi!&  m*e+ A me+i$ $!&sta&t  st+i& A st+i& !? ASCII $>a+a$te+s  e)imite+ A st+i& e)imite+

      !"ti!& A& Assem*)e+ !"ti!&  s6m*!) A& Assem*)e+ s6m*!)  s6m A& Assem*)e+ s6m*!)  se$t A +e)!$ata*)e "+!+am se$ti!&  +e )ist M3849 +eiste+ )ist  +e e7" M3849 +eiste+ e7"+essi!&

    I& t>e ?!))!@i& es$+i"ti!&s !? t>e a+i!#s i+e$ties t>e s6&ta7!+ ?!+mat !? t>e i+e$tie is ie& ?i+st/ T>is @i)) *e ?!))!@e@it> t>e i+e$tie's es$+i"ti!&/

    2/0 BS; - BLOCK STORAGE OF ;EROS

      )a*e)H BS; e7"+essi!& $!mme&tH

    T>e BS; i+e$tie $a#ses t>e Assem*)e+ t! a))!$ate a *)!$ !? *6tes/Ea$> *6te is assi&e t>e i&itia) a)#e !? e+!/ T>e m*e+ !? *6tesa))!$ate is ie& *6 t>e e7"+essi!& i& t>e !"e+a& ?ie)/ I? t>ee7"+essi!& $!&tai&s s6m*!)s t>at a+e eit>e+ #&e?i&e !+ ?!+@a++e?e+e&$e i/e/ t>e e?i&iti!& !$$#+s )ate+ !& i& t>e ?i)eH !+ i?t>e e7"+essi!& >as a a)#e !? e+! a& e++!+ @i)) *e e&e+ate/

    2/1 E

  • 8/18/2019 Manual de Usuario de Ensamblador

    15/33

      )a*e) Ee !"e+a&?ie) t! t>e )a*e)/ T>e Ee+ t>a& t>e"+!+am $!#&te+ t! t>e )a*e)/ T>e )a*e) $a&&!t *e +ee?i&e a&6@>e+ee)se i& t>e "+!+am/ T>e e7"+essi!& $a&&!t $!&tai& a&6 ?!+@a++e?e+e&$es !+ #&e?i&e s6m*!)s/ EJ#ates @it> ?!+@a+ +e?e+e&$es a+e

    ?)ae @it> P>asi& E++!+s/

    2/2 FCB - FORM CONSTANT BYTE

      )a*e)H FCB e7"+e7"+///e7"+H $!mme&tH

    T>e FCB i+e$tie ma6 >ae !&e !+ m!+e !"e+a&s se"a+ate *6 $!mmas/T>e a)#e !? ea$> !"e+a& is t+#&$ate t! ei>t *its a& is st!+ei& a si&)e *6te !? t>e !*e$t "+!+am/ M#)ti")e !"e+a&s a+e st!+ei& s#$$essie *6tes/ T>e !"e+a& ma6 *e a me+i$ $!&sta&t a$>a+a$te+ $!&sta&t a s6m*!) !+ a& e7"+essi!&/ I? m#)ti")e !"e+a&sa+e "+ese&t !&e !+ m!+e !? t>em $a& *e )) t@! aa$e&t $!mmasH

    i& @>i$> $ase a si&)e *6te !? e+! @i)) *e assi&e ?!+ t>at!"e+a&/ A& e++!+ @i)) !$$#+ i? t>e #""e+ ei>t *its !? t>e ea)#ate!"e+a&s' a)#es a+e &!t a)) !&es !+ a)) e+!s/

    2/ FCC - FORM CONSTANT C.ARACTER STRING

      )a*e)H FCC e)imite+st+i&e)imite+ $!mme&tH

    T>e FCC i+e$tie is #se t! st!+e ASCII st+i&s i&t! $!&se$#tie*6tes !? mem!+6/ T>e *6te st!+ae *ei&s at t>e $#++e&t "+!+am$!#&te+/ T>e )a*e) is assi&e t! t>e ?i+st *6te i& t>e st+i&/ A&6!? t>e "+i&ta*)e ASCII $>a+a$te+s $a& *e $!&tai&e i& t>e st+i&/

    T>e st+i& is s"e$i?ie *et@ee& t@! ie&ti$a) e)imite+s @>i$> $a& *ea&6 "+i&ta*)e ASCII $>a+a$te+/ T>e ?i+st &!&-*)a& $>a+a$te+ a?te+t>e FCC i+e$tie is #se as t>e e)imite+/

    E7am")e

      LABEL FCC ABC

    assem*)es ASCII ABC at )!$ati!& LABEL

    2/3 FDB - FORM DOUBLE BYTE CONSTANT

      )a*e)H FDB e7"+e7"+///e7"+H $!mme&tH

    T>e FDB i+e$tie ma6 >ae !&e !+ m!+e !"e+a&s se"a+ate *6 $!mmas/T>e 3-*it a)#e $!++es"!&i& t! ea$> !"e+a& is st!+e i&t! t@!$!&se$#tie *6tes !? t>e !*e$t "+!+am/ T>e st!+ae *ei&s at t>e$#++e&t "+!+am $!#&te+/ T>e )a*e) is assi&e t! t>e ?i+st 3-*ita)#e/ M#)ti")e !"e+a&s a+e st!+e i& s#$$essie *6tes/ T>e !"e+a&ma6 *e a me+i$ $!&sta&t a $>a+a$te+ $!&sta&t a s6m*!) !+ a&e7"+essi!&/ I? m#)ti")e !"e+a&s a+e "+ese&t !&e !+ m!+e !? t>em $a&*e )) t@! aa$e&t $!mmasH i& @>i$> $ase t@! *6tes !? e+!s @i))*e assi&e ?!+ t>at !"e+a&/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a

  • 8/18/2019 Manual de Usuario de Ensamblador

    16/33

    2/: FILL - FILL MEMORY

      )a*e)H FILL e7"+essi!&e7"+essi!&

    T>e FILL i+e$tie $a#ses t>e assem*)e+ t! i&itia)ie a& a+ea !?mem!+6 @it> a $!&sta&t a)#e/ T>e ?i+st e7"+essi!& si&i?ies t>e !&e*6te a)#e t! *e ")a$e i& t>e mem!+6 a& t>e se$!& e7"+essi!&

    i&i$ates t>e t!ta) m*e+ !? s#$$essie *6tes t! *e i&itia)ie/T>e ?i+st e7"+essi!& m#st ea)#ate t! t>e +a&e 4-0/ E7"+essi!&s$a&&!t $!&tai& ?!+@a+ +e?e+e&$es !+ #&e?i&e s6m*!)s/

    2/8 OPT - ASSEMBLER OUTPUT OPTIONS

      OPT !"ti!&!"ti!&///!"ti!&H $!mme&tH

    T>e OPT i+e$tie is #se t! $!&t+!) t>e ?!+mat !? t>e Assem*)e+!#t"#t/ T>e !"ti!&s a+e s"e$i?ie i& t>e !"e+a& ?ie) se"a+ate *6$!mmas/ A)) !"ti!&s >ae a e?a#)t $!&iti!&/ S!me !"ti!&s $a& *ei&itia)ie ?+!m t>e $!mma& )i&e t>at i&!e t>e Assem*)e+ >!@ee+

    t>e !"ti!&s $!&tai&e i& t>e s!#+$e ?i)e tae "+e$ee&$e !e+ a&6e&te+e !& t>e $!mma& )i&e/ I& t>e ?!))!@i& es$+i"ti!&s t>e"a+e&t>eti$a) i&se+ts s"e$i?6 DEFAULT i? t>e !"ti!& is t>e e?a#)t$!&iti!&/ A)) !"ti!&s m#st *e e&te+e i& )!@e+ $ase/

      $ - E&a*)e $6$)e $!#&ti& i& t>e )isti&/ T>e t!ta) $6$)e $!#&t?!+ t>at i&st+#$ti!& @i)) a""ea+ i& t>e )isti& a?te+ t>e assem*)e*6tes a& *e?!+e t>e s!#+$e $!e/

      $+e - P+i&t a $+!ss +e?e+e&$e ta*)e at t>e e& !? t>e s!#+$e)isti&/ T>is !"ti!& i? #se m#st *e s"e$i?ie *e?!+e t>e ?i+sts6m*!) i& t>e s!#+$e "+!+am is e&$!#&te+e/ T>e $+!ss +e?e+e&$e

    )isti& ?!+mat ma6 *e ?!#& i& A""e&i7 D/

      ) - P+i&t t>e )isti& ?+!m t>is "!i&t !&/ A es$+i"ti!& !? t>e)isti& ?!+mat $a& *e ?!#& i& A""e&i7 D/

      &!$ - DEFAULTH Disa*)e $6$)e $!#&ti& i& t>e )isti&/ I? t>e $!"ti!& @as #se "+ei!#s)6 i& t>e "+!+am t>is !"ti!& @i)) $a#se$6$)e $!#&ti& t! $ease #&ti) t>e &e7t OPT $ stateme&t/

      &!) - DEFAULTH D! &!t "+i&t t>e )isti& ?+!m t>is "!i&t !&/ A&OPT ) $a& +e-e&a*)e )isti& at a )ate+ "!i&t i& t>e "+!+am/

      s - P+i&t s6m*!) ta*)e at e& !? s!#+$e )isti&/ T>e s6m*!) ta*)e?!+mat $a& *e ?!#& i& A""e&i7 D/

    2/9 ORG - SET PROGRAM COUNTER TO ORIGIN

      ORG e7"+essi!& $!mme&tH

    T>e ORG i+e$tie $>a&es t>e "+!+am $!#&te+ t! t>e a)#e s"e$i?ie*6 t>e e7"+essi!& i& t>e !"e+a& ?ie)/ S#*seJ#e&t stateme&ts a+eassem*)e i&t! mem!+6 )!$ati!&s sta+ti& @it> t>e &e@ "+!+am $!#&te+a)#e/ I? &! ORG i+e$tie is e&$!#&te+e i& a s!#+$e "+!+am t>e"+!+am $!#&te+ is i&itia)ie t! e+!/ E7"+essi!&s $a&&!t $!&tai&

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 3

  • 8/18/2019 Manual de Usuario de Ensamblador

    17/33

    ?!+@a+ +e?e+e&$es !+ #&e?i&e s6m*!)s/

    2/4 PAGE - TOP OF PAGE

      PAGE

    T>e PAGE i+e$tie $a#ses t>e Assem*)e+ t! aa&$e t>e "a"e+ t! t>e

    t!" !? t>e &e7t "ae/ I? &! s!#+$e )isti& is *ei& "+!#$e t>ePAGE i+e$tie @i)) >ae &! e??e$t/ T>e i+e$tie is &!t "+i&te !&t>e s!#+$e )isti&/

    2/ RMB - RESERVE MEMORY BYTES

      )a*e)H RMB e7"+essi!& $!mme&tH

    T>e RMB i+e$tie $a#ses t>e )!$ati!& $!#&te+ t! *e aa&$e *6 t>ea)#e !? t>e e7"+essi!& i& t>e !"e+a& ?ie)/ T>is i+e$tie +ese+esa *)!$ !? mem!+6 t>e )e&t> !? @>i$> i& *6tes is eJ#a) t! t>e a)#e

    !? t>e e7"+essi!&/ T>e *)!$ !? mem!+6 +ese+e is &!t i&itia)ie t!a&6 ie& a)#e/ T>e e7"+essi!& $a&&!t $!&tai& a&6 ?!+@a+ +e?e+e&$es!+ #&e?i&e s6m*!)s/ T>is i+e$tie is $!mm!&)6 #se t! +ese+e as$+at$>"a !+ ta*)e a+ea ?!+ )ate+ #se/

    2/0 ;MB - ;ERO MEMORY BYTES same as BS;H

      )a*e)H ;MB e7"+essi!& $!mme&tH

    T>e ;MB i+e$tie $a#ses t>e Assem*)e+ t! a))!$ate a *)!$ !? *6tes/Ea$> *6te is assi&e t>e i&itia) a)#e !? e+!/ T>e m*e+ !? *6tesa))!$ate is ie& *6 t>e e7"+essi!& i& t>e !"e+a& ?ie)/ I? t>e

    e7"+essi!& $!&tai&s s6m*!)s t>at a+e eit>e+ #&e?i&e !+ ?!+@a++e?e+e&$es !+ i? t>e e7"+essi!& >as a a)#e !? e+! a& e++!+ @i))*e e&e+ate/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a :

  • 8/18/2019 Manual de Usuario de Ensamblador

    18/33

      APPENDI= A  C.ARACTER SET

    T>e $>a+a$te+ set +e$!&ie *6 t>e F+ee@a+e Assem*)e+s is a s#*set!? ASCII/ T>e ASCII $!e is s>!@& i& t>e ?!))!@i& ?i#+e/ T>e?!))!@i& $>a+a$te+s a+e +e$!&ie *6 t>e Assem*)e+

      / T>e #""e+ $ase )ette+s A t>+!#> ; a& )!@e+ $ase )ette+sa t>+!#> /

      0/ T>e iits 4 t>+!#> 9/

      1/ Fie a+it>meti$ !"e+at!+s - 5 a& +emai&e+  a?te+ iisi!&H/

      2/ T>+ee )!i$a) !"e+at!+s a& X/

      / T>e s"e$ia) s6m*!) $>a+a$te+s #&e+s$!+e H "e+i! /H

      a& !))a+ si& H/ O&)6 t>e #&e+s$!+e a& "e+i! ma6 *e  #se as t>e ?i+st $>a+a$te+ !? a s6m*!)/

      3/ T>e $>a+a$te+s #se as "+e?i7es ?!+ $!&sta&ts a&  a+essi& m!es

      Immeiate a+essi&  .e7ae$ima) $!&sta&t  De$ima) $!&sta&t  O$ta) $!&sta&t  Bi&a+6 $!&sta&t  ' ASCII $>a+a$te+ $!&sta&t

      :/ T>e $>a+a$te+s #se as s#??i7es ?!+ $!&sta&ts a&  a+essi& m!es

      = I&e7e a+essi&  PCR M3849 i&e7e a+essi&  S M3849 i&e7e a+essi&  U M3849 i&e7e a+essi&  Y M3849 a& M38.C i&e7e a+essi&

      8/ T>+ee se"a+at!+ $>a+a$te+s s"a$e $a++iae +et#+& a&  $!mma/

      9/ T>e $>a+a$te+ t! i&i$ate $!mme&ts/ C!mme&ts ma6  $!&tai& a&6 "+i&ta*)e $>a+a$te+s ?+!m t>e ASCII set/

      4/ T>e s"e$ia) s6m*!) *a$s)as> Z t! i&i$ate )i&e$!&tiati!&/ W>e& t>e assem*)e+ e&$!#&te+s t>e )i&e$!&tiati!& $>a+a$te+ it ?et$>es t>e &e7t )i&e a& asit t! t>e e& !? t>e ?i+st )i&e/ T>is $!&ties #&ti) a)i&e is see& @>i$> !es&'t e& @it> a *a$s)as> !+ #&ti)t>e s6stem ma7im#m *#??e+ sie >as *ee& $!))e$tet6"i$a))6 +eate+ !+ eJ#a) t! 03H/

      / F!+ t>e M3849 Assem*)e+ t>e $>a+a$te+ "+e$ei& a&

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 8

  • 8/18/2019 Manual de Usuario de Ensamblador

    19/33

      e7"+essi!& t! i&i$ate i+e$t a+essi& m!e !+ 8-*it  !??set i& i&e7e m!e a& t>e $>a+a$te+ "+e$ei& a&  e7"+essi!& t! i&i$ate e7te&e a+essi& m!e !+ 3-*it  !??set i& i&e7e m!e/

      0/ F!+ t>e M3849 Assem*)e+ t>e $>a+a$te+s #se t! i&i$ate  a#t! i&$+eme&t a& a#t! e$+eme&t i& t>e i&e7e m!e

      - --/

      ASCII C.ARACTER CODES

      BITS 2 t! 3 -- 4 0 1 2 3 :  ----------- -------------------------------------

    4 NUL DLE SP 4 P [ "

      B SO. DC A < a J  I 0 ST= DC0 \ 0 B R * +  T 1 ET= DC1 1 C S $ s  S 2 EOT DC2 2 D T t  EN< NAK E U e #  4 3 ACK SYN 3 F V ?   : BEL ETB ' : G W @  T 8 BS CAN 8 . = > 7  O 9 .T EM H 9 I Y i 6  A LF SUB ] ;   1 B VT ESC ^ K Q _  C FF FS L Z ) ^

      D CR GS - M m `  E SO RS / N X &   F S US 5 b O ! DEL

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 9

  • 8/18/2019 Manual de Usuario de Ensamblador

    20/33

      APPENDI= B  ADDRESSING MODES

    B/ M38445M384 ADDRESSING MODES/

    IN.ERENT OR ACCUMULATOR ADDRESSINGT>e M3844 i&$)#es s!me i&st+#$ti!&s @>i$> +eJ#i+e &! !"e+a&s/ T>ese

    i&st+#$ti!&s a+e se)?-$!&tai&e a& em")!6 t>e i&>e+e&t a+essi& !+t>e a$$#m#)at!+ a+essi& m!e/

    IMMEDIATE ADDRESSINGImmeiate a+essi& +e?e+s t! t>e #se !? !&e !+ t@! *6tes !?i&?!+mati!& t>at immeiate)6 ?!))!@ t>e !"e+ati!& $!e i& mem!+6/Immeiate a+essi& is i&i$ate *6 "+e$ei& t>e !"e+a& ?ie) @it>t>e "!#& si& !+ m*e+ si& $>a+a$te+ H/ T>e e7"+essi!& ?!))!@i&t>e @i)) *e assi&e !&e !+ t@! *6tes !? st!+ae e"e&i& !& t>ei&st+#$ti!&/

    RELATIVE ADDRESSINGRe)atie a+essi& is #se *6 *+a&$> i&st+#$ti!&s/ B+a&$>es $a& !&)6*e e7e$#te @it>i& t>e +a&e -03 t! 09 *6tes +e)atie t! t>e ?i+st*6te !? t>e *+a&$> i&st+#$ti!&/ F!+ t>is m!e t>e "+!+amme+s"e$i?ies t>e *+a&$> a+ess e7"+essi!& a& ")a$es it i& t>e !"e+a&?ie)/ T>e a$t#a) *+a&$> !??set is $a)$#)ate *6 t>e assem*)e+ a&"#t i&t! t>e se$!& *6te !? t>e *+a&$> i&st+#$ti!&/ T>e !??set ist>e t@!'s $!m")eme&t !? t>e i??e+e&$e *et@ee& t>e )!$ati!& !? t>e*6te immeiate)6 ?!))!@i& t>e *+a&$> i&st+#$ti!& a& t>e )!$ati!& !?t>e esti&ati!& !? t>e *+a&$>/ B+a&$>es !#t !? *!#&s a+e ?)ae ase++!+s *6 t>e assem*)e+/

    INDE=ED ADDRESSINGI&e7e a+essi& is +e)atie t! t>e i&e7 +eiste+/ T>e a+ess is$a)$#)ate at t>e time !? i&st+#$ti!& e7e$#ti!& *6 ai& a !&e-*6teis")a$eme&t i& t>e se$!& *6te !? t>e i&st+#$ti!&H t! t>e $#++e&t$!&te&ts !? t>e = +eiste+/ Si&$e &! si& e7te&si!& is "e+?!+me !&t>is !&e-*6te is")a$eme&t t>e !??set $a&&!t *e &eatie/ I&e7ea+essi& is i&i$ate *6 t>e $>a+a$te+s = ?!))!@i& t>ee7"+essi!& i& t>e !"e+a& ?ie)/ T>e s"e$ia) $ase !? = @it>!#t a"+e$ei& e7"+essi!& is t+eate as 4=/

    DIRECT AND E=TENDED ADDRESSINGDi+e$t a& e7te&e a+essi& #ti)ie !&e i+e$tH !+ t@! e7te&eH*6tes t! $!&tai& t>e a+ess !? t>e !"e+a&/ Di+e$t a+essi& is)imite t! t>e ?i+st 03 *6tes !? mem!+6/ Di+e$t a& e7te&ea+essi& a+e i&i$ate *6 !&)6 >ai& a& e7"+essi!& i& t>e !"e+a&?ie)/ Di+e$t a+essi& @i)) *e #se *6 t>e Assem*)e+ @>e&ee+"!ssi*)e/

    B/0 M38425M38.C42 ADDRESSING MODES/

    IN.ERENT OR ACCUMULATOR ADDRESSINGT>e M3844 i&$)#es s!me i&st+#$ti!&s @>i$> +eJ#i+e &! !"e+a&s/ T>ese

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 04

  • 8/18/2019 Manual de Usuario de Ensamblador

    21/33

    i&st+#$ti!&s a+e se)?-$!&tai&e a& em")!6 t>e i&>e+e&t a+essi& !+t>e a$$#m#)at!+ a+essi& m!e/

    IMMEDIATE ADDRESSINGImmeiate a+essi& +e?e+s t! t>e #se !? !&e *6te !? i&?!+mati!&t>at immeiate)6 ?!))!@s t>e !"e+ati!& $!e i& mem!+6/ Immeiate

    a+essi& is i&i$ate *6 "+e$ei& t>e !"e+a& ?ie) @it> t>e "!#&si& !+ m*e+ si& $>a+a$te+ H/ T>e e7"+essi!& ?!))!@i& t>e @i)) *e assi&e !&e *6te !? st!+ae/

    RELATIVE ADDRESSINGRe)atie a+essi& is #se *6 *+a&$> i&st+#$ti!&s/ B+a&$>es $a& !&)6*e e7e$#te @it>i& t>e +a&e - t! 3 *6tes +e)atie t! t>e ?i+st*6te !? t>e *+a&$> i&st+#$ti!&/ F!+ t>is m!e t>e "+!+amme+s"e$i?ies t>e *+a&$> a+ess e7"+essi!& a& ")a$es it i& t>e !"e+a&?ie)/ T>e a$t#a) *+a&$> !??set is $a)$#)ate *6 t>e assem*)e+ a&"#t i&t! t>e se$!& *6te !? t>e *+a&$> i&st+#$ti!&/ T>e !??set is

    t>e t@!'s $!m")eme&t !? t>e i??e+e&$e *et@ee& t>e )!$ati!& !? t>e*6te immeiate)6 ?!))!@i& t>e *+a&$> i&st+#$ti!& a& t>e )!$ati!& !?t>e esti&ati!& !? t>e *+a&$>/ B+a&$>es !#t !? *!#&s a+e ?)ae ase++!+s *6 t>e assem*)e+/

    DIRECT AND E=TENDED ADDRESSINGDi+e$t a& e7te&e a+essi& #ti)ie *6te t! $!&tai& t>e a+ess !?t>e !"e+a&/ Di+e$t a+essi& is )imite t! t>e ?i+st 03 *6tes !?mem!+6/ E7te&e a+essi& $!&$ate&ates t>e ?!#+ )east-si&i?i$a&t*its !? t>e !"$!e @it> t>e *6te ?!))!@i& t>e !"$!e t! ?!+m a0-*it a+ess/ Di+e$t a& e7te&e a+essi& a+e i&i$ate *6 !&)6

    >ai& a& e7"+essi!& i& t>e !"e+a& ?ie)/ Di+e$t a+essi& @i)) *e#se *6 t>e Assem*)e+ @>e&ee+ "!ssi*)e/

    S.ORT DIRECTS!me !"$!es a))!@ 2 mem!+6 )!$ati!&s i& ata s"a$e +am 84 880 a& 81 t! *e +e?e+e&$e as "a+t !? t>e !"$!e/ T>e !"$!eete+mi&es t>e ata s"a$e RAM )!$ati!& a& t>e i&st+#$ti!& is !&)6!&e *6te/ T>e = a& Y +eiste+s a+e at )!$ati!&s 84 a& 8+es"e$tie)6/ A& e7"+essi!& #se @it> s>!+t i+e$t a+essi& m#st&!t *e ?!+@a+ +e?e+e&$e t>at is its e?i&iti!& m#st !$$#+ *e?!+e&!t a?te+ t>is "!i&t i& t>e ?i)eH a& m#st eJ#ate t! t>e +a&e 84-81/

    BIT SET AND CLEARI& t>e *it set5$)ea+ a+essi& m!e t>e *it t! *e set !+ $)ea+e is"a+t !? t>e !"$!e/ T>e *6te ?!))!@i& t>e !"$!e s"e$i?ies t>ei+e$t a+ess !? t>e *6te @>i$> @i)) >ae t>e *it set !+ $)ea+e/A&6 *it i& t>e 03 *6te ata s"a$e mem!+6 t>at $a& *e @+itte& @it>t>e e7$e"ti!& !? t>e ata i+e$ti!& +eiste+sH $a& *e set !+ $)ea+e@it> t>ese t@! *6te i&st+#$ti!&s/

    BIT TEST AND BRANC.

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 0

  • 8/18/2019 Manual de Usuario de Ensamblador

    22/33

    T>e *it test a& *+a&$> a+essi& m!e is a $!m*i&ati!& !? t>ei+e$t a+essi& a& +e)atie a+essi&/ T>e *it t! *e teste a&it $!&iti!& set !+ $)ea+H is i&$)#e i& t>e !"$!e/ T>e atas"a$e a+ess !? t>e *6te t! *e teste is i& t>e si&)e *6teimmeiate)6 ?!))!@i& t>e !"$!e *6te a& ?!))!@s i+e$t a+essi&+#)es/ T>e t>i+ *6te is si& e7te&e *6 t>e "+!$ess!+ #+i&e7e$#ti!& t! ?!+m t>e 0-*it +e)atie a+ess @>i$> is ae t! t>e

    "+!+am $!#&te+ i? t>e $!&iti!& is t+#e/ T>is a))!@s *+a&$>es *ase!& a&6 +eaa*)e *it i& t>e ata s"a$e/ T>e *+a&$> s"a& is -0 t!14 ?+!m t>e !"$!e a+ess/ T>e *+a&$> ta+et a+ess is #se *6t>e "+!+amme+ t! si&i?6 t>e +e)atie !??set -- t>e assem*)e+$a)$#)ates t>e !??set a)#e/ B+a&$>es !#t !? *!#&s a+e ?)ae ase++!+s *6 t>e assem*)e+/

    REGISTER INDIRECTI& t>e +eiste+ i&i+e$t m!e t>e !"e+a& is at t>e a+ess i& atas"a$e "!i&te t! *6 t>e $!&te&ts !? !&e !? t>e i&i+e$t +eiste+s =!+ Y/ T>e "a+ti$#)a+ i&i+e$t +eiste+ is e&$!e i& *it 2 !? t>e

    !"$!e *6 t>e assem*)e+/ T>e assem*)e+ !"e+a& s6&ta7 ?!+ +eiste+i&i+e$t is

      Q= !+ Y

    MOVE IMMEDIATET>e MVI m!e immeiateH i&st+#$ti!& >as its !@& ?!+mat

      mi e7"+essi!& e7"+essi!& 0

    @>e+e e7"+essi!& is a i+e$t a+ess a& e7"+essi!& 0 is t>e

    ata a)#e t! *e @+itte&/

    MISCELLANEOUS SYNTA= ISSUEST>e +eiste+s i& t>e 38425.C3842 a+e mem!+6 )!$ati!&s a& >aea+esses assi&e t! t>em/ T>e assem*)e+ >as "+ee?i&e

      a A FF  * B 84  $ C 8

    T>is a)s! mea&s t>at ?!+ t>e '42 assem*)e+ $)+ 7 is eJ#ia)e&t t!$)+7 si&$e 7 is *!t> a +eiste+ a& a mem!+6 )!$ati!&/

    T>e '42 se+ies >as se"a+ate "+!+am a& ata s"a$es/ T>e+e is &!"+!+am mem!+6 i& t>e +a&e 4-:F/ B6tes assem*)e i&t! t>at +a&e@i)) ! i&t! t>e ata s"a$e/

    B/1 M384538.C4 ADDRESSING MODES/

    IN.ERENT OR ACCUMULATOR ADDRESSINGT>e M384 i&$)#es s!me i&st+#$ti!&s @>i$> +eJ#i+e &! !"e+a&s/ T>esei&st+#$ti!&s a+e se)?-$!&tai&e a& em")!6 t>e i&>e+e&t a+essi&!+ t>e a$$#m#)at!+ a+essi& m!e/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 00

  • 8/18/2019 Manual de Usuario de Ensamblador

    23/33

    IMMEDIATE ADDRESSINGImmeiate a+essi& +e?e+s t! t>e #se !? !&e *6te !? i&?!+mati!&t>at immeiate)6 ?!))!@s t>e !"e+ati!& $!e i& mem!+6/ Immeiatea+essi& is i&i$ate *6 "+e$ei& t>e !"e+a& ?ie) @it> t>e "!#&si& !+ m*e+ si& $>a+a$te+ H/ T>e e7"+essi!& ?!))!@i& t>e @i)) *e assi&e !&e *6te !? st!+ae/

    RELATIVE ADDRESSINGRe)atie a+essi& is #se *6 *+a&$> i&st+#$ti!&s/ B+a&$>es $a& !&)6*e e7e$#te @it>i& t>e +a&e -03 t! 09 *6tes +e)atie t! t>e ?i+st*6te !? t>e *+a&$> i&st+#$ti!&/ F!+ t>is m!e t>e "+!+amme+s"e$i?ies t>e *+a&$> a+ess e7"+essi!& a& ")a$es it i& t>e !"e+a&?ie)/ T>e a$t#a) *+a&$> !??set is $a)$#)ate *6 t>e assem*)e+ a&"#t i&t! t>e se$!& *6te !? t>e *+a&$> i&st+#$ti!&/ T>e !??set ist>e t@!'s $!m")eme&t !? t>e i??e+e&$e *et@ee& t>e )!$ati!& !? t>e*6te immeiate)6 ?!))!@i& t>e *+a&$> i&st+#$ti!& a& t>e )!$ati!& !?t>e esti&ati!& !? t>e *+a&$>/ B+a&$>es !#t !? *!#&s a+e ?)ae as

    e++!+s *6 t>e assem*)e+/

    INDE=ED ADDRESSINGI&e7e a+essi& is +e)atie t! t>e i&e7 +eiste+/ T>e a+ess is$a)$#)ate at t>e time !? i&st+#$ti!& e7e$#ti!& *6 ai& a !&e- !+t@!-*6te is")a$eme&t t! t>e $#++e&t $!&te&ts !? t>e = +eiste+/ T>eis")a$eme&t immeiate)6 ?!))!@s t>e !"e+ati!& $!e i& mem!+6/ I?t>e is")a$eme&t is e+! &! !??set is ae t! t>e i&e7 +eiste+/I& t>is $ase !&)6 t>e !"e+ati!& $!e +esies i& mem!+6/ Si&$e &!si& e7te&si!& is "e+?!+me !& a !&e-*6te is")a$eme&t t>e !??set$a&&!t *e &eatie/ I&e7e a+essi& is i&i$ate *6 t>e $>a+a$te+s

    = ?!))!@i& t>e e7"+essi!& i& t>e !"e+a& ?ie)/ T>e s"e$ia) $ase!? = @it>!#t a "+e$ei& e7"+essi!& is t+eate as 4=/ S!mei&st+#$ti!&s ! &!t a))!@ a t@!-*6te is")a$eme&t/

    DIRECT AND E=TENDED ADDRESSINGDi+e$t a& e7te&e a+essi& #ti)ie !&e i+e$tH !+ t@! e7te&eH*6tes t! $!&tai& t>e a+ess !? t>e !"e+a&/ Di+e$t a+essi& is)imite t! t>e ?i+st 03 *6tes !? mem!+6/ Di+e$t a& e7te&ea+essi& a+e i&i$ate *6 !&)6 >ai& a& e7"+essi!& i& t>e !"e+a&?ie)/ S!me i&st+#$ti!&s ! &!t a))!@ e7te&e a+essi&/ Di+e$ta+essi& @i)) *e #se *6 t>e Ma$+! Assem*)e+ @>e&ee+ "!ssi*)e/

    BIT SET OR CLEART>e a+essi& m!e #se ?!+ t>is t6"e !? i&st+#$ti!& is i+e$ta)t>!#> t>e ?!+mat !? t>e !"e+a& ?ie) is i??e+e&t ?+!m t>e i+e$ta+essi& m!e es$+i*e a*!e/ T>e !"e+a& taes t>e ?!+me7"+essi!& e7"+essi!& 0/ e7"+essi!& i&i$ates @>i$> *it ist! *e set !+ $)ea+e/ It m#st *e a& a*s!)#te e7"+essi!& i& t>e +a&e4-:/ It is #se i& e&e+ati& t>e !"e+ati!& $!e/ e7"+essi!& 0 is>a&)e as a i+e$t a+ess as es$+i*e a*!e/ Si&$e t>e *itma&i"#)ati!& a+ess is i+e$t !&)6 t>e ?i+st 03 )!$ati!&s ma6 *e!"e+ate !& *6 *it ma&i"#)ati!& !"e+ati!&s/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 01

  • 8/18/2019 Manual de Usuario de Ensamblador

    24/33

    BIT TEST AND BRANC.T>is $!m*i&es t@! a+essi& m!es i+e$t a& +e)atie/ T>e ?!+mat!? t>e !"e+a& is e7"+essi!& e7"+essi!& 0 e7"+essi!& 1/e7"+essi!& a& e7"+essi!& 0 a+e >a&)e i& t>e same ma&&e+ ases$+i*e a*!e i& *it set !+ $)ea+/ e7"+essi!& 1 is #se t!e&e+ate a +e)atie a+ess as es$+i*e a*!e i& +e)atie

    a+essi&/

    B/2 M3849 ADDRESSING MODES/

    IN.ERENT OR ACCUMULATOR ADDRESSINGT>e M3849 i&$)#es s!me i&st+#$ti!&s @>i$> +eJ#i+e &! !"e+a&s/ T>esei&st+#$ti!&s a+e se)?-$!&tai&e a& em")!6 t>e i&>e+e&t a+essi&!+ t>e a$$#m#)at!+ a+essi& m!e/

    IMMEDIATE ADDRESSING

    Immeiate a+essi& +e?e+s t! t>e #se !? !&e !+ t@! *6tes !?i&?!+mati!& t>at immeiate)6 ?!))!@ t>e !"e+ati!& $!e i& mem!+6/Immeiate a+essi& is i&i$ate *6 "+e$ei& t>e !"e+a& ?ie) @it>t>e "!#& si& !+ m*e+ si& H -- i/e/ e7"+essi!&/ T>ee7"+essi!& ?!))!@i& t>e @i)) *e assi&e !&e !+ t@! *6tes !?st!+ae e"e&i& !& t>e i&st+#$ti!&/ A)) i&st+#$ti!&s +e?e+e&$i&t>e a$$#m#)at!+ A !+ B !+ t>e $!&iti!& $!e +eiste+ CC @i))e&e+ate a !&e-*6te immeiate a)#e/ A)s! immeiate a+essi& #se@it> t>e PS.S PULS PS.U a& PULU i&st+#$ti!&s e&e+ates a !&e-*6teimmeiate a)#e/ Immeiate !"e+a&s #se i& a)) !t>e+ i&st+#$ti!&se&e+ate a t@!-*6te a)#e/

    T>e +eiste+ )ist !"e+a& !es &!t tae t>e ?!+m e7"+essi!& *#tsti)) e&e+ates !&e *6te !? immeiate ata/ T>e ?!+m !? t>e !"e+a&is  RR0///R&

    @>e+e Ri i t! &H is !&e !? t>e s6m*!)s A B CC D DP PC S U= !+ Y/ T>e m*e+ a& t6"e !? s6m*!)s a+6 e"e&i& !& t>es"e$i?i$ i&st+#$ti!&/

    F!+ t>e i&st+#$ti!&s PS.S PULS PS.U a& PULU a&6 !? t>e a*!e+eiste+ &ames ma6 *e i&$)#e i& t>e +eiste+ )ist/ T>e !&)6+est+i$ti!& is t>at U $a&&!t *e s"e$i?ie @it> PS.U !+ PULU a&S $a&&!t *e s"e$i?ie @it> PS.S !+ PULS/ T>e !&e-*6te immeiatea)#e assi&e t! t>e !"e+a& is $a)$#)ate *6 t>e assem*)e+ a& isete+mi&e *6 t>e +eiste+s s"e$i?ie/ Ea$> +eiste+ &ame $a#ses t>eassem*)e+ t! set a *it i& t>e immeiate *6te as ?!))!@s

      Reiste+ Bit  -------- ---

      PC :  US 3  Y   = 2  DP 1

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 02

  • 8/18/2019 Manual de Usuario de Ensamblador

    25/33

      BD 0  AD   CC 4

    F!+ t>e i&st+#$ti!&s E=G a& TFR e7a$t)6 t@! !? t>e a*!e +eiste+&ames m#st *e i&$)#e i& t>e +eiste+ )ist/ T>e !t>e+ +est+i$ti!& is

    t>e sie !? t>e +eiste+s s"e$i?ie/ F!+ t>e E=G i&st+#$ti!& t>e t@!+eiste+s m#st *e t>e same sie/ F!+ t>e TFR i&st+#$ti!& t>e t@!+eiste+s m#st *e t>e same sie !+ t>e ?i+st $a& *e a 3-*it+eiste+ a& t>e se$!& a& 8-*it +eiste+/ I& t>e $ase @>e+e t>et+a&s?e+ is ?+!m a 3-*it +eiste+ t! a& 8-*it +eiste+ t>e )eastsi&i?i$a&t 8 *its a+e t+a&s?e++e/ T>e 8-*it +eiste+s a+e A BCC a& DP/ T>e 3-*it +eiste+s a+e D PC S U = a& Y/ T>e!&e-*6te immeiate a)#e assi&e t! t>e !"e+a& *6 t>e assem*)e+ isete+mi&e *6 t>e +eiste+ &ames/ T>e m!st si&i?i$a&t ?!#+ *its !?t>e immeiate *6te $!&tai& t>e a)#e !? t>e ?i+st +eiste+ &ame^ t>e)east si&i?i$a&t ?!#+ *its $!&tai& t>e a)#e !? t>e se$!& +eiste+as s>!@& *6 t>e ?!))!@i& ta*)e/

      Reiste+ Va)#e >e7H  -------- -----------

      D 4  =   Y 0  U 1  S 2  PC   A 8

      B 9  CC A  DP B

    RELATIVE ADDRESSINGRe)atie a+essi& is #se *6 *+a&$> i&st+#$ti!&s/ T>e+e a+e t@!?!+ms !? t>e *+a&$> i&st+#$ti!&/ T>e s>!+t *+a&$> $a& !&)6 *ee7e$#te @it>i& t>e +a&e -03 t! 09 *6tes +e)atie t! t>e ?i+st*6te !? t>e *+a&$> i&st+#$ti!&/ F!+ t>is m!e t>e "+!+amme+s"e$i?ies t>e *+a&$> a+ess e7"+essi!& a& ")a$es it i& t>e !"e+a&?ie)/ T>e a$t#a) *+a&$> !??set is $a)$#)ate *6 t>e assem*)e+ a&"#t i&t! t>e se$!& *6te !? t>e *+a&$> i&st+#$ti!&/ T>e )!& *+a&$>$a& e7e$#te i& t>e ?#)) +a&e !? a+essi& ?+!m 4444-FFFF>e7ae$ima)H *e$a#se a t@!- *6te !??set is $a)$#)ate *6 t>eassem*)e+ a& "#t i&t! t>e !"e+a& ?ie) !? t>e *+a&$> i&st+#$ti!&/T>e !??set is t>e t@!'s $!m")eme&t !? t>e i??e+e&$e *et@ee& t>e)!$ati!& !? t>e *6te immeiate)6 ?!))!@i& t>e *+a&$> i&st+#$ti!& a&t>e )!$ati!& !? t>e esti&ati!& !? t>e *+a&$>/

    DIRECT AND E=TENDED ADDRESSINGDi+e$t a& e7te&e a+essi& #ti)ie !&e i+e$tH !+ t@! e7te&eH*6tes t! $!&tai& t>e a+ess !? t>e !"e+a&/ Di+e$t a& e7te&ea+essi& a+e i&i$ate *6 >ai& !&)6 a& e7"+essi!& i& t>e !"e+a&

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 0

  • 8/18/2019 Manual de Usuario de Ensamblador

    26/33

    ?ie) i/e/ e7"+essi!&H/ Di+e$t a+essi& @i)) *e #se @>e&ee+"!ssi*)e/

    Rea+)ess !? t>e $+ite+ia es$+i*e a*!e it is "!ssi*)e t! ?!+$et>e Assem*)e+ t! #se t>e i+e$t a+essi& m!e *6 "+e$ei& t>e!"e+a& @it> t>e $>a+a$te+/ Simi)a+)6 e7te&e a+essi& $a& *e?!+$e *6 "+e$ei& t>e !"e+a& @it> t>e $>a+a$te+/ T>ese t@!

    !"e+a& ?!+ms a+e e7"+essi!& a& e7"+essi!&/

    INDE=ED ADDRESSINGI&e7e a+essi& is +e)atie t! !&e !? t>e i&e7 +eiste+s/ T>ee&e+a) ?!+m is e7"+essi!&R/ T>e a+ess is $a)$#)ate at t>e time!? i&st+#$ti!& e7e$#ti!& *6 ai& t>e a)#e !? e7"+essi!& t! t>e$#++e&t $!&te&ts !? t>e i&e7 +eiste+/ T>e !t>e+ e&e+a) ?!+m isQe7"+essi!&R/ I& t>is i&i+e$t ?!+m t>e a+ess is $a)$#)ateat t>e time !? i&st+#$ti!& e7e$#ti!& *6 ?i+st ai& t>e a)#e !?e7"+essi!& t! t>e $#++e&t $!&te&ts !? t>e i&e7 +eiste+ a& t>e&+et+iei& t>e t@! *6tes ?+!m t>e $a)$#)ate a+ess a& a+ess/

    T>is t@!-*6te a)#e is #se as t>e e??e$tie a+ess !? t>e !"e+a&/T>e a))!@a*)e ?!+ms !? i&e7e a+essi& a+e es$+i*e *e)!@/ I&t>e es$+i"ti!& *e)!@ R +e?e+s t! !&e !? t>e i&e7 +eiste+s S U= !+ Y/

    T>e a$$#m#)at!+ !??set m!e a))!@s !&e !? t>e a$$#m#)at!+s t! *es"e$i?ie i&stea !? a& e7"+essi!&/ Va)i ?!+ms a+e/

      a$$R a& Qa$$R

    @>e+e a$$ is !&e !? t>e a$$#m#)at!+s A B !+ D/ T>is ?!+me&e+ates a !&e-*6te !"e+a& "!st-*6te !&)6H/ W>e& a$$#m#)at!+ A !+

    B is s"e$i?ie si& e7te&si!& !$$#+s "+i!+ t! ai& t>e a)#e i&t>e a$$#m#)at!+ t! t>e i&e7 +eiste+/

    T>e a)i ?!+ms ?!+ t>e a#t!mati$ i&$+eme&t5e$+eme&t m!e a+e s>!@&*e)!@/ F!+ ea$> +!@ t>e t>+ee e&t+ies s>!@& a+e eJ#ia)e&t/

      R R 4R  -R -R 4-R  R R 4R  --R --R 4--R  QR R Q4R  Q--R Q--R Q4--R

    I& t>is ?!+m t>e !&)6 a)i e7"+essi!& is 4/ Lie t>e a$$#m#)at!+!??set m!e t>is ?!+m e&e+ates a !&e-*6te !"e+a& "!st-*6te !&)6H/

    T>e a)i ?!+ms ?!+ t>e e7"+essi!& !??set m!e a+e

      R R e7"+essi!&R  QR QR Qe7"+essi!&R  R R e7"+essi!&R  QR QR Qe7"+essi!&R

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 03

  • 8/18/2019 Manual de Usuario de Ensamblador

    27/33

      R R e7"+essi!&R  QR QR Qe7"+essi!&R

    T>e a& $>a+a$te+s ?!+$e a& 8- !+ 3-*it !??set+es"e$tie)6 a& a+e es$+i*e *e)!@/ I? &! e7"+essi!& is s"e$i?ie!+ i? a& e7"+essi!& @it> a a)#e !? e+! is s"e$i?ie !&)6 t>e

    "!st*6te !? t>e !"e+a& is e&e+ate/ I? a& e7"+essi!& @it> a a)#ei& t>e +a&e -3 t! is s"e$i?ie @it>!#t i&i+e$ti!& a !&e- *6te!"e+a& is e&e+ate @>i$> $!&tai&s t>e e7"+essi!&'s a)#e as @e))as t>e i&e7 +eiste+ i&i$at!+/ At e7e$#ti!& time t>e e7"+essi!&'sa)#e is e7"a&e t! 3 *its @it> si& e7te&si!& *e?!+e *ei& aet! t>e i&e7 +eiste+/

    A)) !t>e+ ?!+ms @i)) e&e+ate a "!st-*6te as @e)) as eit>e+ a !&e-!+ t@!-*6te !??set @>i$> $!&tai&s t>e a)#e !? t>e e7"+essi!&/ T>esie !? t>e !??set is ete+mi&e *6 t>e t6"e a& sie !? t>ee7"+essi!&/ E7"+essi!&s @it> a)#es i& t>e +a&e -08 t! 0:e&e+ate a& 8-*it !??set/ A)) !t>e+ $ases @i)) +es#)t i& a 3-*it

    !??set *ei& e&e+ate/ I& t>e $ase @>e+e a& 8-*it !??set ise&e+ate t>e a)#e is e7"a&e t! 3 *its @it> si& e7te&si!& ate7e$#ti!& time/

    Rea+)ess !? t>e $+ite+ia es$+i*e a*!e it is "!ssi*)e t! ?!+$et>e Assem*)e+ t! e&e+ate a& 8-*it !??set *6 "+e$ei& t>e !"e+a&@it> t>e $>a+a$te+/ Simi)a+)6 a 3-*it !??set $a& *e ?!+$e *6"+e$ei& t>e !"e+a& @it> t>e $>a+a$te+/

    I? t>e +e)atie a+ess $a)$#)ate is &!t i& t>e +a&e -08 t! 0:!+ i? t>e e7"+essi!& +e?e+e&$es a s6m*!) t>at >as &!t 6et *ee&e?i&e a t@!-*6te !??set is e&e+ate a?te+ t>e "!st-*6te/ A !&e-

    *6te !??set is e&e+ate i? t>e +e)atie a+ess is i& t>e +a&e -08t! 0:/

    Lie t>e e7"+essi!& !??set m!e a !&e-*6te !??set $a& *e ?!+$e *6"+e$ei& t>e !"e+a& @it> a / A ?!+$es a t@!-*6te !??set/ A*6te !e+?)!@ e++!+ is e&e+ate i? a !&e-*6te !??set is ?!+$e @>e&t>e +e)atie a+ess is &!t i& t>e +a&e -0 8 t! 0:/

    T>e e7te&e i&i+e$t m!e >as t>e ?!+m

      Qe7"+essi!&

    A)t>!#> e7te&e i&i+e$t is a )!i$a) e7te&si!& !? t>e e7te&ea+essi& m!e t>is m!e is im")eme&te #si& a& e&$!i& !? t>e"!st*6te #&e+ t>e i&e7e a+essi& m!e/ A "!st-*6te a& a t@!-*6te !??set @>i$> $!&tai&s t>e a)#e !? t>e e7"+essi!& is e&e+ate/

    B/ M38.C ADDRESSING MODES/

    PREBYTET>e m*e+ !? $!m*i&ati!&s !? i&st+#$ti!&s a& a+essi& m!es ?!+t>e 38.C is )a+e+ t>a& t>at "!ssi*)e t! *e e&$!e i& a& 8-*it@!+ 03 $!m*i&ati!&sH/ T! e7"a& t>e !"$!e ma" $e+tai& !"$!es8 A a& CDH $a#se t>e "+!$ess!+ t! ?et$> t>e &e7t a+ess t!?i& t>e a$t#a) i&st+#$ti!&/ T>ese !"$!es a+e &!@& as "+e*6tes a&

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 0:

  • 8/18/2019 Manual de Usuario de Ensamblador

    28/33

    a+e i&se+te a#t!mati$a))6 *6 t>e assem*)e+ ?!+ t>!se i&st+#$ti!&st>at +eJ#i+e it/) I& e&e+a) t>e i&st+#$ti!&s $!&tai&e i& t>ea)te+&ate ma"s a+e t>!se i&!)i& t>e Y +eiste+ !+ a+essi& m!est>at i&!)e t>e Y i&e7 +eiste+/ T>#s t>e "+!+amme+ mae t>et+ae!?? *et@ee& t>e $!&e&ie&$e !? #si& t>e se$!& i&e7 +eiste+a& t>e aiti!&a) time a& $!e s"a$e #se *6 t>e "+e*6te/

    IN.ERENT OR ACCUMULATOR ADDRESSINGT>e M38.C i&$)#es s!me i&st+#$ti!&s @>i$> +eJ#i+e &! !"e+a&s/T>ese i&st+#$ti!&s a+e se)?-$!&tai&e a& em")!6 t>e i&>e+e&ta+essi& !+ t>e a$$#m#)at!+ a+essi& m!e/

    IMMEDIATE ADDRESSINGImmeiate a+essi& +e?e+s t! t>e #se !? !&e !+ m!+e *6tes !?i&?!+mati!& t>at immeiate)6 ?!))!@ t>e !"e+ati!& $!e i& mem!+6/Immeiate a+essi& is i&i$ate *6 "+e$ei& t>e !"e+a& ?ie) @it>t>e "!#& si& !+ m*e+ si& $>a+a$te+ H/ T>e e7"+essi!& ?!))!@i&

    t>e @i)) *e assi&e !&e *6te !? st!+ae/

    RELATIVE ADDRESSINGRe)atie a+essi& is #se *6 *+a&$> i&st+#$ti!&s/ B+a&$>es $a& !&)6*e e7e$#te @it>i& t>e +a&e -03 t! 09 *6tes +e)atie t! t>e ?i+st*6te !? t>e *+a&$> i&st+#$ti!&/ F!+ t>is m!e t>e "+!+amme+s"e$i?ies t>e *+a&$> a+ess e7"+essi!& a& ")a$es it i& t>e !"e+a&?ie)/ T>e a$t#a) *+a&$> !??set is $a)$#)ate *6 t>e assem*)e+ a&"#t i&t! t>e se$!& *6te !? t>e *+a&$> i&st+#$ti!&/ T>e !??set ist>e t@!'s $!m")eme&t !? t>e i??e+e&$e *et@ee& t>e )!$ati!& !? t>e*6te immeiate)6 ?!))!@i& t>e *+a&$> i&st+#$ti!& a& t>e )!$ati!& !?

    t>e esti&ati!& !? t>e *+a&$>/ B+a&$>es !#t !? *!#&s a+e ?)ae ase++!+s *6 t>e assem*)e+/

    INDE=ED ADDRESSINGI&e7e a+essi& is +e)atie !&e !? t>e i&e7 +eiste+s = !+ Y/T>e a+ess is $a)$#)ate at t>e time !? i&st+#$ti!& e7e$#ti!& *6ai& a !&e-*6te is")a$eme&t t! t>e $#++e&t $!&te&ts !? t>e =+eiste+/ T>e is")a$eme&t immeiate)6 ?!))!@s t>e !"e+ati!& $!e i&mem!+6/ I? t>e is")a$eme&t is e+! e+! +esies i& t>e *6te?!))!@i& t>e !"$!e/ Si&$e &! si& e7te&si!& is "e+?!+me !& a!&e-*6te is")a$eme&t t>e !??set $a&&!t *e &eatie/ I&e7ea+essi& is i&i$ate *6 t>e $>a+a$te+s = ?!))!@i& t>ee7"+essi!& i& t>e !"e+a& ?ie)/ T>e s"e$ia) $ase !? = @it>!#t a"+e$ei& e7"+essi!& is t+eate as 4=/

    DIRECT AND E=TENDED ADDRESSINGDi+e$t a& e7te&e a+essi& #ti)ie !&e i+e$tH !+ t@! e7te&eH*6tes t! $!&tai& t>e a+ess !? t>e !"e+a&/ Di+e$t a+essi& is)imite t! t>e ?i+st 03 *6tes !? mem!+6/ Di+e$t a& e7te&ea+essi& a+e i&i$ate *6 !&)6 >ai& a& e7"+essi!& i& t>e !"e+a&?ie)/ Di+e$t a+essi& @i)) *e #se *6 t>e Assem*)e+ @>e&ee+"!ssi*)e/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 08

  • 8/18/2019 Manual de Usuario de Ensamblador

    29/33

    BITSH SET OR CLEART>e a+essi& m!e #se ?!+ t>is t6"e !? i&st+#$ti!& is i+e$ta)t>!#> t>e ?!+mat !? t>e !"e+a& ?ie) is i??e+e&t ?+!m t>e i+e$ta+essi& m!e es$+i*e a*!e/ T>e !"e+a& taes t>e ?!+me7"+essi!& e7"+essi!& 0 @>e+e t>e t@! e7"+essi!&s a+e se"a+ate*6 a *)a&/ e7"+essi!& si&i?ies t>e !"e+a& a+ess a& ma6 *eeit>e+ a i+e$t !+ a& i&e7e a+ess/ W>e& t>e a+ess m!e is

    i&e7e e7"+essi!& is ?!))!@e *6 'R' @>e+e R is eit>e+ = !+ Y/T>is a))!@s *it ma&i"#)ati!& i&st+#$ti!&s t! !"e+ate a$+!ss t>e$!m")ete 32K a+ess ma"/ e7"+essi!& 0 is t>e mas *6te/ T>e*itsH t! *e set !+ $)ea+e a+e i&i$ate *6 !&es i& t>e$!++es"!&i& )!$ati!&sH i& t>e mas *6te/ T>e mas *6te m#st *e a&e7"+essi!& i& t>e +a&e 4-0 a& is e&$!e *6 t>e "+!+amme+/

    BIT TEST AND BRANC.T>is $!m*i&es t@! a+essi& m!es i+e$t !+ i&e7e a& +e)atie/T>e ?!+mat !? t>e !"e+a& is e7"+essi!& e7"+essi!& 0e7"+essi!& 1 @>e+e t>e e7"+essi!&s a+e se"a+ate *6 *)a&s/

    e7"+essi!& ie&ti?ies t>e !"e+a& a& ma6 i&i$ate eit>e+ a i+e$t!+ i&e7e a+ess/ I&e7e a+esses a+e si&i?ie @it> 'R'?!))!@i& t>e e7"+essi!& @>e+e R is eit>e+ = !+ Y/ e7"+essi!& 0 ist>e mas *6te/ T>e *itsH t! *e set !+ $)ea+e a+e i&i$ate *6 !&esi& t>e $!++es"!&i& )!$ati!&sH i& t>e mas *6te/ T>e mas *6tem#st *e a& e7"+essi!& i& t>e +a&e 4-0 a& is e&$!e *6 t>e"+!+amme+/ e7"+essi!& 1 is #se t! e&e+ate a +e)atie a+ess ases$+i*e a*!e i& +e)atie a+essi&/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 09

  • 8/18/2019 Manual de Usuario de Ensamblador

    30/33

      APPENDI= C  DIRECTIVE SUMMARY

    A $!m")ete es$+i"ti!& !? a)) i+e$ties a""ea+s i& C>a"te+ 2/

    ASSEMBLY CONTROL

      ORG O+ii& "+!+am $!#&te+

    SYMBOL DEFINITION

      Ei*it "+i&ti& !? s!#+$e )isti& ?+!m t>is "!i&t

      OPT s P+i&t s6m*!) ta*)e

      PAGE P+i&t s#*seJ#e&t stateme&ts !& t!" !? &e7t "ae

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 14

  • 8/18/2019 Manual de Usuario de Ensamblador

    31/33

      APPENDI= D  ASSEMBLER LISTING FORMAT

    T>e Assem*)e+ )isti& >as t>e ?!))!@i& ?!+mat

      LINE ADDR OB]ECT CODE BYTES Q CYCLES SOURCE LINE

    T>e LINE is a 2 iit e$ima) m*e+ "+i&te as a +e?e+e&$e/ T>is+e?e+e&$e m*e+ is #se i& t>e $+!ss +e?e+e&$e/ T>e ADDR is t>e >e7a)#e !? t>e a+ess ?!+ t>e ?i+st *6te !? t>e !*e$t $!e ?!+ t>isi&st+#$ti!&/ T>e OB]ECT CODE BYTES a+e t>e assem*)e !*e$t $!e !?t>e s!#+$e )i&e i& >e7/ I? a& s!#+$e )i&e $a#ses m!+e t>a& 3 *6test! *e !#t"#t e// a )!& FCC i+e$tieH aiti!&a) *6tes #" t! 32Ha+e )iste !& s#$$eei& )i&es @it> &! a+ess "+e$ei& t>em/

    T>e CYCLES @i)) !&)6 a""ea+ i& t>e )isti& i? t>e $ !"ti!& is i&e??e$t/ It is e&$)!se i& *+a$ets @>i$> >e)"s isti&#is> it ?+!mt>e s!#+$e )isti&/ T>e SOURCE LINE is +e"+i&te e7a$t)6 ?+!m t>e

    s!#+$e "+!+am i&$)#i& )a*e)s/

    T>e s6m*!) ta*)e >as t>e ?!))!@i& ?!+mat

      SYMBOL ADDR

    T>e s6m*!) is tae& i+e$t)6 ?+!m t>e )a*e) ?ie) i& t>e s!#+$e"+!+am/ T>e ADDR is t>e >e7ae$ima) a+ess !? t>e )!$ati!&+e?e+e&$e *6 t>e s6m*!)/

    T>e $+!ss +e?e+e&$e )isti& >as t>e ?!))!@i& ?!+mat

      SYMBOL ADDR LOC LOC0 LOC1 ///

    T>e SYMBOL a& ADDR a+e t>e same as a*!e/ T>e i&i$ates t>e sta+t!? t>e )i&e +e?e+e&$e m*e+s/ T>e LOCs a+e t>e e$ima) )i&e m*e+s!? t>e assem*)e+ )isti& @>e+e t>e )a*e) !$$#+s/

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 1

  • 8/18/2019 Manual de Usuario de Ensamblador

    32/33

      APPENDI= E  S-RECORD INFORMATION

    E/ INTRODUCTION

    T>e S-+e$!+ !#t"#t ?!+mat e&$!es "+!+am a& ata !*e$t m!#)es

    i&t! a "+i&ta*)e ASCIIH ?!+mat/ T>is a))!@s ie@i& !? t>e !*e$t?i)e @it> sta&a+ t!!)s a& a))!@s is")a6 !? t>e m!#)e @>i)et+a&s?e++i& ?+!m !&e $!m"#te+ t! t>e &e7t !+ #+i& )!as *et@ee& a>!st a& ta+et/ T>e S-+e$!+ ?!+mat a)s! i&$)#es i&?!+mati!& ?!+#se i& e++!+ $>e$i& t! i&s#+e t>e i&te+it6 !? ata t+a&s?e+s/

    E/0 S-RECORD CONTENT

    S-Re$!+s a+e $>a+a$te+ st+i&s mae !? see+a) ?ie)s @>i$> ie&ti?6t>e +e$!+ t6"e +e$!+ )e&t> mem!+6 a+ess $!e5ata a&$>e$s#m/ Ea$> *6te !? *i&a+6 ata is e&$!e as a 0-$>a+a$te+

    >e7ae$ima) m*e+ t>e ?i+st $>a+a$te+ +e"+ese&ti& t>e >i>-!+e+ 2*its a& t>e se$!& t>e )!@-!+e+ 2 *its !? t>e *6te/

    T>e ?ie)s @>i$> $!m"+ise a& S-+e$!+ a+e

      TYPE RECORD LENGT. ADDRESS CODE5DATA C.ECKSUM

    T>e ?ie)s a+e e?i&e as ?!))!@s

      FIELD C.ARACTERS CONTENTS  ----- ---------- --------  T6"e 0 S-+e$!+ t6"e - S S9 et$/

      Re$!+ 0 T>e $!#&t !? t>e $>a+a$te+ "ai+s i& t>e  )e&t> +e$!+ e7$)#i& t>e t6"e a& +e$!+  )e&t>/

      A+ess 2 3 T>e 0- 1- !+ 2-*6te a+ess at @>i$>  !+ 8 t>e ata ?ie) is t! *e )!ae i&t!  mem!+6/

      C!e5ata 4-0& F+!m 4 t! & *6tes !? e7e$#ta*)e $!e  mem!+6 )!aa*)e ata !+ es$+i"tie  i&?!+mati!&/

      C>e$s#m 0 T>e )east si&i?i$a&t *6te !? t>e !&e's  $!m")eme&t !? t>e s#m !? t>e a)#es  +e"+ese&te *6 t>e "ai+s !? $>a+a$te+s  mai& #" t>e +e$!+ )e&t> a+ess  a& t>e $!e5ata ?ie)s/

    Ea$> +e$!+ ma6 *e te+mi&ate @it> a CR5LF5NULL/

    E/1 S-RECORD TYPES

    Ei>t t6"es !? s-+e$!+s >ae *ee& e?i&e t! a$$!mm!ate a+i!#se&$!i& t+a&s"!+tati!& a& e$!i& &ees/ T>e F+ee@a+e

    Sistemas e C!m"#ta$i%& ( UNLAM ( Maa) e) e&sam*)a!+ M!t!+!)a - P,i&a 10

  • 8/18/2019 Manual de Usuario de Ensamblador

    33/33

    assem*)e+s #se !&)6 t@! t6"es t>e S a& S9

      S A +e$!+ $!&tai&i& $!e5ata a& t>e 0-*6te  a+ess at @>i$> t>e $!e5ata is t! +esie/

      S9 A te+mi&ati!& +e$!+ ?!+ a *)!$ !? S +e$!+s/ T>e a+ess  ?ie) ma6 !"ti!&a))6 $!&tai& t>e 0-*6te a+ess !? t>e

      i&st+#$ti!& t! @>i$> $!&t+!) is t! *e "asse/ I? &!t  s"e$i?ie t>e ?i+st e&t+6 "!i&t s"e$i?i$ati!& e&$!#&te+e  i& t>e !*e$t m!#)e i&"#t @i)) *e #se/ T>e+e is &!

      $!e5ata ?ie)/

    E/2 S-RECORD E=AMPLE

    T>e ?!))!@i& is a t6"i$a) S-+e$!+ m!#)e

      S1444408F02F000003A44420209444801:C0A  S14444440444844480309448180124481  S144042E944482E2001214480120444802A90

      S4:44144422ED290  S9414444FC

    T>e m!#)e $!&sists !? ?!#+ $!e5ata +e$!+s a& a& S9 te+mi&ati!&+e$!+/

    T>e ?i+st S $!e5ata +e$!+ is e7")ai&e as ?!))!@s

      S S-+e$!+ t6"e S i&i$ati& a $!e5ata +e$!+ t! *e  )!ae5e+i?ie at a 0-*6te a+ess/

      1 .e7 1 e$ima) 9H i&i$ati& 9 $>a+a$te+ "ai+s

      +e"+ese&ti& 9 *6tes !? *i&a+6 ata ?!))!@/

      44 F!#+-$>a+a$te+ 0-*6te a+ess ?ie) >e7 a+ess 4444  i&i$ates )!$ati!& @>e+e t>e ?!))!@i& ata is t! *e )!ae/

      T>e &e7t 3 $>a+a$te+ "ai+s a+e t>e ASCII *6tes !? t>e a$t#a)  "+!+am $!e5ata

      0A C>e$s#m !? t>e ?i+st S +e$!+/

    T>e se$!& a& t>i+ S $!e5ata +e$!+s ea$> a)s! $!&tai& 1$>a+a$te+ "ai+s a& a+e e&e @it> $>e$s#ms/ T>e ?!#+t> S$!e5ata +e$!+ $!&tai&s : $>a+a$te+ "ai+s/

    T>e S9 te+mi&ati!& +e$!+ is e7")ai&e as ?!))!@s

      S9 S-+e$!+ t6"e S9 i&i$ati& a te+mi&ati!& +e$!+/

      41 .e7 41 i&i$ati& t>+ee $>a+a$te+ "ai+s 1 *6tesH t!  ?!))!@/

      44 F!#+ $>a+a$te+ 0-*6te a+ess ?ie) e+!es/  44

      FC C>e$s#m !? S9 +e$!+/