Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wprmsite

Assembly in line

Recommended Posts

Alguém entende de assmebly ai? Enfim, estava fazendo uns testes criando rotina assembly junto ao código Delphi e me deparei com um problema.

O Delphi não consegue executar as instruções INT nem PUSH. Alguém sabe me dizer se elas funcionão.

Código que estou tentando executar:

Código: procedure Cls();
asm
MOV AH, $0F //Função retorna modo de video em AL
INT $10

MOV AH, $0 //Função que altera o modo de video em AL.
INT $10
end;


begin
Cls();
end.



Aplicação Console. Quando é executado é lançado uma exceção de acesso violado a memória.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Montei um programa em assembly no Window 7 atraves do TASM e TLINK. E tambem atraves do DEBUG, uma ferramente que vem com o próprio Windows. O programa rodou normalmente. Então não acho que seja questão de segurança. A resposta mais coerente que encontrei ate agora é que estas interrupções só funcionam em aplicações DOS. E realmente o programa que montei foi para DOS.

 

E visto que outras instruções funcionam normalmente.

 

Mas algo que me deixa com muita duvida é: Por que nem as interrupções da BIOS podem ser acionadas, pois do DOS ate concordo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.