Sei sulla pagina 1di 9

Arquitectura de Computadoras

Pgina | 1

1. Programa que suma 4 nmeros de 1 byte.

- PROGRAMA
ADC AX,[0100h]
ADC AX,[0101h]
ADC AX,[0102h]
ADC AX,[0103h]
MOV [0104h],AX
INT 21h
- CODIFICACIN
ADC AX,[0100h] 13 06 00 01
Tipo de direccionamiento: Memoria a registro.
Cdigo de instruccin:

ADC AX,[0101h] 1A 1A 01 01
Tipo de direccionamiento: Memoria a registro.
Cdigo de instruccin:

ADC AX,[0102h] 13 06 02 01
Tipo de direccionamiento: Memoria a registro.
Cdigo de instruccin:

ADC AX,[0103h] 13 06 03 01
Tipo de direccionamiento: Memoria a registro.
Cdigo de instruccin:

MOV [0104],AX A3 04 01
Tipo de direccionamiento: Acumulador a memoria.
Cdigo de instruccin:
INT 21h CD 21
Tipo de direccionamiento: Especifico.
Cdigo de instruccin:




000100 d w modreg r/m
000100 d w modreg r/m
000100 d w modreg r/m
000100 d w modreg r/m
1010001w addr-low addr-high
11001101 type
Arquitectura de Computadoras

Pgina | 2

2. Programa que sume 4 nmeros de 3 bytes.

- PROGRAMA
sumador:
MOV BX,0100h
MOV CX,04h
XOR AX,AX
XOR DX,DX
CLC
bucle:
ADD DX,[BX+SI]
ADC AX,[BX+SI+2]
ADD SI,4
LOOP bucle
MOV [0120h],DX
MOV [0122h],AX

- CODIFICACIN Y DEBUG
MOV BX,[0100h] BB 00 01
Tipo de direccionamiento: Memoria a registro
Cdigo de instruccin:

MOV CX,04h B9 04 00
Tipo de direccionamiento: Inmediato a registro
Cdigo de instruccin:
XOR AX,AX 33 C0
Tipo de direccionamiento: Registro a registro
Cdigo de instruccin:

XOR DX,DX 33 D2
Tipo de direccionamiento: Registro a registro
Cdigo de instruccin:

CLC F8
1011 w reg data data if w = 1
1011 w reg data data if w = 1
001100 d w modreg r/m
001100 d w modreg r/m
Arquitectura de Computadoras

Pgina | 3

Tipo de direccionamiento: Registro.
Cdigo de instruccin:

ADD DX,[BX+SI] 03 10
Tipo de direccionamiento: Memoria a registro
Cdigo de instruccin:

ADC AX,[BX+SI+2] 13 40 02
Tipo de direccionamiento: Memoria a registro
Cdigo de instruccin:

ADD SI,4 83 C6 04
Tipo de direccionamiento: Inmediato a registro.
Cdigo de instruccin:

LOOP bucle E2 F6
Tipo de direccionamiento: Bucle SI veces.
Cdigo de instruccin:

MOV [0120],DX 89 16 20 01
Tipo de direccionamiento: Registro a memoria.
Cdigo de instruccin:

MOV [0122],AX A3 22 01
Tipo de direccionamiento: Acumulador a memoria.
Cdigo de instruccin:

3. Programa que suma N nmeros.
- PROGRAMA
N EQU 8
sumador:
MOV BX,0100h
MOV CX,N
11111000
000000 d w modreg r/m
000100 d w modreg r/m
000000 d w modreg r/m
11100011 disp
100010 d w modreg r/m
1010001w addr-low Addr-high
Arquitectura de Computadoras

Pgina | 4

