Sensacional abriu a minha mente estou a muito tempo tentando aprender através de livros mas sem sucesso, nós livros os autores complicam de mais, as vezes parece que é para desistir, tá de parabéns continua com essa didática que vai ajudar muitas pessoas que querem aprender.
Fernando, parabéns! Excelente explicação, aula super agradável (diferente das aulas pesadas que já vi sobre assembly), você tem o dom, você é o PROFESSOR. Do jeito que você explica nos faz gostar de aprender assembly e querer aprender mais. A maioria das pessoas são apenas instrutores mas você é o PROFESSOR você tem o dom. Muito obrigado!!
Ah cara que legal ver que vc voltou a fazer esses vídeos. Eu queria tando aprender Assembly. Nossa, obrigado mesmo. Adoro suas aulas. Vc me ajuda tanto.
Sem palavras para descrever sua aula. Fazem alguns meses que venho estudando assembly,. Até que fim encontrei um curso digno de aprendizado. Infelizmente, muitos vídeos se preocupam muito com a teoria , que é importante, mas lamentavelmente esquecem da prática. Seu curso envolvem os dois conceitos juntos. Fico imaginando aqui , já pensou que para aprender a falar nosso idioma, tivéssemos antes que aprender primeiro gramática...... 😢. Parabéns por sua percepção de ensino. Você é 20. Continue.....
Puxa, estou aqui em 2023 assistindo os vídeos, muito educativos e elucidativos, na prática, vou me organizar para começar aprender Assembly, muito show!!! Será que daí vem a expressão "8 ou 80"?Seria então "0 ou 80",kkkk,brincadeiras a parte, muito bom!
Aula excelente, comprei um livro de assembly e o livre realmente é mto difícil, não explica nada direito. Estou gostando muito da sua didática! Parabéns.
Ola! A forma que ensina realmente eh mto simples e didática. Nesse ponto esta de parabéns. Só precisei procurar como compilar e link-editar no windows p/ fazer funcionar aqui. Muito obrigado
Como andam as coisas? Ainda estuda assembly? Estou paquerando a ideia de fazer um mini sistema operacional também. Como anda o seu projeto aí? Upou em algum lugar? Se precisar de ajuda, a gente pode programar junto
É isso que vejo em quase toda área:coisa simples as pessoas complicam quando vão passar apenas para dar mais relevância a si próprias. Na minha área, medicina, explicações que deveriam ser simples para as pessoas são adornadas por complexidades desnecessárias para que o paciente pense que se trata de algo intangível a ele e respeite mais o médico por ele saber demais. É uma pena que o ser humano seja tão egoísta com conhecimento que, na minha hujmikde opinião, deveria ser acessível a todos. Parabéns pelo canal e pela forma de pensar!
Eu vim só de curiosidade, sou programador mobile(uso dart, que é parecido com JS) e adorei a aula, assembly é uma linguagem engraçada!! Ela não tem frescura, aceita quase tudo e roda em tudo que é canto kkkkkk, no dart já daria erro de sintaxe só com uma letra maiúscula, ou quebraria o programa todo.
OK mas toma cuidado com as comparações, em DART vc faz UM programa e pode executar em Mobile, Web ou Desktop, Assembly EXIGE o mesmo sistema e as vezes até o mesmo Chip Operacional. Assembly é excelente para aprimorar seu conhecimento em detalhes que as linguagens de alto nível escondem.
Ainda não terminei o vídeo, mas a questão é... Quando se compila um script em C/cpp emque momento é feito a criação do link entre o programa em maquina para um executavel ? se bem me lembro para executar nós passamos apenas "gcc script -o executavel"
Sobre test... eu tentei alter o "$- msg" para "ch ou cxh" que para minha cabeça seria o equivalente a 12 na mesma e obtive um error > bad syntax for EQU E depois eu corrige para 0xC... e dai surguiu uma questão, nas aulas eu aprendi que os números hexa são representados colocando o "h" no final... o quê deu erro então ?
opa fernando, não estou conseguinto executar o código que vc colocou no terminal, poderia me dizer o problema?, para auxílio quero citar que os textos verdes de azuis não aparecem no meu, somente um texto indicando o local onde o código está armazenado
Eu estou usando o Windows, então estou usando nasm -f win32 hello.asm para executar, mas o editor (VS Code) diz que Nasm não é reconhecido. Como faço para o editor reconhecer?
Boa tarde. Com relação ao registrador eax, eu não entendi o porquê quando se coloca 0x4, o programa assembly já identifica que a saída deve ser a msg "Hello World".
@ludimilo99 Estou usando um *Debian* GNU/Linux 11. Mandei instalar o pacote *'linux-headers-5.10.0-31-amd64'* (apt-get install linux-headers-5.10.0-31-amd64). Pesquisando na Internet e investigando os arquivos, descobri isto: /usr/src/linux-headers-5.10.0-31-amd64/arch/x86/include/generated/uapi/asm/unistd_32.h #define __NR_write 4 /usr/src/linux-headers-5.10.0-31-amd64/arch/x86/include/generated/uapi/asm/unistd_64.h #define __NR_write 1 o que, para mim que sou um *iniciante* , sugere que, se alguém estiver programando na linguagem Assembly para *32 bits* e desejar escrever algo em algum arquivo, então o registrador EAX precisa conter o número *quatro* (0x4, em hexadecimal). Porém, se alguém estiver programando na linguagem Assembly para *64 bits* e desejar escrever algo em algum arquivo, então o registrador EAX precisa conter o número *um* (0x1, em hexadecimal). *Resumo:* ====== Arquitetura: x86_64 ABI: 32 bits Sistema Operacional: GNU/Linux Chamada de sistema: escrever Código em decimal: 4 Código em hexadecimal: 0x4 Arquitetura: x86_64 ABI: 64 bits Sistema Operacional: GNU/Linux Chamada de sistema: escrever Código em decimal: 1 Código em hexadecimal: 0x1 *Será que está correta a minha interpretação?* Daqui de Jaboatão dos Guararapes, PE, domingo 21 de julho de 2024.
Uso o sistema Windows, e uso o comando 'nasm -f win32 hello.asm -o hello.o' para compilar e 'ld hello.o -o hello.exe' para linkeditar, mas o arquivo executavel está sempre vazio. Alguém sabe como resolver este problema?
é porque pelo oque eu entendi o NASM não funciona em windows, e sim somente em linux, aconselho a baixar o VirtualBox emulando o linux. No livro dele é mencionado o seguinte: Dica 1 - Sobre MEU AMBIENTE. Um detalhe que incomoda muito no Assembly e sua exigência de hardware e software compatível. Meu ambiente é o Ubuntu, uma distribuição do Linux, assim todos os programas aqui mostrados foram escritos e criados para ele. Tenho o Windows, posso usar esse livro? A resposta categórica é "Não". Para Windows existe o WASM e recomendo que você pare de ler agora e procure um livro para ele pois infelizmente o que está escrito aqui não servirá para você.
No meu Visual Studio, os códigos aparecem sublinhados de vermelho. Como faço para tirar isso? Tenho que configurar para reconhecer a linguagem Assembly?
@@FernandoAnselmo Obrigado Fernando. Me tira outra dúvida, fazendo favor? Eu baixei o MARS para ver se dava pra fazer nele, mas não funcionou. Nele não reconhece section, global e nem _start. Mas só com .data e .text, ele consegue depurar as instruções. isso acontece por que ele reconhece um tipo diferente de Assembly?
@@Diego-ch3ed Exatamente isso Assembly é uma linguagem que EXIGE (não pede) um compilador e sistema operacional (as vezes até o chip da placa). Qualquer coisa diferente do NASM / Ubuntu que utilizo pode não funcionar.
Boa noite Professor. Primeiramente obrigado por postar esse conteúdo. Excelente iniciativa. Tentei diversas formas para fazer o "Hello world!", ele compila, faz a linkedição, aparentemente está tudo ok, não dá nem um erro... Porém não aparece a frase "Hello world!". O que pode estar acontecendo? Se puder me ajudar agradeço.
Excelente aula! Estava tendo problemas com a instalação e utilização do NASM via WSL2 com o ubuntu 22.04. Se alguém também estiver encontrando esse problema, esse vídeo me ajudou com o processo: ruclips.net/video/4Gl9rjzjZeA/видео.html&ab_channel=OSTechHelp No meu caso, o caminho simples do "sudo apt install nasm" não estava funcionando, acabou que tive que instalar vários pacotes antes, inclusive o make exigido no vídeo e o gcc. Se isso ocorrer, siga com "sudo apt install build-essential", para mim funcionou e pude prosseguir normalmente! Não entendo tanto de Linux, mas parece que esse comando serve para instalar pacotes que já vêm instalados no Ubuntu em instalação convencional e que se encontram faltantes via instalação para o WSL. Espero que isso possa ser útil para alguém!
Segundo esta página da Wikipédia (en.wikipedia.org/wiki/INT_(x86_instruction)): "One of the most useful DOS software interrupts was interrupt 0x21". Porém não tenho a mínima ideia pois não utilizo esse sistema.
32:23 - 'msgC' pode ser interpretado como um rótulo diferente e continuação da mensagem. Eu testei duas vezes 'msg', assim: msg db 'Hello World!', 0xA msg db 'Hello World!', 0xA e dá este erro: LC_ALL=C nasm -f elf64 hello.asm hello.asm:3: error: label `msg' inconsistently redefined hello.asm:2: info: label `msg' originally defined here Já assim: msg db 'Hello World!', 0xA msga db 'Hello World!', 0xA msgb db 'Hello World!', 0xA msgc db 'Hello World!', 0xA msgd db 'Hello World!', 0xA msge db 'Hello World!', 0xA msgf db 'Hello World!', 0xA tam equ $- msg *Dá certo.* Daqui de Jaboatão dos Guararapes, PE, domingo 21 de julho de 2024.
Seu curso é excelente! Pena que não dá para enxergar direito, pois uso um pequeno smartphone. Consegui compilar sem erro, mas não consegui linkedar com o comando ld -s -o hello hello.o Muito obrigado.
@@FernandoAnselmo Olá, Fernando! Eu me proponho a aprender escrevendo exatamente o que você escreveu na aula. Vou baixar o livro sim, mas eu programo pelo smartphone, não tenho um pc. Compilou sem dar erro, mas não funcionou o comando ld -s-o hello hello.o Muito obrigado por responder.
@@balbino4 como vc programa pelo celular, talves ele nao sabe se consegue executar tudo por conta de ser o cel, alias quall app vc usa para programar no celular , ou quais programas, se for dificil explica pra nois, to nessa pra aprender dev cell
Olá, Fernando, muito legal esse vídeo, abriu minha mente! Uma pergunta: Existe alguma extensão para trabalhar com o Assembly no VSCode? Eu utilizo o SASM para programar em Assembly, mas, me sinto muito mais confortável na IDE do Visual Studio Code.
@@darklo-fis2188 Se você não fizer no Ubuntu NATIVO pode não funcionar. Na verdade é 100% de chance que NÃO vai funcionar. Assembly não pede compatibilidade de sistema EXIGE.
Não é a qualidade que está baixa, e a velocidade de transmissão do RUclips que está ruim, se o vídeo fosse em FullHD aí vc não veria e nem escutaria absolutamente nada, para saber mais sobre meu processo de gravação assista ruclips.net/video/sjsZhMtpURA/видео.html. Te recomendo assistir o vídeo em um horário que poucas pessoas estão assistindo.
Uma dica: Ou se faz um aulão igual os gringos de 5 horas aprendendo Assembly num vídeo só, ou se faz uma playlist pra essas aulas de Assembly, eu não encontrei uma Além disso seria legal deixar na descrição nem que seja só do primeiro vídeo, quais são as aulas que sairão.
Não entendo essa tara de brasileiro de colocar música em tudo que é vídeo, até videoaula. Sem condições de concentar no conteúdo, especialmente quando é um conteúdo complexo como este.
Parabens, pretendo aprender Assembly e COBOL para verificar e entender um pouco de como os programadores raizes faziam as coisas
Excelente! Objetivo, claro e sem frescuras! Ganhou +1 like e + 1 inscrito!
mano, sinceramente eu te admiro mt sério.
Sensacional abriu a minha mente estou a muito tempo tentando aprender através de livros mas sem sucesso, nós livros os autores complicam de mais, as vezes parece que é para desistir, tá de parabéns continua com essa didática que vai ajudar muitas pessoas que querem aprender.
no livro não é para quem é iniciante na minha opinião e sim pra quem já estudou e precisa relembra
Obg por ajudar a comunidade BR, pessoas como vc me inspira a continuar estudando tecnologia científica
Que doidera, por curiosidade abri o video, que aula boa, parabéns.
Muito bom professor. Já fui seu aluno em cursos de Java.
Fernando, parabéns! Excelente explicação, aula super agradável (diferente das aulas pesadas que já vi sobre assembly), você tem o dom, você é o PROFESSOR. Do jeito que você explica nos faz gostar de aprender assembly e querer aprender mais. A maioria das pessoas são apenas instrutores mas você é o PROFESSOR você tem o dom.
Muito obrigado!!
Ah cara que legal ver que vc voltou a fazer esses vídeos. Eu queria tando aprender Assembly. Nossa, obrigado mesmo. Adoro suas aulas. Vc me ajuda tanto.
Sem palavras para descrever sua aula.
Fazem alguns meses que venho estudando assembly,.
Até que fim encontrei um curso digno de aprendizado.
Infelizmente, muitos vídeos se preocupam muito com a teoria , que é importante, mas lamentavelmente esquecem da prática.
Seu curso envolvem os dois conceitos juntos.
Fico imaginando aqui , já pensou que para aprender a falar nosso idioma, tivéssemos antes que aprender primeiro gramática...... 😢.
Parabéns por sua percepção de ensino. Você é 20.
Continue.....
Que emocionante!!! Explodindo de emoção por finalmente encontrar uma explicação tão amigável e generosa!!! Eternamente grato!!!
Parabéns, gostei do seu conteúdo.
Obrigado por disponibilizar esse conteúdo.
Parabéns, gostei de sua atitude nobre, ensinar de verdade, não guardar segredo......... excelente professor !!
Puxa, estou aqui em 2023 assistindo os vídeos, muito educativos e elucidativos, na prática, vou me organizar para começar aprender Assembly, muito show!!! Será que daí vem a expressão "8 ou 80"?Seria então "0 ou 80",kkkk,brincadeiras a parte, muito bom!
Faz muito tempo que estou atrás de material de assembly para iniciante. Me parece que o seu mate irial é bem que procurava. Parabéns
Ótima didática, professor! Gratidão por disponibilizar esse conteúdo no RUclips
Professor a sua maneira de ensinar é muito boa! O livro também ótima qualidade.
Muito massa. Parabéns !
Gostei muito da aula, a maneira como você transmite o conteúdo é fantástica, parabéns Fernando.
Aula excelente!!! Valeu a pena cada segundo!!!!
Aula excelente, comprei um livro de assembly e o livre realmente é mto difícil, não explica nada direito. Estou gostando muito da sua didática! Parabéns.
seu vídeo me ajudou muito com meu estudos, muito obrigada por compartilhar o seu conhecimento!
Excelente, amigo. Ótima didática.
Aprendi mais neste vídeo do que todos os outros que já assisti por aí.
Obrigado Professor! Vou começar a aprender com suas aulas.
Que Aula sensacional! Muito obrigado por compartilhar
Aula perfeita, ensina quem sabe. 👏 Sempre quis conhecer essa linguagem...
Muito obrigado pelas aulas. O senhor e um heroi da computacao em assembly kkkkk
mano vc é incrível, amei sua didática
Ola! A forma que ensina realmente eh mto simples e didática. Nesse ponto esta de parabéns. Só precisei procurar como compilar e link-editar no windows p/ fazer funcionar aqui. Muito obrigado
Eu estou fazendo um OS em asm x16 e queria aprender a x64, e eu já estava acostumado com o nasm, esse tutorial me ajudou muito
Como andam as coisas? Ainda estuda assembly?
Estou paquerando a ideia de fazer um mini sistema operacional também. Como anda o seu projeto aí? Upou em algum lugar? Se precisar de ajuda, a gente pode programar junto
que maravilha quero muito aprender, e também criar um compilador
Ótima aula!
muito bom, parabens e obrigado pelos ensinamentos
ensinando segredos kkk, já tÔ gostando!
valeu! vc é muito bom! eu usarei assembly!
uma que a resolução do vídeo é baixa, mas o conteúdo e sensacional.
É isso que vejo em quase toda área:coisa simples as pessoas complicam quando vão passar apenas para dar mais relevância a si próprias.
Na minha área, medicina, explicações que deveriam ser simples para as pessoas são adornadas por complexidades desnecessárias para que o paciente pense que se trata de algo intangível a ele e respeite mais o médico por ele saber demais.
É uma pena que o ser humano seja tão egoísta com conhecimento que, na minha hujmikde opinião, deveria ser acessível a todos.
Parabéns pelo canal e pela forma de pensar!
Top demais!!! Vlw mestre!
Professor nos ensine como fazer um executável na linguagem assembly 32b a imprimir uma figura geométrica com as medidas em mm e polegadas.
Pode qualquer editor de texto. Não pode usar processador de texto.
Eu vim só de curiosidade, sou programador mobile(uso dart, que é parecido com JS) e adorei a aula, assembly é uma linguagem engraçada!! Ela não tem frescura, aceita quase tudo e roda em tudo que é canto kkkkkk, no dart já daria erro de sintaxe só com uma letra maiúscula, ou quebraria o programa todo.
OK mas toma cuidado com as comparações, em DART vc faz UM programa e pode executar em Mobile, Web ou Desktop, Assembly EXIGE o mesmo sistema e as vezes até o mesmo Chip Operacional. Assembly é excelente para aprimorar seu conhecimento em detalhes que as linguagens de alto nível escondem.
Eu tenho 14 anos,tenho 2 projetos,o Ripy Os e o Crazy Os,feitos em 16 bits.Viu começar a aprender 64 bits!
Muito massa !
como que configura a IDE para programar Assembly ?
e para ter acesso e/s no assembly eu estou com dificuldades eu estou montando um projeto para isso e necessário de acesso
Ainda não terminei o vídeo, mas a questão é... Quando se compila um script em C/cpp emque momento é feito a criação do link entre o programa em maquina para um executavel ?
se bem me lembro para executar nós passamos apenas "gcc script -o executavel"
Excelente livro.
Fernando, esse codigo pode funcionar em AVR studio?
Eu tentei aprender assembly com o masm32, um dia pretendo voltar a estudar.
Não consigo usar o comando ld diz n ser reconhecido, usando windows 10
Sobre test... eu tentei alter o "$- msg" para "ch ou cxh" que para minha cabeça seria o equivalente a 12 na mesma e obtive um error
> bad syntax for EQU
E depois eu corrige para 0xC... e dai surguiu uma questão, nas aulas eu aprendi que os números hexa são representados colocando o "h" no final... o quê deu erro então ?
Uma dúvida, Professor: o "global _start" está subordinado à "section .text"?
Vou me aprofundar melhor.
Estou usando x86 em um compilador online, o Windows tem muita frescura pra rodar assembly
opa fernando, não estou conseguinto executar o código que vc colocou no terminal, poderia me dizer o problema?, para auxílio quero citar que os textos verdes de azuis não aparecem no meu, somente um texto indicando o local onde o código está armazenado
Deve ser porque você não instalou as extensões do Assembly no vscode.
Eu estou usando o Windows, então estou usando nasm -f win32 hello.asm para executar, mas o editor (VS Code) diz que Nasm não é reconhecido. Como faço para o editor reconhecer?
Não faz, no Windows usa-se o WASM e tirando que além de instalá-lo os comandos não são os mesmos.
@@FernandoAnselmo Ok. Obrigado!
Mais um doido. Isso foi um elogio viu. 😂😂😂😂😂😂😂😂😂😂
Boa tarde. Com relação ao registrador eax, eu não entendi o porquê quando se coloca 0x4, o programa assembly já identifica que a saída deve ser a msg "Hello World".
@ludimilo99
Estou usando um *Debian* GNU/Linux 11. Mandei instalar o pacote *'linux-headers-5.10.0-31-amd64'* (apt-get install linux-headers-5.10.0-31-amd64). Pesquisando na Internet e investigando os arquivos, descobri isto:
/usr/src/linux-headers-5.10.0-31-amd64/arch/x86/include/generated/uapi/asm/unistd_32.h
#define __NR_write 4
/usr/src/linux-headers-5.10.0-31-amd64/arch/x86/include/generated/uapi/asm/unistd_64.h
#define __NR_write 1
o que, para mim que sou um *iniciante* , sugere que, se alguém estiver programando na linguagem Assembly para *32 bits* e desejar escrever algo em algum arquivo, então o registrador EAX precisa conter o número *quatro* (0x4, em hexadecimal). Porém, se alguém estiver programando na linguagem Assembly para *64 bits* e desejar escrever algo em algum arquivo, então o registrador EAX precisa conter o número *um* (0x1, em hexadecimal).
*Resumo:*
======
Arquitetura: x86_64
ABI: 32 bits
Sistema Operacional: GNU/Linux
Chamada de sistema: escrever
Código em decimal: 4
Código em hexadecimal: 0x4
Arquitetura: x86_64
ABI: 64 bits
Sistema Operacional: GNU/Linux
Chamada de sistema: escrever
Código em decimal: 1
Código em hexadecimal: 0x1
*Será que está correta a minha interpretação?*
Daqui de Jaboatão dos Guararapes, PE, domingo 21 de julho de 2024.
Uso o sistema Windows, e uso o comando 'nasm -f win32 hello.asm -o hello.o' para compilar e 'ld hello.o -o hello.exe' para linkeditar, mas o arquivo executavel está sempre vazio.
Alguém sabe como resolver este problema?
é porque pelo oque eu entendi o NASM não funciona em windows, e sim somente em linux, aconselho a baixar o VirtualBox emulando o linux. No livro dele é mencionado o seguinte:
Dica 1 - Sobre MEU AMBIENTE. Um detalhe que incomoda muito no Assembly e sua exigência de
hardware e software compatível. Meu ambiente é o Ubuntu, uma distribuição do Linux, assim todos os
programas aqui mostrados foram escritos e criados para ele. Tenho o Windows, posso usar esse livro?
A resposta categórica é "Não". Para Windows existe o WASM e recomendo que você pare de ler agora
e procure um livro para ele pois infelizmente o que está escrito aqui não servirá para você.
No meu Visual Studio, os códigos aparecem sublinhados de vermelho. Como faço para tirar isso? Tenho que configurar para reconhecer a linguagem Assembly?
Instale os plugins para reconhecer os códigos de Assembly, pessoalmente utilizo o "x86 and x86_64 Assembly"
@@FernandoAnselmo Obrigado Fernando. Me tira outra dúvida, fazendo favor? Eu baixei o MARS para ver se dava pra fazer nele, mas não funcionou. Nele não reconhece section, global e nem _start. Mas só com .data e .text, ele consegue depurar as instruções. isso acontece por que ele reconhece um tipo diferente de Assembly?
@@Diego-ch3ed Exatamente isso Assembly é uma linguagem que EXIGE (não pede) um compilador e sistema operacional (as vezes até o chip da placa). Qualquer coisa diferente do NASM / Ubuntu que utilizo pode não funcionar.
Muito bom!
Essa linguagem é muito complicada, mas ainda vou aprender ela
eai ?
Boa noite Professor. Primeiramente obrigado por postar esse conteúdo. Excelente iniciativa.
Tentei diversas formas para fazer o "Hello world!", ele compila, faz a linkedição, aparentemente está tudo ok, não dá nem um erro... Porém não aparece a frase "Hello world!". O que pode estar acontecendo? Se puder me ajudar agradeço.
Qual sistema operacional vc está utilizando?
@@FernandoAnselmo estou com o mesmo problema, utilizo ubuntu 22.04
Professor, resolvi o problema. Parece q o problema é com visual code, no bloco de notas e terminal rodou bonito. Só instalar nasm no ubuntu
Excelente aula!
Estava tendo problemas com a instalação e utilização do NASM via WSL2 com o ubuntu 22.04.
Se alguém também estiver encontrando esse problema, esse vídeo me ajudou com o processo: ruclips.net/video/4Gl9rjzjZeA/видео.html&ab_channel=OSTechHelp
No meu caso, o caminho simples do "sudo apt install nasm" não estava funcionando, acabou que tive que instalar vários pacotes antes, inclusive o make exigido no vídeo e o gcc.
Se isso ocorrer, siga com "sudo apt install build-essential", para mim funcionou e pude prosseguir normalmente! Não entendo tanto de Linux, mas parece que esse comando serve para instalar pacotes que já vêm instalados no Ubuntu em instalação convencional e que se encontram faltantes via instalação para o WSL. Espero que isso possa ser útil para alguém!
Professor o senhor poderia gravar os videos em uma resolução maior??
Por exemplo 720.
Professor, qual seria uma alternativa do int 0x80 para o windows?
Segundo esta página da Wikipédia (en.wikipedia.org/wiki/INT_(x86_instruction)): "One of the most useful DOS software interrupts was interrupt 0x21". Porém não tenho a mínima ideia pois não utilizo esse sistema.
Uma alternativa viável seria 'ret 16'
Não entendi como exibiu o msgC se lá embaixo você não pediu.
Que msgC? Isso não existe, existe um label chamado msg que foi movido para ECX
@@FernandoAnselmo O segundo Hello world que você escreveu abaixo do primeiro.
@@balbino4 vc está dizendo do min 34, avance até o min 36 que tem a explicação porquê isso acontece.
@@FernandoAnselmo Vou voltar e assistir.
Muito obrigado.
32:23 - 'msgC' pode ser interpretado como um rótulo diferente e continuação da mensagem. Eu testei duas vezes 'msg', assim:
msg db 'Hello World!', 0xA
msg db 'Hello World!', 0xA
e dá este erro:
LC_ALL=C nasm -f elf64 hello.asm
hello.asm:3: error: label `msg' inconsistently redefined
hello.asm:2: info: label `msg' originally defined here
Já assim:
msg db 'Hello World!', 0xA
msga db 'Hello World!', 0xA
msgb db 'Hello World!', 0xA
msgc db 'Hello World!', 0xA
msgd db 'Hello World!', 0xA
msge db 'Hello World!', 0xA
msgf db 'Hello World!', 0xA
tam equ $- msg
*Dá certo.*
Daqui de Jaboatão dos Guararapes, PE, domingo 21 de julho de 2024.
muito bom
Seu curso é excelente!
Pena que não dá para enxergar direito, pois uso um pequeno smartphone.
Consegui compilar sem erro, mas não consegui linkedar com o comando ld -s -o hello hello.o
Muito obrigado.
Lhe recomendo a baixar e usar o livro como referencia, ou mesmo o programa pronto que também pode ser baixado. Links nas descrições.
@@FernandoAnselmo Olá, Fernando!
Eu me proponho a aprender escrevendo exatamente o que você escreveu na aula. Vou baixar o livro sim, mas eu programo pelo smartphone, não tenho um pc.
Compilou sem dar erro, mas não funcionou o comando ld -s-o hello hello.o
Muito obrigado por responder.
@@balbino4 nem vai funcionar, Assembly não pede um linkeditor compatível ele EXIGE.
@@FernandoAnselmo Eu escrevi o que você escreveu, exatamente igual.
@@balbino4 como vc programa pelo celular, talves ele nao sabe se consegue executar tudo por conta de ser o cel, alias quall app vc usa para programar no celular , ou quais programas, se for dificil explica pra nois, to nessa pra aprender dev cell
Olá, Fernando, muito legal esse vídeo, abriu minha mente!
Uma pergunta: Existe alguma extensão para trabalhar com o Assembly no VSCode? Eu utilizo o SASM para programar em Assembly, mas, me sinto muito mais confortável na IDE do Visual Studio Code.
Hum, existem algumas extensões mas a única que eu uso tem a função apenas de colorir o código.
Olá amigo gosto muito de projetos com microcontroladores PIC o que vc me indicaria
linguagem "c" ou " assembly" ??
HÀ não sei programar ainda kkk
na minha opinião. programar em C e compreender Assembly
no meu apareceu isso quando executei o programa.. como resolve isso?
hello world!Falha de segmentação (imagem do núcleo gravada)
Seu ambiente operacional é Ubuntu?
legal.
o correto não é registro?
Hummm começou fazendo um código limpo em vez de usar em um nasm que tenha caracteres nem todos definidos, certo, isso ai, parabéns.
não sabia que existia o temo linkeditar
Tive o seguinte problema na linkedição
hello.o: file not recognized: file format not recognized
Como posso resolver?
Qual o seu sistema operacional? E como vc gerou o arquivo .o?
@@FernandoAnselmo estou usando termux, Emulador de terminal Linux eu gerei pelo metado que vc descreve ai
@@darklo-fis2188 Se você não fizer no Ubuntu NATIVO pode não funcionar. Na verdade é 100% de chance que NÃO vai funcionar. Assembly não pede compatibilidade de sistema EXIGE.
brabo dms
Esse funciona na maquina virtual,mais o 04 converter nao funcionou,sera pq foi na maquina virtual?
Provavelmente sim, com disse existem graves diferenças de Assembly em ambientes.
Professor, terão mais aulas?
Com certeza, todas que estão no livro.
@@FernandoAnselmo que livro? Manda o link pra compra
@@cd1306 não existe venda, e livro está disponível nos detalhes de todos os vídeos de Assembly.
É muita coisa
Não pense assim, pense: É muito pouca coisa para uma linguagem tão poderosa. E eu vou aprender isso.
Nao acho como linkar em windows. É até ruim de pesquisar isso, n acho nada.
Infelizmente o Assembly do Windows é muito pouco difundido.
Estou vendo a nessesidade de uma resolução de video melhor: 720p no minimo
Não é a qualidade que está baixa, e a velocidade de transmissão do RUclips que está ruim, se o vídeo fosse em FullHD aí vc não veria e nem escutaria absolutamente nada, para saber mais sobre meu processo de gravação assista ruclips.net/video/sjsZhMtpURA/видео.html. Te recomendo assistir o vídeo em um horário que poucas pessoas estão assistindo.
Os vídeos são gravados por padrão a 1920x1080 em formato WideScreen. A qualidade não está baixa.
Uma dica: Ou se faz um aulão igual os gringos de 5 horas aprendendo Assembly num vídeo só, ou se faz uma playlist pra essas aulas de Assembly, eu não encontrei uma
Além disso seria legal deixar na descrição nem que seja só do primeiro vídeo, quais são as aulas que sairão.
Não entendo essa tara de brasileiro de colocar música em tudo que é vídeo, até videoaula. Sem condições de concentar no conteúdo, especialmente quando é um conteúdo complexo como este.
na parte do "ld -s -o HelloWorld HelloWorld.o" da um erro "HelloWorld.o: file not recognized: File format not recognized"