Вы находитесь на странице: 1из 15

2016 TRABAJO

PRCTICO 3
LLAMADO A SUBRRUTINAS E
INTERRUPCIONES POR SOFTWARE

Mariano Scheifler
SISTEMAS DE COMPUTACION 2
Mariano Scheifler DNI 30.591.206

1
Mariano Scheifler DNI 30.591.206

1) Determinacin de las direcciones a usar con las cifras del: DNI numeradas como sigue:
Ejemplo para DNI N 30.591.206
Direccin de zona de variables: 3059 Direccin de 1 instruccin Programa Principal: 1206
Primera Instruccin Subrutina: 5912 Direccin Subrutina del Sistema Operativo: 6021:9503

2) Teniendo en cuenta las direcciones anteriores, se realizar en principio el Ej. 31 del Libro Assembler desde
Cero. Se verificar su funcionamiento y se imprimir su ejecucin para una secuencia de tres caracteres.

-E 3059
0C9F:3059 1C.03
-E 305A
0C9F:305A 07.4D 1D.41 07.53
-A 1206
0C9F:1206

-A 1206
0C9F:1206 MOV CL, [3059] Carga en CL el numero n de caracteres de la lista
0C9F:120A MOV SI, 305A SI apunta al comienzo de la lista de datos
0C9F:120D MOV DI, 405A DI apunta al comienzo de la lista de resultados
0C9F:1210 MOV AL, [SI] Carga en AL un dato de la lista apuntada por SI
0C9F:1212 SUB AL,30 Resta 30 a AL
0C9F:1214 CMP AL,9 Compara el contenido de AL con 9
0C9F:1216 JBE 121A Si es menor o igual salta a 121A (Si AL < 9 es un smbolo del 0 al 9)
0C9F:1218 SUB AL,7 Resta 7 a AL (Si AL > 9 es un smbolo de A a F, que se halla restando 37, siendo que
antes ya se restaron 30)
0C9F:121A MOV[DI],AL Guarda el resultado en la lista apuntada por DI
0C9F:121C INC DI Incrementa DI
0C9F:121D INC SI Incrementa SI
0C9F:121E DEC CL Decrementa CL
0C9F:1220 JNZ 1210 Mientras Z sea 0, volver a 010A
0C9F:1222 INT 20 Fin

-RIP
IP 0100
:1206
-R
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1206 NV UP EI PL NZ NA PO NC
0C9F:1206 8A0E5930 MOV CL,[3059] DS:3059=03
--T

AX=0000 BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=120A NV UP EI PL NZ NA PO NC
0C9F:120A BE5A30 MOV SI,305A
-T

AX=0000 BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=0000


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=120D NV UP EI PL NZ NA PO NC
0C9F:120D BF5A40 MOV DI,405A
-T

AX=0000 BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL NZ NA PO NC
0C9F:1210 8A04 MOV AL,[SI] DS:305A=4D
-T

AX=004D BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1212 NV UP EI PL NZ NA PO NC
2
Mariano Scheifler DNI 30.591.206

0C9F:1212 2C30 SUB AL,30


-T

AX=001D BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PE NC
0C9F:1214 3C09 CMP AL,09
-T

AX=001D BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1216 NV UP EI PL NZ NA PE NC
0C9F:1216 7602 JBE 121A
-T

AX=001D BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1218 NV UP EI PL NZ NA PE NC
0C9F:1218 2C07 SUB AL,07
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121A NV UP EI PL NZ NA PO NC
0C9F:121A 8805 MOV [DI],AL DS:405A=00
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121C NV UP EI PL NZ NA PO NC
0C9F:121C 47 INC DI
--T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305A DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121D NV UP EI PL NZ NA PO NC
0C9F:121D 46 INC SI
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121E NV UP EI PL NZ NA PO NC
0C9F:121E FEC9 DEC CL
-T

AX=0016 BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1220 NV UP EI PL NZ NA PO NC
0C9F:1220 75EE JNZ 1210
-T

AX=0016 BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL NZ NA PO NC
0C9F:1210 8A04 MOV AL,[SI] DS:305B=41
-T