XOR AX,AX
CLC
bucle:
ADD DL,[BX+SI]
ADC AX,DX
XOR DX,DX
INC SI
LOOP bucle
RET
- CODIFICACIN Y DEBUG
MOV BX,0100h BB 00 01
Tipo de direccionamiento: Inmediato a registro
Cdigo de instruccin:
MOV CX,N B9 05 00
Tipo de direccionamiento: Inmediato a registro
Cdigo de instruccin:

XOR AX,AX 33 C0
Tipo de direccionamiento: Registro a registro
Cdigo de instruccin:

CLC F8
Tipo de direccionamiento: Registro.
Cdigo de instruccin:

ADD DL,[BX+SI] 02 10
Tipo de direccionamiento: Memoria a registro
Cdigo de instruccin:

ADC AX,DX 13 C2
Tipo de direccionamiento: Registro a registro
Cdigo de instruccin:

XOR DX,DX 33 D2
1011 w reg data data if w = 1
1011 w reg data data if w = 1
001100 d w modreg r/m
11111000
000000 d w modreg r/m
000100 d w modreg r/m
Arquitectura de Computadoras

Pgina | 5

Tipo de direccionamiento: Registro a registro
Cdigo de instruccin:

INC SI 46
Tipo de direccionamiento: Registro.
Cdigo de instruccin:

LOOP bucle E2 F7
Tipo de direccionamiento: Bucle SI veces.
Cdigo de instruccin:


4. Ordenamiento de 4 nmeros de 2 byte.
- PROGRAMA
sortof:
MOV BX,2000h
MOV CX,04h
lazo1:
PUSH CX
MOV CX,03h
MOV AX,[BX]
XOR SI,SI
lazo2:
CMP AX,[BX+SI+2]
JA nocambia
PUSH [BX+SI+2]
MOV [BX+SI+2],AX
POP [BX+SI]
nocambia:
ADD SI,2
MOV AX,[BX+SI]
LOOP lazo2
POP CX
LOOP lazo1
RET

- CODIFICACIN Y DEBUG
MOV BX,2000h BB 00 20
Tipo de direccionamiento: Inmediato a registro
001100 d w modreg r/m
01000 reg
11100011 disp
Arquitectura de Computadoras

Pgina | 6

Cdigo de instruccin: 1011 w reg data data if w = 1



MOV CX,04h B9 04 00
Tipo de direccionamiento: Inmediato a registro
CODIGO DE INSTRUCCIN: 1011 w reg data data if w = 1

PUSH CX 51
Tipo de direccionamiento: Registro
CODIGO DE INSTRUCCIN: 01010 reg

MOV CX,03h B9 03 00
Tipo de direccionamiento: Inmediato a registro
CODIGO DE INSTRUCCIN: 1011 w reg data data if w = 1

MOV AX,[BX] 8B 07
Tipo de direccionamiento: Registro a Registro
CODIGO DE INSTRUCCIN: 100010 d w modreg r/m

XOR SI,SI 33 F6
Tipo de direccionamiento: Registro a registro
CODIGO DE INSTRUCCIN: 001100 d w modreg r/m

CMP AX,[BX+SI+2] 3B 40 02
Tipo de direccionamiento: Registro con memoria
CODIGO DE INSTRUCCIN: 001110 d w modreg r/m

JA nocambia 77 08
Tipo de direccionamiento: Salto si es menor
CODIGO DE INSTRUCCIN: 01110010 disp.

PUSH [BX+SI+2] FF 70 02
Tipo de direccionamiento: Registro
CODIGO DE INSTRUCCIN: 01010 reg

MOV [BX+SI+2],AX 89 40 02
Tipo de direccionamiento: Memoria a registro
Arquitectura de Computadoras

Pgina | 7

CODIGO DE INSTRUCCIN: 100010 d w modreg r/m


POP [BX+SI] 8F 00
Tipo de direccionamiento: Registro
CODIGO DE INSTRUCCIN: 01011 reg

ADD SI,2 83 C6 02
Tipo de direccionamiento: Memoria a registro
CODIGO DE INSTRUCCIN: 100010 d w modreg r/m


