Ayuda con lenguaje ensamblador 8086 !!!

Iniciado por benedyt, 18 Mayo 2010, 17:12 PM

0 Miembros y 1 Visitante están viendo este tema.

benedyt

Necesito ayuda con este codigo, no encuentro el fallo, me deberia salir una 'A' y sale una 'H' n modo grafico.

Aqui os dejo  lo que tengo hecho:

.MODEL SMALL

.STACK 100h

.DATA
pixfila_a dw 80
pixcol_a dw 140

.CODE

macro_letra_a MACRO pixf,pixc
local pinta1a,pinta2a,pinta3a,pinta4a
MOV DL, 0
MOV DH,0
MOV ax,pixf
MOV bx,320
MUL bx
ADD ax,pixc
MOV DI,ax
MOV AL,15

MOV cx, DI
ADD cx, 30

pinta1h:
         MOV ES:[DI], AL
         ADD DI, 320
         INC DL
         CMP DL, 30
         jbe pinta1h

         MOV ax,320
         MOV bx,10
         MUL bx
         SUB DI,ax

         MOV AL,15

pinta2h:
         MOV ES:[DI], AL
         INC DI
         INC DH
         CMP DH, 30
         jbe pinta2h

         MOV DL, 0
         MOV DI,cx

pinta3h:
         MOV ES:[DI], AL
         ADD DI, 320
         INC DL
         CMP DL, 30
         jbe pinta3h
         
         MOV DL, 0
         MOV DI,cx

pinta4h:
         MOV ES:[DI], AL
         INC DI
         INC DH
         CMP DH, 30
         jbe pinta4h

         
      ENDM

MOV AX,@DATA
MOV DS,AX

MOV ah,0
MOV al,13h
int 10h

MOV AX, 0A000h
MOV ES, AX

macro_letra_a pixfila_a,pixcol_a

MOV AH,0
INT 16h

CMP AX, 011Bh
JE SALIR

SALIR:

      MOV AH,4ch
      INT 21h

      END


ESPERO VUESTRA AYUDA.

SALUDOS Y GRACIAS.

Eternal Idol

#1
No veo ningun error ... son unos perfectos postes de rugby  :laugh:

Lee el codigo de nuevo, calculo que la A va a ser de este estilo:

------
|     |
|     |
|----|
|     |

Con lo cual lo que te faltaria es la linea horizontal superior.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

benedyt

Hola eternal idol:

He hay el problema, se supone que con lo que te he escrito ya deberia salir la A:

------
|     |
|     |
|----|
|     |

pero, solo me sale :

|     |
|     |
|----|
|     |

la linea superior horizontal no sale.
Alguna idea de por que puede ser??

SALUDOS.

undersubnet

#3
Buenas no voy a corregir tu macro pero si quieres te doy una idea de como escribir letras en asm para el 8086. Te podrías formar una macro para escribir lineas horizontales y otra macro para hacer lineas verticales,a partir de ahí puedes formar letras más fácilmente.

Espero tu respuesta,si necesitas te pude decir que parámetros puedes usar para generar esas macros.

_Alice_

Hola, disculpen, se que muchos pueden pensar que mi mensaje será una pérdida de tiempo, soy nueva en eso y estoy intentando aprender desde lo más básico, y la verdad, es que necsito ayuda para aprender a programar en assembler, hice varios ejercicios que salian en la net, pero ninjuno pudo ser ejeutado y no se por que, estoy usando turbo assembler. Si alguien me pudiera ayudar, o enseñar, de verdad que se los agradecería mucho.

.rn3w.

Cita de: _Alice_ en 25 Agosto 2016, 03:04 AM
Hola, disculpen, se que muchos pueden pensar que mi mensaje será una pérdida de tiempo, soy nueva en eso y estoy intentando aprender desde lo más básico, y la verdad, es que necsito ayuda para aprender a programar en assembler, hice varios ejercicios que salian en la net, pero ninjuno pudo ser ejeutado y no se por que, estoy usando turbo assembler. Si alguien me pudiera ayudar, o enseñar, de verdad que se los agradecería mucho.
prueba con este emu8086, es un emulador muy recomendable para iniciar, te muestra los registros paso a paso.

http://www.emu8086.com/
prueba primero con un programa sencillo.