AX=0041 BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1212 NV UP EI PL NZ NA PO NC
0C9F:1212 2C30 SUB AL,30
-T

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PE NC
0C9F:1214 3C09 CMP AL,09
-T

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1216 NV UP EI PL NZ AC PO NC
0C9F:1216 7602 JBE 121A
3
Mariano Scheifler DNI 30.591.206

-T

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1218 NV UP EI PL NZ AC PO NC
0C9F:1218 2C07 SUB AL,07
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121A NV UP EI PL NZ AC PE NC
0C9F:121A 8805 MOV [DI],AL DS:405B=00
--T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121C NV UP EI PL NZ AC PE NC
0C9F:121C 47 INC DI
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305B DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121D NV UP EI PL NZ NA PE NC
0C9F:121D 46 INC SI
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121E NV UP EI PL NZ NA PE NC
0C9F:121E FEC9 DEC CL
-T

AX=000A BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1220 NV UP EI PL NZ NA PO NC
0C9F:1220 75EE JNZ 1210
-T

AX=000A BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL NZ NA PO NC
0C9F:1210 8A04 MOV AL,[SI] DS:305C=53
-T

AX=0053 BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1212 NV UP EI PL NZ NA PO NC
0C9F:1212 2C30 SUB AL,30
-T

AX=0023 BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PO NC
0C9F:1214 3C09 CMP AL,09
-T

AX=0023 BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1216 NV UP EI PL NZ AC PO NC
0C9F:1216 7602 JBE 121A
-T

AX=0023 BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1218 NV UP EI PL NZ AC PO NC
0C9F:1218 2C07 SUB AL,07
--T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121A NV UP EI PL NZ AC PO NC
0C9F:121A 8805 MOV [DI],AL DS:405C=00
-T
4
Mariano Scheifler DNI 30.591.206

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121C NV UP EI PL NZ AC PO NC
0C9F:121C 47 INC DI
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305C DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121D NV UP EI PL NZ NA PO NC
0C9F:121D 46 INC SI
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEE BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=121E NV UP EI PL NZ NA PO NC
0C9F:121E FEC9 DEC CL
-T

AX=001C BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1220 NV UP EI PL ZR NA PE NC
0C9F:1220 75EE JNZ 1210
-T

AX=001C BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1222 NV UP EI PL ZR NA PE NC
0C9F:1222 CD20 INT 20
-E 405A
0C9F:405A 16. 0A. 1C. 00.

Caracteres ingresados M A S. en ASCII 77 65 83. En hexadecimal 4D 41 53


Resultado
16 = 0001 0110 = 22+7+30= 4D
0A = 0000 1010 = 10 + 7 + 30 = 41
53 = 0101 0011 = 83 - 7 - 30 = 1C

3) Ahora se repetir el programa pero convirtiendo la conversin de ASCII a binario en una rutina que se ubicar
a partir de la direccin calculada en el punto 1

Movimientos que se generan con CALL 5912


SP SP 2 ( FFEE -2 = FFEC)
[SP] IP (FFEC 1213)
IP 5912

PILA ANTES DE EJECUTAR CALL 5912

0C9F:FFEE 00
00

PILA DESPUES DE EJECUTAR CALL 5912


0C9F:FFEC 13
12
0C9F:FFEE 00
00

Movimientos que se generan con RET


IP [SP] (IP 1213)
SP SP + 2 ( FFEC + 2 = FFEE)

5
Mariano Scheifler DNI 30.591.206

PILA DESPUES DE EJECUTAR RET

0C9F:FFEE 00
00

-A 1206
0C9F:1206 MOV CL, [3059]
0C9F:120A MOV SI, 305A
0C9F:120D MOV DI, 405A
0C9F:1210 CALL 5912
0C9F:1213 INC DI
0C9F:1214 INC SI
0C9F:1215 DEC CL
0C9F:1217 JNZ 1210
0C9F:1219 INT 20

