Ensamblador - AYUDA LEANME

 
Vista:

AYUDA LEANME

Publicado por Anonimo (8 intervenciones) el 04/03/2007 16:46:18
Hola, tengo el siguiente codigo:

#make_boot#

org 7c00h ; set location counter.

include 'emu8086.inc'
print 'AL: '
call scan_num
mov al, cx
print 'CH: '
call scan_num
mov ch, cx
print 'CL: '
call scan_num
mov cl, cx
print 'DH: '
call scan_num
mov dh, cx
print 'DL: '
call scan_num
mov dl, cx




INT 19h ; reboot
define_scan_num

Me da error: dice que al es un registro de 16 bits y que yo le estoy pasando un numero de 8 bits, como lo puedo solucionar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA LEANME

Publicado por mcroprocessor (46 intervenciones) el 04/03/2007 17:53:59
mmm....
hola

veo que no sabes los principios del almacenamiento
estas instrucciones estan mal:

mov al, cx
mov ch, cx
mov cl, cx
mov dh, cx
mov dl, cx

al,ch,cl,dh y dl son registros de 8 bits, e intentas almacenar en ellos el valor de cx, que es de 16 bits.
Lo correcto seria:

mov al, cl
mov ch, cl
mov cl, cl
mov dh, cl
mov dl, cl

Porque cl es de 8 bits
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA LEANME

Publicado por mcroprocessor (46 intervenciones) el 04/03/2007 17:54:02
mmm....
hola

veo que no sabes los principios del almacenamiento
estas instrucciones estan mal:

mov al, cx
mov ch, cx
mov cl, cx
mov dh, cx
mov dl, cx

al,ch,cl,dh y dl son registros de 8 bits, e intentas almacenar en ellos el valor de cx, que es de 16 bits.
Lo correcto seria:

mov al, cl
mov ch, cl
mov cl, cl
mov dh, cl
mov dl, cl

Porque cl es de 8 bits
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar