SoloCodigo
Programación General => Pascal => Mensaje iniciado por: sneider en Miércoles 19 de Mayo de 2004, 09:06
-
Buenas, alguien sabe como puedo compilar este codigo ensamblador + en pascal? funciona en DEV-PASCAL ? necesito saber ke es lo ke hay que poner para ke funcione. gracias.un saludo.
este es el codigo:
Unit LED;
Interface
Procedure Caps(ONorOFF:boolean);
Procedure NumLock(ONorOFF:boolean);
Procedure ScrLock(ONorOFF:boolean);
Implementation
Procedure Caps(ONorOFF:boolean);Assembler;
asm
cmp ONorOFF,1 {Do you want CAPS ON?}
je @BeLight {If yes ...}
jmp @BeDarkness {Else...}
@BeLight:
MOV SI,40h
MOV ES,SI
MOV AL,ES:[0017h]
OR AL,40h
MOV ES,SI
MOV ES:[0017h],AL
jmp @FINISH
@BeDarkness:
MOV SI,40h
MOV ES,SI
MOV AL,ES:[0017h]
AND AL,0BFh
MOV ES,SI
MOV ES:[0017h],AL
@FINISH:
end;
Procedure NumLock(ONorOFF:Boolean);Assembler;
asm
cmp ONorOFF,1
je @BeLight
jmp @BeDarkness
@BeLight:
MOV SI,40h
MOV ES,SI
MOV AL,ES:[0017h]
OR AL,20h
MOV ES,SI
MOV ES:[0017h],AL
jmp @FINISH
@BeDarkness:
MOV SI,40h
MOV ES,SI
MOV AL,ES:[0017h]
AND AL,0DFh
MOV ES,SI
MOV ES:[0017h],AL
@FINISH:
end;
Procedure ScrLock(ONorOFF:Boolean);Assembler;
asm
cmp ONorOFF,1
je @BeLight
jmp @BeDarkness
@BeLight:
MOV SI,40h
MOV ES,SI
MOV AL,ES:[0017h]
OR AL,10h
MOV ES,SI
MOV ES:[0017h],AL
jmp @FINISH
@BeDarkness:
MOV SI,40h
MOV ES,SI
MOV AL,ES:[0017h]
AND AL,0EFh
MOV ES,SI
MOV ES:[0017h],AL
@FINISH:
end;
END.