-A 5912
0C9F:5912 MOV AL, [SI]
0C9F:5914 SUB AL,30
0C9F:5916 CMP AL,9
0C9F:5918 JBE 591C
0C9F:591A SUB AL,7
0C9F:591C MOV[DI],AL
0C9F:591E RET

-RIP
IP 5912
:1206
-R
AX=001C BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405A
DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1206 NV UP EI PL ZR NA PE NC
0C9F:1206 8A0E5930 MOV CL,[3059] DS:3059=03
-T

AX=001C BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=120A NV UP EI PL ZR NA PE NC
0C9F:120A BE5A30 MOV SI,305A
-T

AX=001C BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=120D NV UP EI PL ZR NA PE NC
0C9F:120D BF5A40 MOV DI,405A
-T

AX=001C BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL ZR NA PE NC
0C9F:1210 E8FF46 CALL 5912
-T

AX=001C BX=0000 CX=0003 DX=0000 SP=FFEA BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5912 NV UP EI PL ZR NA PE NC
0C9F:5912 8A04 MOV AL,[SI] DS:305A=4D
-
Estado de la pila luego de la ejecucin de CALL 5912
-E FFEC
0C9F:FFEC 13. 12.
-E FFEE
0C9F:FFEE 00. 00.
-T
6
Mariano Scheifler DNI 30.591.206

AX=004D BX=0000 CX=0003 DX=0000 SP=FFEA BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5914 NV UP EI PL ZR NA PE NC
0C9F:5914 2C30 SUB AL,30
-T

AX=001D BX=0000 CX=0003 DX=0000 SP=FFEA BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5916 NV UP EI PL NZ NA PE NC
0C9F:5916 3C09 CMP AL,09
-T

AX=001D BX=0000 CX=0003 DX=0000 SP=FFEA BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5918 NV UP EI PL NZ NA PE NC
0C9F:5918 7602 JBE 591C
-T

AX=001D BX=0000 CX=0003 DX=0000 SP=FFEA BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591A NV UP EI PL NZ NA PE NC
0C9F:591A 2C07 SUB AL,07
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEA BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591C NV UP EI PL NZ NA PO NC
0C9F:591C 8805 MOV [DI],AL DS:405A=16
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEA BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591E NV UP EI PL NZ NA PO NC
0C9F:591E C3 RET
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1213 NV UP EI PL NZ NA PO NC
0C9F:1213 47 INC DI
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PO NC
0C9F:1214 46 INC SI
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1215 NV UP EI PL NZ NA PO NC
0C9F:1215 FEC9 DEC CL
--T

AX=0016 BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1217 NV UP EI PL NZ NA PO NC
0C9F:1217 75F7 JNZ 1210
-T

AX=0016 BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL NZ NA PO NC
0C9F:1210 E8FF46 CALL 5912
-T

AX=0016 BX=0000 CX=0002 DX=0000 SP=FFEA BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5912 NV UP EI PL NZ NA PO NC
0C9F:5912 8A04 MOV AL,[SI] DS:305B=41
-T
7
Mariano Scheifler DNI 30.591.206

AX=0041 BX=0000 CX=0002 DX=0000 SP=FFEA BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5914 NV UP EI PL NZ NA PO NC
0C9F:5914 2C30 SUB AL,30
-T

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFEA BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5916 NV UP EI PL NZ NA PE NC
0C9F:5916 3C09 CMP AL,09
-T

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFEA BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5918 NV UP EI PL NZ AC PO NC
0C9F:5918 7602 JBE 591C
-T

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFEA BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591A NV UP EI PL NZ AC PO NC
0C9F:591A 2C07 SUB AL,07
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEA BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591C NV UP EI PL NZ AC PE NC
0C9F:591C 8805 MOV [DI],AL DS:405B=0A
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEA BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591E NV UP EI PL NZ AC PE NC
0C9F:591E C3 RET
--T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1213 NV UP EI PL NZ AC PE NC
0C9F:1213 47 INC DI
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305B DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PE NC
0C9F:1214 46 INC SI
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1215 NV UP EI PL NZ NA PE NC
0C9F:1215 FEC9 DEC CL
-T

