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.
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.
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.
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.
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.
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.