20 comentários:

Anônimo disse...

Eu tentei estalar o nasm e não deu certo . Mim ajuda sou louco por esse mundo e agora quero muito aprender.

Li outros tutorias e ele falom jne, je, hexadecimal. Nao entendi nada.

Anônimo disse...

parabéns tá bem legal.
o que são numeros hexadecimal?

Anônimo disse...

são sentenças onde possuem números e letras.

Anônimo disse...

Desculpa, mas como uma pessoa que está louca por "esse mundo', ou seja, pelo que entendi o que programação e visita um site que fala sobre assembly, não sabe o que são hexadecimais?
antes de fazer uma pergunta tão idiota, pq nao procura no google antes?

Hexadecimais: números que estão na base 16
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
.
.
.

TY disse...

Essa pessoa faz um comentário acima, metendo o pau na pessoa do primeiro comentário... E ele encana onde não explica. Pois bem.

Números Hexadecimais são números baseados em 16 caracteres para sua representação numérica. Ou seja, apenas 16 "números", são eles:

0 1 2 3 4 5 6 7

8 9 A B C D E F

Essa sequência numérica vai de 0 a F.

--------------------------

Nos decimais os números vão de 0 a 9.

0 1 2 3 4 5 6 7 8 9

E assim como nos números decimais podemos organizar os números em qualquer sequência (por exemplo 2014 = 7DE em hexadecimal), nos Hexadeciamais, tbm podemos, 9FA4 ( 40868 em decimais ). Existem outras duas bases decimais que conheço, a Binária ( 00110101 ), que trabalham com apenas dois números, zeros e uns, e a Octal, q vai de 0 a 7, trabalham com oito números. É isso aí. Só não pude ser mais completo por falta de tempo, estou de saída, desculpe por isso, mas na net tem bastante material sobre isso.

O PROBLEMA DO BRASILEIRO, É QUE ELE BANALIZA A IGNORÂNCIA, GOSTA DE SE FAZER PARECER MELHOR. NÃO ENSINA, POVO QUE DESCONHECE A GENTILEZA E O PREZO PELO BEM ESTAR DO PRÓXIMO. SABE? ENTÃO ENSINE, NÃO CONDENE O NÃO SABER. UMA VEZ TODOS FOMOS LEIGOS!!!

João Paulo disse...

TY, receba meus sinceros cumprimentos.

O rapaz agrediu gratuitamente um colega que está com dúvidas sinceras. Quem zomba e não explica, duvido muito que de fato saiba.

Anônimo disse...

Hexadecimal para em F pois quando se fala 10 tem repetição de número.

Jonathan disse...

"Esse, porém é um código 'humano', pois usamos mnemônicos, que são símbolos e códigos para que nós possamos entender."

Nossa, quanta humanidade nesse código. Que código fácil de entender é esse de 15 linhas? eu faço isso em 1 em ruby e consigo entender, Assembly parece um ritual pra invocar um ET.

Assembly Progressivo disse...

Jonathan,

Experimente fazer isso em Ruby sem usar um sistema operacional.

Tente fazer isso em Ruby sem usar um compilador.

Tente fazer isso em Ruby, com uma performance que seja pelo menos 1% do Assembly, que use pelo menos 10% da memória que o Assembly usar,

Experimente fazer algo em um hardware que fornece apenas alguns kb de memória (4 ou 8), em Ruby.

O fato de você ver uma mensagem na tela usando uma linha de Ruby não significa que é a mesma coisa, ou melhor, que ver o mesmo resultado usando Assembly.

Poderia continuar por horas e horas citando motivos de se fazer isso em Assembly, e apenas em Assembly.

Assembly Progressivo disse...

Jonathan,

Experimente fazer isso em Ruby sem usar um sistema operacional.

Tente fazer isso em Ruby sem usar um compilador.

Tente fazer isso em Ruby, com uma performance que seja pelo menos 1% do Assembly, que use pelo menos 10% da memória que o Assembly usar,

Experimente fazer algo em um hardware que fornece apenas alguns kb de memória (4 ou 8), em Ruby.

O fato de você ver uma mensagem na tela usando uma linha de Ruby não significa que é a mesma coisa, ou melhor, que ver o mesmo resultado usando Assembly.

Poderia continuar por horas e horas citando motivos de se fazer isso em Assembly, e apenas em Assembly.

João Paulo disse...

Johnatan,

Experimente programar atuadores de válvulas automáticas em Ruby.
Já pensou também se as ordens de bid/ask entre um banco na NYSE e outro na Bolsa de Tóquio fossem programadas em Ruby?

Anônimo disse...

Boa tarde pessoal!!
eu tentei compilar esse codigo ... e apareceu esse erro ...

ld: a arquitetura i386 do arquivo de entrada `helo.o' é incompatível com a saída i386:x86-64

oq eu faço??

Anônimo disse...

A vingança nunca é plena mata a alma e a invenena!

Anônimo disse...

Já pensaram em deixarem de ignorância e usar a linguagem de acordo com o que se precisa, use assembly se for preciso usar assembly, use ruby se for preciso usar ruby, quero ver uma pessoa desenvolver uma pagina web em assembly, se vai ser mais agil que um programa em ruby, cada linguagem tem suas vantagens. Então deixem de xurumelas.

Anônimo disse...

Legal

Tio Sam Tutoriais disse...

Gostaria de aprender assembly mas parece bem complexo.Já programo em c,c#,delphi e java!!!

Anônimo disse...

GENIAL!!!

Tiago Farias disse...

O Jonathan foi muito infeliz no comentário.

FrancinyS disse...

Muito legal a intenção de criação do curso de Assembly.
Só faltou informar que as instruções do código acima são para Linux
Apesar que ele avisou que a construção do executável era para linux.

FrancinyS disse...

Poderia usar o masm32 com o seguinte código:
.386
.model flat, stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib

.data

msg db "Ola Mundo", 0
cpt db "Meu Primeiro Programa em Assembly", 0

.code
start:

invoke MessageBox, NULL, addr msg, addr cpt, MB_OK + MB_ICONINFORMATION


invoke ExitProcess, NULL

end start