AX=000A BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1217 NV UP EI PL NZ NA PO NC
0C9F:1217 75F7 JNZ 1210
-T

AX=000A BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL NZ NA PO NC
0C9F:1210 E8FF46 CALL 5912
-T

AX=000A BX=0000 CX=0001 DX=0000 SP=FFEA BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5912 NV UP EI PL NZ NA PO NC
0C9F:5912 8A04 MOV AL,[SI] DS:305C=53
-T

8
Mariano Scheifler DNI 30.591.206

AX=0053 BX=0000 CX=0001 DX=0000 SP=FFEA BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5914 NV UP EI PL NZ NA PO NC
0C9F:5914 2C30 SUB AL,30
-T

AX=0023 BX=0000 CX=0001 DX=0000 SP=FFEA BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5916 NV UP EI PL NZ NA PO NC
0C9F:5916 3C09 CMP AL,09
-T
AX=0023 BX=0000 CX=0001 DX=0000 SP=FFEA BP=0000 SI=305C DI=405C
DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=5918 NV UP EI PL NZ AC PO NC
0C9F:5918 7602 JBE 591C
--T

AX=0023 BX=0000 CX=0001 DX=0000 SP=FFEA BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591A NV UP EI PL NZ AC PO NC
0C9F:591A 2C07 SUB AL,07
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEA BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591C NV UP EI PL NZ AC PO NC
0C9F:591C 8805 MOV [DI],AL DS:405C=1C
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEA BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=591E NV UP EI PL NZ AC PO NC
0C9F:591E C3 RET
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1213 NV UP EI PL NZ AC PO NC
0C9F:1213 47 INC DI
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305C DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PO NC
0C9F:1214 46 INC SI
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1215 NV UP EI PL NZ NA PO NC
0C9F:1215 FEC9 DEC CL
-T

AX=001C BX=0000 CX=0000 DX=0000 SP=FFEC BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1217 NV UP EI PL ZR NA PE NC
0C9F:1217 75F7 JNZ 1210
-T

AX=001C BX=0000 CX=0000 DX=0000 SP=FFEC BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1219 NV UP EI PL ZR NA PE NC
0C9F:1219 CD20 INT 20

--E 405A
0C9F:405A 16. 0A. 1C.

Caracteres ingresados M A S. en ASCII 77 65 83. En hexadecimal 4D 41 53


Resultado
16 = 0001 0110 = 22+7+30= 4D
0A = 0000 1010 = 10 + 7 + 30 = 41
53 = 0101 0011 = 83 - 7 - 30 = 1C
9
Mariano Scheifler DNI 30.591.206

6) Una vez concludos los puntos anteriores, se repetir la ejecucin pero convirtiendo la conversin
de ASCII a binario, mediante una interrupcin por software. INT61

-E 0000:0184 Se carga el IP de la subrutina que atiente a INT 61


0000:0184 00.03 00.95
-E 0000:0186 Se carga el CS de la subrutina que atiende a INT 61
0000:0186 00.21 00.60
-A 1206
0C9F:1206 MOV CL, [3059] VECTOR DE INTERRUPCIONES
0C9F:120A MOV SI, 305A 0000:0184 03
0C9F:120D MOV DI, 405A
0C9F:1210 INT 61 95
0C9F:1212 INC DI 0000:0186 21
0C9F:1213 INC SI 60
0C9F:1214 DEC CL
0C9F:1216 JNZ 1210
0C9F:1218 INT 20

Direccin Subrutina del Sistema Operativo: 6021:9503

-A 6021:9503
6021:9503 MOV AL, [SI]
6021:9505 SUB AL,30
6021:9507 CMP AL,9
6021:9509 JBE 950D
6021:950B SUB AL,7
6021:950D MOV[DI],AL
6021:950F IRET

MOVIMIENTOS QUE OCURREN DURANTE LA EJECUCION DE INT 61


SP SP 2 (FFEC 2 = FFEA)
[SP] RE (FFEA 3246)
SP SP 2 (FFEA 2 = FFE8)
[SP] CS (FFE8 0C9F)
SP SP 2 (FFE8 2 = FFE6)
[SP] IP (FFE6 1212)

