existe um programa chamado debug no windows q permite programar em assembly, para usar ele basta abrir o prompt digitar debug
para vizualizar os registradores basta aperta R e depois apertar enter, logo em seguida ele vai aparecer assim
os registradores AX,BX,CX
AX e o registrador de acumulador
BX e o registrador base
CX e o registrador contador
para editar o valor dentro dos registradores existe duas maneiras, a primeira seria voce digita R e o registrador logo em seguida ele vai exibir o conteudo do registrador e depois vai pedir para vc entrar com o valor no meu exemplo eu coloquei 300, veja no exemplo
agora o outro geito para salvar um valor no registrador e com comando A coloque o offset 100 logo em seguida, depois so digitar os valores a ser inserido usando MOV o registrador e uma virgula e valor, para finalizar so apertar duas vezes os enter, veja um exemplo
se vc aperta o comando R para exibir o registrador vc vai ver que nao mudo para executar voce aperta o comando T (esse comando executa linha por linha dos comandos)
algumas operaçao que pode ser feita em assembly
ADD soma
SUB subtrai
MUL multiplica
DIV dividi
veja o exemplo q soma o valor dentro de AX e BX
para criar um executavel (.com) com esse programa agente vai ter que salvar no registrador CX o tamanho do programa no nosso caso ele começa no 100 e termina no 102 entao ele tem 2 bits, agente tem colocar o tamanho em hexadecimal (se o programa tivesse 10bits ia ser 0a ao invez de 10), para salvar o valor so fazer i primeiro metodo com o comando RCX (limpe o registrador BX tambem) veja o exemplo
agora agente tem q definir o nome dele para isso agente usa o comando N mais o nome com a extensao .com veja o exemplo
para terminar so da o comando para gravar q é o W
para sair o comando e Q, depois para abrir o programa basta usar o comando N e o nome dele e depois usar o comando L para carregar
By hacker fts315
para vizualizar os registradores basta aperta R e depois apertar enter, logo em seguida ele vai aparecer assim
- Código:
C:\Documents and Settings\Administrador\Desktop>debug
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B8B ES=0B8B SS=0B8B CS=0B8B IP=0100 NV UP EI PL NZ NA PO NC
0B8B:0100 3C61 CMP AL,61
-
os registradores AX,BX,CX
AX e o registrador de acumulador
BX e o registrador base
CX e o registrador contador
para editar o valor dentro dos registradores existe duas maneiras, a primeira seria voce digita R e o registrador logo em seguida ele vai exibir o conteudo do registrador e depois vai pedir para vc entrar com o valor no meu exemplo eu coloquei 300, veja no exemplo
- Código:
-rax
AX 0000
:0300
-
agora o outro geito para salvar um valor no registrador e com comando A coloque o offset 100 logo em seguida, depois so digitar os valores a ser inserido usando MOV o registrador e uma virgula e valor, para finalizar so apertar duas vezes os enter, veja um exemplo
- Código:
-a 100
0B8B:0100 mov bx,15
0B8B:0103
-
se vc aperta o comando R para exibir o registrador vc vai ver que nao mudo para executar voce aperta o comando T (esse comando executa linha por linha dos comandos)
- Código:
-t
AX=0300 BX=0015 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B8B ES=0B8B SS=0B8B CS=0B8B IP=0103 NV UP EI PL NZ NA PO NC
0B8B:0103 45 INC BP
-
algumas operaçao que pode ser feita em assembly
ADD soma
SUB subtrai
MUL multiplica
DIV dividi
veja o exemplo q soma o valor dentro de AX e BX
- Código:
-a 100
0B8B:0100 add ax,bx
0B8B:0102
-t
AX=0315 BX=0015 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0B8B ES=0B8B SS=0B8B CS=0B8B IP=0102 NV UP EI PL NZ NA PO NC
0B8B:0102 7245 JB 0149
-
para criar um executavel (.com) com esse programa agente vai ter que salvar no registrador CX o tamanho do programa no nosso caso ele começa no 100 e termina no 102 entao ele tem 2 bits, agente tem colocar o tamanho em hexadecimal (se o programa tivesse 10bits ia ser 0a ao invez de 10), para salvar o valor so fazer i primeiro metodo com o comando RCX (limpe o registrador BX tambem) veja o exemplo
- Código:
-rcx
CX 0000
:2
-rbx
BX 0015
:0
-
agora agente tem q definir o nome dele para isso agente usa o comando N mais o nome com a extensao .com veja o exemplo
- Código:
-n fts.com
-
para terminar so da o comando para gravar q é o W
- Código:
-w
-
para sair o comando e Q, depois para abrir o programa basta usar o comando N e o nome dele e depois usar o comando L para carregar
- Código:
-n fts.com
-l
-
By hacker fts315