MOV AX,[BX+SI] 8B 00
Tipo de direccionamiento: Registro a memoria
CODIGO DE INSTRUCCIN: 100010 d w modreg r/m

LOOP lazo2 E2 EC
Tipo de direccionamiento: Bucle CX veces
CODIGO DE INSTRUCCIN: 11100010 disp

POP CX 59
Tipo de direccionamiento: Registro
CODIGO DE INSTRUCCIN: 01011 reg

LOOP lazo1 E2 E1
Tipo de direccionamiento: Bucle CX veces
CODIGO DE INSTRUCCIN: 11100010 disp



5. Ordenamiento de N nmeros de 2 bytes.

N EQU 8
sortof:
MOV BX,2000h
MOV CX,N
lazo1:
PUSH CX
MOV CX,N-1
MOV AX,[BX]
Arquitectura de Computadoras

Pgina | 8

XOR SI,SI
lazo2:
CMP AX,[BX+SI+2]
JA nocambia
PUSH [BX+SI+2]
MOV [BX+SI+2],AX
POP [BX+SI]
nocambia:
ADD SI,2
MOV AX,[BX+SI]
LOOP lazo2
POP CX
LOOP lazo1
RET

MOV BX,2000h BB 00 20
Tipo de direccionamiento: Inmediato a registro.
CODIGO DE INSTRUCCIN: 1011 w reg data data if w = 1

MOV CX,N B9 0A 00
Tipo de direccionamiento: Inmediato a registro.
CODIGO DE INSTRUCCIN: 1011 w reg data data if w = 1

PUSH CX 51
Tipo de direccionamiento: Registro.
CODIGO DE INSTRUCCIN: 01010 reg


MOV CX,N-1 B9 09 00
Tipo de direccionamiento: Inmediato a registro.
CODIGO DE INSTRUCCIN: 1011 w reg data data if w = 1

MOV AX,[BX] 8B 07
Tipo de direccionamiento: Registro a Registro.
CODIGO DE INSTRUCCIN: 100010 d w modreg r/m

XOR SI,SI 33 F6
Tipo de direccionamiento: Registro a registro.
CODIGO DE INSTRUCCIN: 001100 d w modreg r/m

CMP AX,[BX+SI+2] 3B 40 02
Tipo de direccionamiento: Registro con memoria.
CODIGO DE INSTRUCCIN: 001110 d w modreg r/m
Arquitectura de Computadoras

Pgina | 9



JA nocambia 77 08
Tipo de direccionamiento: Salto si es menor.
CODIGO DE INSTRUCCIN: 01110010 disp.

PUSH [BX+SI+2] FF 70 02
Tipo de direccionamiento: Registro.
CODIGO DE INSTRUCCIN: 01010 reg

MOV [BX+SI+2],AX 89 40 02
Tipo de direccionamiento: Memoria a registro.
CODIGO DE INSTRUCCIN: 100010 d w modreg r/m

POP [BX+SI] 8F 00
Tipo de direccionamiento: Registro.
CODIGO DE INSTRUCCIN: 01011 reg

ADD SI,2 83 C6 02
Tipo de direccionamiento: Memoria a registro.
CODIGO DE INSTRUCCIN: 100010 d w modreg r/m

MOV AX,[BX+SI] 8B 00
Tipo de direccionamiento: Registro a memoria.
CODIGO DE INSTRUCCIN: 100010 d w modreg r/m

LOOP lazo2 E2 EC
Tipo de direccionamiento: Bucle CX veces.
CODIGO DE INSTRUCCIN: 11100010 disp

POP CX 59
Tipo de direccionamiento: Registro.
CODIGO DE INSTRUCCIN: 01011 reg

LOOP lazo1 E2 E1
Tipo de direccionamiento: Bucle CX veces.
CODIGO DE INSTRUCCIN: 11100010 disp

Potrebbero piacerti anche