IP [61 x 4]
CS [61 x 4 + 2]
I DI
PILA ANTES DE EJECUTAR INT 61

0C9F:FFEC 00
00

PILA DESPUES DE EJECUTAR INT 61


0C9F:FFE6 12
12
0C9F:FFE8 9F
0C
0C9F:FFEA 46
32
0C9F:FFEC XX
XX

10
Mariano Scheifler DNI 30.591.206

MOVIMIENTOS QUE OCURREN DURANTE LA EJECUCION DE IRET


IP [SP] (IP 1212)
SP SP + 2 (FFE6 + 2 = FFE8)
CS [SP] (CS 0C9F)
SP SP + 2 (FFE8 + 2 = FFEA)
RE [SP] (RE 3246)
SP SP + 2 (FFEA + 2 = FFEC)

EI I

PILA DESPUES DE EJECUTAR IRET

0C9F:FFEC XX
XX

-RIP
IP 1219
:1206
-R
AX=001C BX=0000 CX=0000 DX=0000 SP=FFEC BP=0000 SI=305D DI=405D
DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1206 NV UP EI PL ZR NA PE NC
0C9F:1206 8A0E5930 MOV CL,[3059] DS:3059=03
-T

AX=001C BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=120A NV UP EI PL ZR NA PE NC
0C9F:120A BE5A30 MOV SI,305A
-T

AX=001C BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=120D NV UP EI PL ZR NA PE NC
0C9F:120D BF5A40 MOV DI,405A
-T

AX=001C BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL ZR NA PE NC
0C9F:1210 CD61 INT 61
-T

AX=001C BX=0000 CX=0003 DX=0000 SP=FFE6 BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9503 NV UP DI PL ZR NA PE NC
6021:9503 8A04 MOV AL,[SI] DS:305A=4D
-

-E FFEC
0C9F:FFEC 13. 12.
-E FFEA
0C9F:FFEA 46. 32.
-E FFE8
0C9F:FFE8 9F. 0C.
-E FFE6
0C9F:FFE6 12. 12.

-T

AX=004D BX=0000 CX=0003 DX=0000 SP=FFE6 BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9505 NV UP DI PL ZR NA PE NC
6021:9505 2C30 SUB AL,30
-T
11
Mariano Scheifler DNI 30.591.206

AX=001D BX=0000 CX=0003 DX=0000 SP=FFE6 BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9507 NV UP DI PL NZ NA PE NC
6021:9507 3C09 CMP AL,09
-T

AX=001D BX=0000 CX=0003 DX=0000 SP=FFE6 BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9509 NV UP DI PL NZ NA PE NC
6021:9509 7602 JBE 950D
-T

AX=001D BX=0000 CX=0003 DX=0000 SP=FFE6 BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950B NV UP DI PL NZ NA PE NC
6021:950B 2C07 SUB AL,07
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFE6 BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950D NV UP DI PL NZ NA PO NC
6021:950D 8805 MOV [DI],AL DS:405A=16
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFE6 BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950F NV UP DI PL NZ NA PO NC
6021:950F CF IRET
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405A


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1212 NV UP EI PL ZR NA PE NC
0C9F:1212 47 INC DI
- -T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305A DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1213 NV UP EI PL NZ NA PO NC
0C9F:1213 46 INC SI
-T

AX=0016 BX=0000 CX=0003 DX=0000 SP=FFEC BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PO NC
0C9F:1214 FEC9 DEC CL
-T

AX=0016 BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1216 NV UP EI PL NZ NA PO NC
0C9F:1216 75F8 JNZ 1210
-T

AX=0016 BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL NZ NA PO NC
0C9F:1210 CD61 INT 61
-T

AX=0016 BX=0000 CX=0002 DX=0000 SP=FFE6 BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9503 NV UP DI PL NZ NA PO NC
6021:9503 8A04 MOV AL,[SI] DS:305B=41
-T

