Ejercicios Ensamblador M+ PDF

Title Ejercicios Ensamblador M+
Course Computer Structure
Institution Universidad de Deusto
Pages 9
File Size 49.3 KB
File Type PDF
Total Downloads 20
Total Views 133

Summary

M+ lenguaje ensamblador...


Description

EJERCICIOS(ENSAMBLADOR(M+(–(ECO( ( 1.MAQUINA(+(QUE(CUENTE(EL(NUM(DE(POSICIONES(CUYO(CONTENIDO(ES(MAYOR(AL( CONTENIDO(DE(LA(POSICION(E000(EN(EL(VECTRO(COMPRENDIDO(ENTRE(LAS( POSICIONES(FF00(Y(FFFF# # MVI#FF,#D# # MVI#00,#E# # MOV#E,#C# # # # # # # LDA#E000# # MOV#A,#B# # # # # # LOOPGENERAL:# LDAX# # # # # SUB#B# # # # # BC#COINCIDENCIA# LOOP1:# # # INC#E# # # # # BEQ#FINAL# # # # # JMP#LOOPGENERAL# # # # # # COINCIDENCIA:# INC#C# # # # # JMP#LOOP1# # # # # # FINAL:### # FIN# # 2.(SUBRUTINA(QUE(RETORNE(EL(VALOR(ABSOLUTO(DE(UN(NUMERO((COLOCADO(EN( A)(EN(CCOMPLEMENTO(A(2( # # # # VAC2:# # # # CMI#80# BC#ANEGATIVO# # # # # # # # RET## # # # # # # # # # # # # ANEGATIVO:# # # CMA# # # # # # # # # # # #############INC#A## # # # # # # # # # RET# # # # # # # # # # # #

3.#es(un(sumador(que(todo(el(rato(esta(sumando(desde(F000(hasta(F0E0,(20( posiciones(de(memoria(en(el(momento((que(hay(acarreo(este(se(guarda(en(la(parte( alta(y(se(continua(sumando.(Cuando(el(programa(sumado(las(20(siguientes( posiciones(termina(el(resultado(de(esta(suma(se(guarda(en(F100(la(parte(baja(y(en( F101(la(parte(alta( # # # 62# # MOV#F0,D# # # # # 63# # MOV#00,E# # # # 13# # MOV#E,A# # # # 71# # STA#F100# ## # # 71# # STA#F101# # # # 70# # LDA#FFFF# # # # 41# # MOV#A,C# # # 000F:# B0# # LDAX# # 40# # MOV#A,B# #############70# # LDA#F101# # 30# # ADD#B# #############71# # STA#F101# ##############73# # BC#001E# # # 74# # JMP#0025# # # # 001E:# 70# # LDA#F100# 4B# # INC#A# # 71# # STA#F100# # 0025:# 2F# # INC#E# 11# # MOV#C,A# 66# # SUBS#01# # 72# # BEQ#0030# 74# # JMP#000F# # 0030:# 74# # JMP#0030# # 4.(MAQUINA+(QUE(SUME(EL(CONTENIDO(DE(LOS(ULTIMOS(16(REGISTROS,( GUARDANDO(EN(E000(Y(E001( ( ( ( ( # # # # MVI#00,C# # # # MOV#C,B# # # # MVI#F0,E# # # # MVI#FF,D# # # # # # BUCLE:#LDAX# # # # ADD#B# # # # BC#INCH# # # # NEXT:# MOV#A,B#

# # # INC#E# # # # BEQ#FINAL# # # # JMP#BUCLE# # # # # # INCH:# INC#C# # # # JMP#NEXT# # # # # # FINAL:# MOV#B,A# # # # STA#E000# # # # MOV#C,A# # # # STA#E001# # # # FIN# # 4.(MAQUINA(+(QUE(CUENTE(EL(NUM(DE(POSICIONES(CUYO(CONTENIDO(ES(MAYOR( AL(CONTENIDO((DE(LA(POSICION(E000(EN(EL(VECTRO(COMPRENDIDO(ENTRE(LAS( POSICIONES;(FF00(Y(FFF( ( ( ( # # MVI#FF,#D# # # # # MVI#00,#E# # # # # # # # LDA#E000,#B# # # # # MOV#A,#B# # # # # # # # # MOV#E,#C# # # # # # BUCLE:## LDAX# # # # # # # # # # SUB#B# # # # # BC#INCCONT# # # # # # # SEGUIR:# # INC#E# # # # # BEQ#FINAL# # # # # JMP#BUCLE# # # # # # # INCCONT:# INC#C# # # # # JMP#SEGUIR# # # # # FINAL:# # MOV#C,A# # # # # STA#F000# # # # # # # #

5.(IMPLEMENTA(UN(PROGRAMA(EN(EL(ENSAMBLADOR(DE(LA(MÁQUINA+,(QUE( CUENTE(EL(NÚMERO(DE(COINCIDENCIAS(EN(DOS(VECTORES(( (PARALELOS(QUE(VAN(COMPRENDIDOS(ENTRE(LAS(POSICIONES:(D000(A(D025( (PRIMER(VECTOR)(Y(E000(A(E025(SEGUNDO(VECTOR)( # # D(&(E(-->(Direccionamiento(indirecto( B(-->(Temporal( C(-->(Contador( # MVI## 00,C# MOV## C,#E# MVI## 00,E# BUCLE:## MVI## E0,D# LDAX# # MOV## A,#B# # MVI## D0,#D# # LDAX# CMP## B# # BEQ## INCCONT# # NEXTPOS:# MVI## 25# # CMP# # E# # BEQ# # FINAL# INC# # E# JMP## BUCLE# # FINAL:# # FIN# INCCONT:# INC# # C# JMP## NEXTPOS# ( 6.Implementa(un(programa(en(el(ensamblador(de(la(maquina(+(que(compare(las( posiciones(correlativas(de(dos(vectores(y(calcule(el(numero(de(coincidencias.(( El(vector(1(cubre(las(posiciones(de(la(F000(a(la(F01F(y(el(vector(2(de(F020(a(F03F( # C(-->(CONTADOR( D(-(E(-->(DIRECCIONAMIENTO(INDIRECTO( B(-->(TEMPORALS( EFF1(-->(CONTADOR(VECTOR(1( EFF2(-->(CONTADOR(VECTOR(2( ( ( # # # # MVI## F0,#D# # # # # # MVI## 00,#E# # # # # # MOV## E,#C# # # # # # MVI## 00,# A# # # # # # STA## EFF1# # # # # # # # # MVI# 20,#A# # # # # # STA## EFF2# # # # # # # # INICIO:## # #############LDAX## # # #

#

# # # # # MOV## A,#B# # # # # # JMP## NEXTPOSVEC2# # NEXTSTEP:# # LDAX# # # # # # CMP# # B# # # # # # BEQ# # INCCONT# # NEXTSTEP1:# # MOV## A,B# # # # # # LDA# # EFF2# # # # # # CMP## B# # # # # # BEQ# # NEXTPOSVEC1# # # # # # JMP## INICIO# # # # # # # # # INCCONT:# # INC#C# # # # # # JMP#NEXTSTEP1# # # # # # # # # # # # NEXTPOSVEC1:# LDA######EFF1# # # # # # MOV#A,#E# # # # # # INC#A# # # # # # STA#EFF1# # # # # # JMP#INICIO# # # # # # # NEXTPOSVEC2:# LDA######EFF2# # # # # # MOV#A,#E# # # # # # INC#A# # # # # # STA#EFF2# # # # # # JMP#NEXTSTEP# # 7.(IMPLEMENTA(UN(PROGRAMA(EN(ENSAMBLADOR(DE(LA(M+(QUE(CUENTE( NUMERO(DE(POSICIONES(DE(LA(MEMORIA(QUE(CONTIENE(EL(VALOR(0( ALMACENANDO((EL(RESULTADO(EN(LAS(POSICIONES(FFFE(PART(ALTA)(Y(FFFF(PARTE( BAJA),((ESTAS(DOS(POSICIONES(NO(SERÁN(EVALUADAS( ( E(D(-->(DIRECCIONAMIENTO(INDIRECTO( C(-->(CONTADOR( FFFB(-->(REGISTRO(COMPARADOR(MAX( FFFA(-->(REGISTRO(COMPARADOR(CON(0( # # # # # # # MVI#00,#E# # # MOV#E,#D# # MOV#E,#C# # MOV#E,#A# # STA#FFFA# # MVI#FF,#A# # # STA#FFFB# BUCLE:## LDAX# MOV#A,#B#

LDA#FFFA# CMP#B# BEQ#COUN# LDAX# MOV#A,#B# MVI#FFFF,#A# CMP#B## BEQ#FINAL# # JMP#NEXTMEM# CONTADOR:# LDA#FFFB# CMP#C## BEQ#SAVE# # INC#C# # SAVE:# # LDA#FFFF# # # MOV#A,#B# MVI#FF,#A# CMP#B## # # BEQ#LOWPARTFULL# # LOWPARTFULL:# MVI#00,#A# # # # STA#FFFF# # # # # LDA#FFFE# # INC#A# # JMP#BUCLE# # NEXTMEM:# MVI#FF,#A# CMP#E# # BEQ#CARRYMEM# NC#E# # # JMP#BUCLE# # # CARRYMEM:# MVI#00,#E# # INC#D# # JMP#BUCLE# # # FINAL:# FIN# # # 8.(;implementa(un(programa(de(la(maquina(plus(que(guarde(en(las(posicione(( ;E001(y(E000(el(resultado(de(la(suma(de(los(cinco(registros(a(b(c(e(y(d( # STA#FFFF# MOV#B,#A# STA#FFFE# MOV#C,#A# STA#FFFD# MOV#D,#E# STA#FFFC#

MOV#E,#A# STA#FFFB# # MVI#FF,#D# MVI#FB,#E# # MVI#00,#B# MVI#00,#C# # LDAX# ADD#B# # 9.(MAQUINA+(QUE(SUME(EL(CONTENIDO(DE(LOS(ULTIMOS(16(REGISTROS,( GUARDANDO(EN(E000(Y(E001( ( ( ( ( # # # # # # MVI#FF,#D# # # # # # MVI#F0,#E# # # # # # MVI#00,#C## # # # # # # # # # # # LDAX## RETORNO:# # # MOV#A#,#B## RET1:# # # # INC#E# # # # # # BC#FINAL# # # # # # LDAX## # # # # # ADD#B# # # # # # BC#CARRYENSUMA# # # # # # JMP#RETORNO# # # # # # # # # CARRY#EN#SUMA:# # MOV#A,B## # # # # # INC#C# # # # # # JMP#RET1# # # FINAL:# # # # MOV#B,#A# # # # # # STA#E001# # # # # # MOV#C,#A# # # # # # STA#E000# # # # # # FIN# # 10.MAQUINA(+(QUE(CUENTE(EL(NUM(DE(POSICIONES(CUYO(CONTENIDO(ES(MAYOR( AL(CONTENIDO(DE(LA(POSICION(E000(EN(EL(VECTRO(COMPRENDIDO(ENTRE(LAS( POSICIONES;(FF00(Y(FFFF( # # # # # MVI#FF,#D# # # # # MVI#00,#E# # # # # MOV#E,#C# # # # # #

# # # # LDA#E000# # # # # MOV#A,#B# # # # # # LOOPGENERAL:# LDAX# # # # # SUB#B# # # # # BC#COINCIDENCIA# LOOP1:# # # INC#E# # # # # BEQ#FINAL# # # # # JMP#LOOPGENERAL# # # # # # COINCIDENCIA:# INC#C# # # # # JMP#LOOP1# # # # # # FINAL:### # FIN# # 11.Implementa(un(programa(en(ensamblador(de(la(M+(que(cuente(el(número(de( posiciones(correlativas(idénticas(en(dos(vectores.el(vector(1(comprende(las( posiciones(E000-E01F,(y(el(vector(2(las(posiciones(E020-E03F.Guarda(el(resultado(en( la(posición(FFFF( # # Parte(alta(de(ambos(vectores(es(E0(-->(D(=(E0( Parte(baja(de(Vector(1(B(...


Similar Free PDFs