Pedro Botelho
Pedro Botelho
  • Видео 44
  • Просмотров 47 614
Conversão de Código C para Assembly - Exercícios - Assembly x86
Aula ministrada para a monitoria da disciplina de "Arquitetura e Organização de Computadores I", do 3º semestre do curso de Engenharia de Computação, da Universidade Federal do Ceará, campus de Quixadá, no dia 20 de agosto de 2024, onde foram feitos exercícios sobre procedimentos e moldura de pilha, convertendo códigos em C para Assembly.
Просмотров: 169

Видео

Usando printf/scanf em Assembly - Assembly x86 (Parte 2)
Просмотров 1474 месяца назад
Nessa aula falamos mais sobre o uso da função printf em Assembly x86 de 32-bits e.g. como usar dados de tamanho menor que 4 bytes. Também falamos da função printf e de como chamar o printf/scanf a partir da função _start (ao invés da main). Essa aula foi primariamente gravada para a monitoria de Arquitetura de Computadores, pela Universidade Federal do Ceará (UFC).
Usando printf/scanf em Assembly - Assembly x86 (Parte 1)
Просмотров 3244 месяца назад
Nessa aula falamos sobre o uso da função printf em Assembly x86 de 32-bits, bem como alguns cuidados em relação a pilha que se deve ter ao chamá-la. Essa aula foi primariamente gravada para a monitoria de Arquitetura de Computadores, pela Universidade Federal do Ceará (UFC).
Palestra: Primeiros Passos no Desenvolvimento de Sistemas Embarcados
Просмотров 523Год назад
SOBRE A PALESTRA: Foram apresentadas formas de como os alunos podem começar a desenvolver sistemas embarcados (SE), buscando tirar dúvidas comuns. Essas dúvidas principais foram elencadas nos cinco principais objetivos da palestra: - O que são Sistemas Embarcados? - Quais as principais Ferramentas? - Como começar a Desenvolver? - Quais Projetos podem ser criados? - Como está o Mercado de Trabal...
Distribuições Contínuas de Carga - Introdução ao Eletromagnetismo
Просмотров 100Год назад
Nessa aula são falados das distribuições contínuas de carga: linear, superficial e volumétrica. Foi revisado o conceito de distribuição discreta de carga, agora com um novo nome.
Campos Elétricos - Introdução ao Eletromagnetismo
Просмотров 52Год назад
Nesse vídeo são falados os conceitos introdutórios da teoria dos campso elétricos, como: campo elétrico gerado por uma carga pontual, gerado por várias cargas pontuais, e linhas de campo.
Lei de Coulomb no Espaço - Introdução ao Eletromagnetismo
Просмотров 97Год назад
Nessa aula foi falado sobre como aplicar a Lei de Coulomb, e o Princípio da Superposição, no plano bidimensional e no espaço tridimensional. Alguns dos assuntos chaves são: vetor posição, vetor separação e vetor na direção radial. Errata: O gravador bugou o áudio, e nos primeiros minutos é muito alto e só sai por um dos autofalantes, e no restante é muito baixo.
Teorema das Cascas - Introdução ao Eletromagnetismo
Просмотров 702Год назад
Nessa aula foi discutido os dois teoremas das cascas, sobre a força eletrostática entre uma casca esférica e uma carga puntiforme (ou carga de prova).
Lei de Coulomb - Introdução ao Eletromagnetismo
Просмотров 54Год назад
Nessa aula são discutidos os conceitos da Lei de Coulomb, que permite calcular a força elétrica entre duas partículas carregadas. Também foi apresentado o conceito do Princípio da Superposição.
Cargas Elétricas - Introdução ao Eletromagnetismo
Просмотров 104Год назад
Esse vídeo aborda o conceito introdutório das cargas elétricas, bem como suas interações básicas.
Braço Robótico com Linux Embarcado e Sensor Acelerômetro - Práticas na Beaglebone Black
Просмотров 2972 года назад
Projeto final da disciplina de "Técnicas de Programação de Sistemas Embarcados II", ou TPSE II, ministrada pelo professor Francisco Hélder Cândido (FHC), na Universidade Federal do Ceará (UFC), campus de Quixadá, apresentado no dia 08 de dezembro de 2022. 1) O PROJETO: O projeto teve como proposta desenvolver um braço robótico que pudesse ser controlado por sensores (que poderiam ser acoplados ...
Fundamentos da Arquitetura x86 - Exercícios - Arquitetura x86
Просмотров 1662 года назад
Essa foi uma aula ministrada aos alunos da disciplina de "Arquitetura e Organização de Computadores I", com o intuito de tirar dúvidas sobre as etapas iniciais da programação em Assembly para a arquitetura x86, e resolver exercícios. Na primeira parte da aula é feito um exercício onde devemos percorrer um array de idades, e imprimir o grupo em que aquela idade se encontra. No decorrer dessa pri...
Ambiente de Linux Embarcado com Buildroot - Práticas na Beaglebone Black
Просмотров 4012 года назад
Prática realizada para a disciplina de "Técnicas de Programação de Sistemas Embarcados II", ou TPSE II, ministrada pelo professor Francisco Hélder Cândido (FHC), na Universidade Federal do Ceará (UFC), campus de Quixadá. Tendo em vista que o processo de geração do ambiente do Linux é complicado, tendo muitos componentes, foi criado uma alternativa centralizada à configuração separada de cada co...
Decodificação de Instruções - Arquitetura ARM
Просмотров 1332 года назад
Decodificação de Instruções - Arquitetura ARM
Programação do Arduino Due em C - Microcontrolador SAM3X8E
Просмотров 3042 года назад
Programação do Arduino Due em C - Microcontrolador SAM3X8E
Temporizador DMTIMER - Práticas na BeagleBone Black
Просмотров 1302 года назад
Temporizador DMTIMER - Práticas na BeagleBone Black
Interrupções Externas (IRQ) - Práticas na BeagleBone Black
Просмотров 3032 года назад
Interrupções Externas (IRQ) - Práticas na BeagleBone Black
Interrupções e Entrada e Saída - Revisão Geral de Arquitetura x86
Просмотров 6343 года назад
Interrupções e Entrada e Saída - Revisão Geral de Arquitetura x86
Funções em Assembly - Revisão Geral de Arquitetura x86
Просмотров 4773 года назад
Funções em Assembly - Revisão Geral de Arquitetura x86
Programação Básica em Assembly - Revisão Geral de Arquitetura x86
Просмотров 9993 года назад
Programação Básica em Assembly - Revisão Geral de Arquitetura x86
FPU x87 e MMX - Exercícios - Coprocessamento em Computadores x86
Просмотров 1233 года назад
FPU x87 e MMX - Exercícios - Coprocessamento em Computadores x86
Conjunto de Instruções da FPU - Coprocessamento em Computadores x86
Просмотров 3403 года назад
Conjunto de Instruções da FPU - Coprocessamento em Computadores x86
Organização da FPU x87 - Coprocessamento em Computadores x86
Просмотров 2813 года назад
Organização da FPU x87 - Coprocessamento em Computadores x86
Introdução ao MMX e FPU x87 - Coprocessamento em Computadores x86
Просмотров 4263 года назад
Introdução ao MMX e FPU x87 - Coprocessamento em Computadores x86
Procedimentos, FSM e Syscall - Exercícios - Arquitetura x86
Просмотров 1383 года назад
Procedimentos, FSM e Syscall - Exercícios - Arquitetura x86
Chamadas de Sistema no Linux - Arquitetura x86
Просмотров 5693 года назад
Chamadas de Sistema no Linux - Arquitetura x86
Máquina de Estados Finitos - Arquitetura x86
Просмотров 3253 года назад
Máquina de Estados Finitos - Arquitetura x86
Procedimentos em Assembly - Arquitetura x86
Просмотров 9463 года назад
Procedimentos em Assembly - Arquitetura x86
Pilha e Matrizes - Exercícios - Arquitetura x86
Просмотров 2303 года назад
Pilha e Matrizes - Exercícios - Arquitetura x86
Operações sobre Pilha e Pilha de Execução - Arquitetura x86
Просмотров 1,6 тыс.3 года назад
Operações sobre Pilha e Pilha de Execução - Arquitetura x86

Комментарии

  • @youtubevanced8227
    @youtubevanced8227 24 дня назад

    Estou fazendo uma revisão sobre x86 e essa série me ajudou bastante. Muito obrigado, Pedro. Você menciona neste video que falou em aulas anteriores sobre as instruções IN/OUT, mas eu não encontrei... Qual seria o video?

    • @botelhocpp
      @botelhocpp 24 дня назад

      Oi! Muitas aulas foram removidas do RUclips. Talvez tenha sido em uma delas...

  • @VAP92
    @VAP92 Месяц назад

    Então pelo que entendi os registradores são como pequenas máquinas que manipulam a matéria prima dados que passam por eles. Ao invés de criar uma variável na memória faço uso do que já existe no processador.

    • @botelhocpp
      @botelhocpp Месяц назад

      @@VAP92 sim. Mas quem manipula os dados é o processador, os registradores apenas mantém os dados para que sejam processados.

  • @geovaniferreira9626
    @geovaniferreira9626 3 месяца назад

    Olá prof Pedro, por algum motivo, o meu SASM não aparece a aba de REGISTRADORES. Eu verifiquei a configuração dele. Mas, eu não consegui resolver. Eu tentei no UBUNTU e no Windows.

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@geovaniferreira9626 voce precisa ir na aba "debug" e ativar a visualização de registradores. Mesmo assim as vezes buga e so aparece depois que do primeiro step do debug.

    • @geovaniferreira9626
      @geovaniferreira9626 3 месяца назад

      @@botelhocpp Eu fiz isso na aba de Settings. Na aba DEBUG, a opção encontra-se apagada, como se não tivesse acesso.

    • @geovaniferreira9626
      @geovaniferreira9626 3 месяца назад

      Além disso. Essa opção que aparece no seu: MEMORY, Variable or Expressions não aparece aqui no meu SASM. Pode ajudar por favor?

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@geovaniferreira9626 você precisa iniciar o debug para que as opções apareçam. Vc inicia o debug (clicando a seta), dps abre a aba e seleciona oq vc quet

    • @geovaniferreira9626
      @geovaniferreira9626 3 месяца назад

      @@botelhocpp Agora, eu entendi mestre. Me desculpe...eu sou iniciante nesse fabuloso mundo da programação Assembly. Muito obrigado. Eu sigo acompanhando as suas excelentes explicações.

  • @geovaniferreira9626
    @geovaniferreira9626 3 месяца назад

    Vixe Maria...esse assunto foi muito avançado. De volta para o livro aqui. As aulas estão muito bacanas. Obrigado.

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@geovaniferreira9626 obrigado! Fico feliz que esteja gostando.

  • @geovaniferreira9626
    @geovaniferreira9626 3 месяца назад

    Bom dia prof Pedro. Existe a possibilidade de converter o .bin (ou .hex) para o .asm?

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@geovaniferreira9626 sim. Pesquise por objdump!

  • @geovaniferreira9626
    @geovaniferreira9626 3 месяца назад

    Parabéns...mais uma aula rica em conhecimentos.

  • @geovaniferreira9626
    @geovaniferreira9626 3 месяца назад

    Boa tarde. Eu não sei nada de arquitetura de computador e procurando aprender sobre o assunto. Eu me deparei com essa excelente aula. Parabéns. Eu estou seguindo o fluxo das aulas porque eu estou interessado em aprender ASSEMBLY. Mais uma vez, obrigado por compartilhar a informação.

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@geovaniferreira9626 fico feliz que meus videos tenham ajudado! Caso tenha interesse também dou mentorias online. Sucesso.

    • @geovaniferreira9626
      @geovaniferreira9626 3 месяца назад

      @@botelhocpp bacana...eu estou interessado em ler o arquivo .hex (.bin) de um micro (ARM Cortex M3) e gravar em outro micro virgem.

  • @andremorinigo433
    @andremorinigo433 3 месяца назад

    vale a pena estudar ?, gosto de estudar programaçao por hobbie e minha dificuldade que vejo é sempre em 2 coisas laços de repetiçao e pensamento abstrato ou abstraçao , porem realmente tenho gosto pela coisa desde pequeno,porem muito ansioso entao quero tudo pra ontem e logo.

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@andremorinigo433 boa noite. No seu caso recomendo começar por linguagens mais simples, como C. Depois você pode ir para o Assembly.

  • @lia-000-t6n
    @lia-000-t6n 3 месяца назад

    Professor, Os números sempre terão um espaço de 4 bytes?

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@lia-000-t6n não. No x86 tem várias opções de tamanho na memória e nos registradores. Por ex, DWORD na memória são 4 bytes, mas WORD são apenas 2. Ja nos registradores, EAX são 4, e AX são 2. Existem muitas combinações possíveis.

    • @lia-000-t6n
      @lia-000-t6n 3 месяца назад

      @@botelhocpp entendi, obg :) então, eu poderia usar a diretiva word pra colocar o 30?

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@lia-000-t6n poderia. value DW 30 So tem que se atentar a faixa de valores possível de cada tamanho.

    • @lia-000-t6n
      @lia-000-t6n 3 месяца назад

      @@botelhocpp entendi, obg pela atenção :)

  • @lia-000-t6n
    @lia-000-t6n 3 месяца назад

    muito obrigada pelo conteudo professor, quase me emocionei quando entrei no drive e vi que tinha exercicios ksksks

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@lia-000-t6n Por nada. Fico feliz que tenha gostado! 🥰

  • @lincoln9521
    @lincoln9521 3 месяца назад

    Olá Pedro, há alguns anos você ministrou essa monitoria online e ensinou sobre assembly, foi um ponto de entrada fundamental pra mim entender a linguagem, não teria conseguido avançar meus estudos se não fosse por você, pude começar a estudar independente sistemas operacionais e arquitetura de computadores e posteriormente me aprofundar na área de segurança de software, sistemas e microarquitetura de processadores tudo porque você fez um excelente trabalho e acabou me ajudando bastantão :) sucesso pra você!

    • @botelhocpp
      @botelhocpp 3 месяца назад

      Fico feliz que eu tenha ajudado e participado da sua jornada! Fique de olho aí que coisas novas vão sair. Sucesso pra ti!

  • @CYTHON_CODE
    @CYTHON_CODE 3 месяца назад

    Parabéns Pedro, eu o acompanho a algum tempo e me faz ter fé na nova leva de programadores kk. Continue assim jovem.

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@CYTHON_CODE kkk obrigado cara! Fico feliz que gostou

  • @herisonmacedo8514
    @herisonmacedo8514 4 месяца назад

    Pô brother..esse teu número um tá todo escangalhado..melhora só um pouquinho aí valeu!!!

    • @botelhocpp
      @botelhocpp 4 месяца назад

      Que é isso rapaz kkk nessa epoca eu escrevia com o mouse

    • @herisonmacedo8514
      @herisonmacedo8514 4 месяца назад

      @@botelhocpp hahahaha valeu ótima aula|||

  • @xXxRV3
    @xXxRV3 4 месяца назад

    Ta sumido em doutor, otima aula como sempre. Pretende lançar um curso de assembly e C misturando os dois?

    • @botelhocpp
      @botelhocpp 4 месяца назад

      Muito obrigado! To sumido sim kkkk vai sair sim viu, to preparando um curso de C e outro de Assembly (mas com C no meio), negócio é tempo! Quando sair aviso aqui no canal.

  • @Kaique-yw5eg
    @Kaique-yw5eg 4 месяца назад

    Muito bom

    • @botelhocpp
      @botelhocpp 4 месяца назад

      Fico feliz que tenha gostado!

  • @filiperdrz
    @filiperdrz 4 месяца назад

    Pq presume-se que o valor de retorno está em EAX? Isso é uma regra? E pq no EAX e não em outro endereço?

    • @botelhocpp
      @botelhocpp 4 месяца назад

      @@filiperdrz isso faz parte da convenção de chamada de procedimento. Pesquise por System V ABI. Isso existe para padronizar todas aa chamadas e retornos de funções, de forma a permitir uma melhor comunicação entre diferentes módulos. O retorno em EAX provavelmente foi escolhido por ele ser o "registrador principal". Toda arquitetura faz essa escolha, o ARM usa o r0, o MIPS/RISC-V usa o a0, etc...

  • @sergioantonio8729
    @sergioantonio8729 4 месяца назад

    legal os vídeos, mas agora vc poderia fazer um curso de como fazer um sistema operacional básico? tipo como dar boot e fazer imagem iso

  • @edgardmacfadden2372
    @edgardmacfadden2372 4 месяца назад

    Pelo o que vi, realmente precisa usar a api do windows com algumas sutilezas de nomenclatura e com kernel32 (que talvez seja o libkernel32.a): _nomedafuncao@numeroDeBytesDaPilha gcc myprogram.o -o myprogram.exe -lkernel32 Claro, isso foi o que funcionou pra mim aqui

  • @edgardmacfadden2372
    @edgardmacfadden2372 4 месяца назад

    44:47 esse scanf foi acidentalmente confundido com printf.

    • @botelhocpp
      @botelhocpp 4 месяца назад

      Obrigado por avisar!

  • @edgardmacfadden2372
    @edgardmacfadden2372 5 месяцев назад

    Bom, descobri o porquê do Windows não estar linkando o soma.o e o main.o, aparentemente a função soma precisava um _ no começo do nome. SECTION .text GLOBAL _soma _soma: ; Código nasm -f win32 soma.asm gcc -m32 -c main.c -o main.o gcc -m32 main.o soma.o -o app.exe Aparentemente o gcc do Windows identifica as funções por meio de um _ antes do nome da função.

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      @@edgardmacfadden2372 hmm que esquisito. Não sabia dessa. Mas que bom que lhe serviu. Serve de aprendizado!

  • @EscolaCVI
    @EscolaCVI 5 месяцев назад

    Rapaz, eu sou produtor de conteúdo de ensino superior igual a você. Eu vendo seu material gratuito e excelente (muito mais inclusive do que cursos pagos), eu percebo o quanto é necessário ter esse tipo de conteúdo, mesmo que tenham poucas visualizações. Eu também acabei parando de fazer vídeos, mas vendo seu material, eu fico querendo as atualizações dos seus vídeos e sinto hoje o que o pessoal sente quando me pedem para continuar. Não pare nunca meu caro, mesmo que não tenha a visibilidade que nos valeria a pena. Eu retornarei por vossa causa e da vossa inspiração. Espero que retorne também!! Excelente conteúdo!!

  • @edgardmacfadden2372
    @edgardmacfadden2372 5 месяцев назад

    Não tô conseguindo linkar os .o do C e do Asm pq não está tendo referência pra função 'soma'

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      @@edgardmacfadden2372 no .asm voce tem que colocar a função como global e.g. GLOBAL soma e no .c você tem que definir o cabeçalho da função e.g. int soma(int, int);

    • @edgardmacfadden2372
      @edgardmacfadden2372 5 месяцев назад

      @@botelhocpp Tá assim os meus dois arquivos, só não consigo linkar com o gcc os object files deles C: #include <stdio.h> int soma(int a, int b); int main(){ int a = 1; int b = 1; printf("SOMA: %d", soma(a, b)); return 0; } ASM: SECTION .text GLOBAL soma soma: PUSH EBP MOV EBP, ESP PUSH EBX MOV EBX, [ESP + 16] MOV EAX, [ESP + 12] ADD EAX, EBX POP EBX MOV ESP, EBP POP EBP RET 8

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      @edgardmacfadden2372 qual erro ta dando? Compila assim: nasm -f elf32 soma.asm gcc -m32 -c main.c gcc -m32 main.o soma.o -o app Se não der certo tu coloca -no-pie (caso use o .data no assembly).

    • @edgardmacfadden2372
      @edgardmacfadden2372 5 месяцев назад

      @@botelhocpp undefined reference to `soma'

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      @@edgardmacfadden2372 testou os comandos que falei aí? Nao esqueça desse "-c".

  • @hiagoneco9719
    @hiagoneco9719 5 месяцев назад

    Parabéns pele ditádita professor, aulas excelentes!

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      @@hiagoneco9719 obrigado! Fico feliz que lhe ajudou

  • @edgardmacfadden2372
    @edgardmacfadden2372 5 месяцев назад

    Acho que entendi o pq do PUSH EBP e POP EBP, existe algum contexto onde o EBP tá sendo usado como ponteiro base pra outra parte da pilha com outros valores salvos (pelo menos é o que consigo pensar de momento)?

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      Sim, sim. O EBP é a base da pilha. Quando um procedimento/função é chamado, um espaço na pilha tem que ser alocado pra isso, porém a pilha do procedimento que o chamou também tem que ser salva. Portanto, a grosso modo, o PUSH EBP no inicio serve pra salvar essa pilha, e o POP EBP no final é pra restaurar essa pilha. O EBP, em resumo, é a base da pilha do procedimento corrente. Ao chamar procedimentos novos, tem que manter os antigos. Então uma "pilha de chamada" consiste de várias "molduras de pilhas", uma pra cada função!

  • @edgardmacfadden2372
    @edgardmacfadden2372 5 месяцев назад

    Só consegui compilar no windows com: gcc -m32 -nostdlib objfile.o -o exefile.exe Outras versões que testei: gcc -m32 -static -nostdlib objfile.o -o exefile.exe gcc -m32 -static -nostartfiles Não entendi porque o gcc -m32 objfile.o -o exefile.exe não tava gerando o executável, deve ter alguma opção default no gcc do windows, talvez envolvendo o -nostdlib.

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      @@edgardmacfadden2372 cara o Windows é zuado... mas tenta depois trocar a opcao nostdlib por -no-pie. Em alguns SOs mais novos desabilitando o PIE (position independent executable).

    • @edgardmacfadden2372
      @edgardmacfadden2372 5 месяцев назад

      @@botelhocpp -no-pie não funcionou

  • @Semenseco
    @Semenseco 5 месяцев назад

    Eita Pedrão

  • @edgardmacfadden2372
    @edgardmacfadden2372 5 месяцев назад

    Onde o sistema octal é usado?

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      @@edgardmacfadden2372 o padrão de permissões RWX, usado em varios sistemas, usa o sistema octal: 7 (111) refere-se a permissao ler/escrever/executar, 4 a permisão de ler (100, somente o R). Por exemplo, o comando chmod 777 do Linux, informa que todas as permissões são atribuidas. O 777 se refere ao octal 111 111 111, ou seja, todas as permissões de leitura, escrita e execução no sistema.

  • @catarinagraca9541
    @catarinagraca9541 5 месяцев назад

    Ola, estou a ver este vídeo de Portugal, está ajudar mt mas tenho uma dúvida, aqui na minha aula nós não usamos EAX mas sim AX, é igual? Creio que seja o nome dos registradores

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      Que legal! Veja as aulas mas introdutórias no canal, pode te ajudar. O AX é a versão de 16bits do EAX!

  • @vaiestudar7672
    @vaiestudar7672 6 месяцев назад

    Eu me senti meio na contramão aqui 😅😅 Diferente do padrão (um programador que quer diminuir o nivel de abstração...) eu vim de um estudo de eletrônica e hardware pra ca 😅😅😅 (no meu caso eu to aumentando o nivel de abstração)

    • @botelhocpp
      @botelhocpp 6 месяцев назад

      Ta no caminho certo! Mas recomendo entender primeiro o basico de arquitetura, entender o processador e o uso das instruções pra depois aprender Assembly. O resto é historia!

  • @xunil666
    @xunil666 6 месяцев назад

    Nunca vi uma didática tão boa

    • @botelhocpp
      @botelhocpp 6 месяцев назад

      Fico feliz que gostou cara! Sucesso 👏

  • @hackintosh9992
    @hackintosh9992 7 месяцев назад

    Olá. 👍

  • @saulo-moreira
    @saulo-moreira 7 месяцев назад

    8:18

  • @saulo-moreira
    @saulo-moreira 7 месяцев назад

    Pedrão, que aula fantástica, eu amo Javascript mas a minha lógica tava um lixo. Decidi começar do início mesmo, ótimo conteúdo!

    • @botelhocpp
      @botelhocpp 6 месяцев назад

      Obrigado amigo! Que bom que lhe ajudou. Pra melhorar a logica so fazendo exercicios mesmo cara...

  • @saulo-moreira
    @saulo-moreira 7 месяцев назад

    10:08

  • @guilhermenaves2418
    @guilhermenaves2418 7 месяцев назад

    Incrível sua capacidade de ensino, parabéns!!!

    • @botelhocpp
      @botelhocpp 7 месяцев назад

      Muito obrigado!

  • @DemianC.Moreira
    @DemianC.Moreira 7 месяцев назад

    Bom dia, gostei muito da suas explicações mas fiquei com algumas duvidas sobres a necessidade dos contadores para a interrupção. Vc teria algum curso ou apostila em alguma plataforma.

    • @botelhocpp
      @botelhocpp 7 месяцев назад

      Obrigado amigo, fico feliz que tenha lhe ajudado. Ainda não fiz nenhum curso sobre isso, mas você pode me contactar diretamente elo e-mail: pedrobotelho15@alu.ufc.br. Abraços!

  • @mautresim
    @mautresim 8 месяцев назад

    Eu não sei se isto foi falado antes (ou depois desta aula), mas o Kernel pode, por exemplo, alterar o conteúdo do registrador EAX e, com isto, inutilizar um código nosso que esteja rodando naquele exato momento e gravando ou lendo o EAX?

    • @botelhocpp
      @botelhocpp 3 месяца назад

      @@mautresim se ele alterar o EAX, ele deve o salvar antes.

  • @claytonsulivan
    @claytonsulivan 8 месяцев назад

    👋📌Qual seu Whatsapp, para Iniciar Aulas em Assembly?

    • @botelhocpp
      @botelhocpp 8 месяцев назад

      Você pode me contatar pelo email: pedrobotelho15@alu.ufc.br

  • @Jean-qk5tz
    @Jean-qk5tz 9 месяцев назад

    Incrivel cara, muito obrigado por disponibilizar esse conteudo atemporal de alta qualidade!

    • @botelhocpp
      @botelhocpp 9 месяцев назад

      Obrigado amigo! Que bom que lhe serviu.

  • @jvanartes3674
    @jvanartes3674 9 месяцев назад

    O windows usa as mesmas syscalls?

    • @botelhocpp
      @botelhocpp 9 месяцев назад

      Olá! Não, no Windows é um pouquinho mais complicado, já que tem que usar a API do Windows. Caso esteja interessado o livro do Kip Irvine explica isso. Abraços!

  • @Guilhermeabcd
    @Guilhermeabcd 9 месяцев назад

    show

  • @Guilhermeabcd
    @Guilhermeabcd 9 месяцев назад

    show

  • @caiquenas
    @caiquenas 9 месяцев назад

    obrigado

  • @bolakazinho.estudios323
    @bolakazinho.estudios323 9 месяцев назад

    melhor aula do youtube de assembly

    • @botelhocpp
      @botelhocpp 9 месяцев назад

      Obrigado meu amigo!

  • @Öyster_Boy
    @Öyster_Boy 9 месяцев назад

    Serve pra nada essa linguagem.

    • @laecyomiguel
      @laecyomiguel 8 месяцев назад

      Você que serve, né? Kkkkkkkk

  • @BabaYaga.Dev_Hacker
    @BabaYaga.Dev_Hacker 9 месяцев назад

    aulao ! 2024, to aqui eu do futuro... ! comenta aqui, quando vc vê isso no futuro , e me fala como vc esta ! <3

    • @botelhocpp
      @botelhocpp 5 месяцев назад

      @@BabaYaga.Dev_Hacker muito obrigado! To bem cara kk

    • @botelhocpp
      @botelhocpp 3 месяца назад

      Veja 1:12:47.

  • @linuxbashgnu6018
    @linuxbashgnu6018 9 месяцев назад

    Olá, estou acompanhando o curso é gostaria de saber se tem material disponível?

    • @botelhocpp
      @botelhocpp 9 месяцев назад

      Olá, a que material se refere? Os slides?

    • @linuxbashgnu6018
      @linuxbashgnu6018 9 месяцев назад

      @@botelhocpp sim e pdf se tiver. A forma de ensinar assembly com C. Gostei muito.

  • @mayconcassio
    @mayconcassio 10 месяцев назад

    Mds, que playlist maravilhosa

    • @botelhocpp
      @botelhocpp 10 месяцев назад

      Obrigado! Fico feliz que tenha gostado.

  • @jhonoliverr5
    @jhonoliverr5 10 месяцев назад

    Muito bom cara, valeuu em

  • @JoseAScherer
    @JoseAScherer 10 месяцев назад

    2024 Mandando ver nos fundamentos!

    • @botelhocpp
      @botelhocpp 10 месяцев назад

      Aproveita! Fica de olho no canal que vai sair coisa nova.