AX=0041 BX=0000 CX=0002 DX=0000 SP=FFE6 BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9505 NV UP DI PL NZ NA PO NC
6021:9505 2C30 SUB AL,30
-T

12
Mariano Scheifler DNI 30.591.206

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFE6 BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9507 NV UP DI PL NZ NA PE NC
6021:9507 3C09 CMP AL,09
-T

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFE6 BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9509 NV UP DI PL NZ AC PO NC
6021:9509 7602 JBE 950D
-T

AX=0011 BX=0000 CX=0002 DX=0000 SP=FFE6 BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950B NV UP DI PL NZ AC PO NC
6021:950B 2C07 SUB AL,07
- -T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFE6 BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950D NV UP DI PL NZ AC PE NC
6021:950D 8805 MOV [DI],AL DS:405B=0A
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFE6 BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950F NV UP DI PL NZ AC PE NC
6021:950F CF IRET
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305B DI=405B


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1212 NV UP EI PL NZ NA PO NC
0C9F:1212 47 INC DI
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305B DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1213 NV UP EI PL NZ NA PE NC
0C9F:1213 46 INC SI
-T

AX=000A BX=0000 CX=0002 DX=0000 SP=FFEC BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PE NC
0C9F:1214 FEC9 DEC CL
-T

AX=000A BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1216 NV UP EI PL NZ NA PO NC
0C9F:1216 75F8 JNZ 1210
-T

AX=000A BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1210 NV UP EI PL NZ NA PO NC
0C9F:1210 CD61 INT 61
-T

AX=000A BX=0000 CX=0001 DX=0000 SP=FFE6 BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9503 NV UP DI PL NZ NA PO NC
6021:9503 8A04 MOV AL,[SI] DS:305C=53
-T

AX=0053 BX=0000 CX=0001 DX=0000 SP=FFE6 BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9505 NV UP DI PL NZ NA PO NC
6021:9505 2C30 SUB AL,30
-
-T

13
Mariano Scheifler DNI 30.591.206

AX=0023 BX=0000 CX=0001 DX=0000 SP=FFE6 BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9507 NV UP DI PL NZ NA PO NC
6021:9507 3C09 CMP AL,09
-T

AX=0023 BX=0000 CX=0001 DX=0000 SP=FFE6 BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=9509 NV UP DI PL NZ AC PO NC
6021:9509 7602 JBE 950D
-T

AX=0023 BX=0000 CX=0001 DX=0000 SP=FFE6 BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950B NV UP DI PL NZ AC PO NC
6021:950B 2C07 SUB AL,07
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFE6 BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950D NV UP DI PL NZ AC PO NC
6021:950D 8805 MOV [DI],AL DS:405C=1C
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFE6 BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=6021 IP=950F NV UP DI PL NZ AC PO NC
6021:950F CF IRET
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305C DI=405C


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1212 NV UP EI PL NZ NA PO NC
0C9F:1212 47 INC DI
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305C DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1213 NV UP EI PL NZ NA PO NC
0C9F:1213 46 INC SI
-T

AX=001C BX=0000 CX=0001 DX=0000 SP=FFEC BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1214 NV UP EI PL NZ NA PO NC
0C9F:1214 FEC9 DEC CL
-T

AX=001C BX=0000 CX=0000 DX=0000 SP=FFEC BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1216 NV UP EI PL ZR NA PE NC
0C9F:1216 75F8 JNZ 1210
- -T

AX=001C BX=0000 CX=0000 DX=0000 SP=FFEC BP=0000 SI=305D DI=405D


DS=0C9F ES=0C9F SS=0C9F CS=0C9F IP=1218 NV UP EI PL ZR NA PE NC
0C9F:1218 CD20 INT 20
-E 405A
0C9F:405A 16. 0A. 1C.

Caracteres ingresados M A S. en ASCII 77 65 83. En hexadecimal 4D 41 53


Resultado
16 = 0001 0110 = 22+7+30= 4D
0A = 0000 1010 = 10 + 7 + 30 = 41
53 = 0101 0011 = 83 - 7 - 30 = 1C

14

Вам также может понравиться