Search the Community
Showing results for tags 'assembly'.
-
Ola ppl... gostaria de pedir a vossa ajuda... foi-me proposto apresentar um pequeno programa em assembly, a formula resolvente de equações de 2º grau, uma coisa simples sem menus... gostaria que alguem me ajudasse pois nao sei programar em assembly! Se alguem me podesse arranjar o codigo fonte ou dar 1s dicas era mto fixe... ou entao outra formula qualquer, que calcule uma area ou um volume de um solido... Obrigado a todos...
-
Acabei de escrever um teste de primalidade, implementado da maneira "ingenua", com umas pequenas optimizaçoes. O codigo em si e' em assembly, mas esta "embebido" em C (caso contrario teria pouca utilidade pratica). E' bastante rápido (não fosse escrito em assembly), quando o objectivo e' apenas saber se uma quantidade (+/-) pequena de numeros são primos. Da' tambem para ter uma ideia de como se pode optimizar algumas funcoes de C usando assembly. #include <stdbool.h> #include <math.h> bool prime(int n) { bool r; int sqrt_n; if (n == 2) return true; if (n < 2 || !(
-
Ola eu fiz uma calculadora para um trabalho da escola ela esta a funcionar so que eu não sei explicar da melhor maneira cada uma das linhas de código se alguem puder ajudar me a decifrar em "portugues" lool o que cada linha faz era muito bom!! ;------------------------------------------- Menu - Mostra a opções que irao ser nostradas ------------------------------------------------------------------; data segment texto db 0dh,' Sistema de calculo unitario |' mens db 0ah,0dh,'Seja bem vindo a calculadora |' menu db ,0ah,0ah,0dh, '--------------------
-
Bom galera estou fazendo um trabalho em C , é um simulador de CPU extremamente básica e não preciso explicar nada sobre ela a não ser o seguinte. Opera em 8 bits --> Números Positivos = 0x00 até 0x7F --> Números Negativos = 0x80 até 0xFF --> 2 registradores , e duas memórias de 256bytes. A razão pelo qual posto aqui o que deveria postar em C é por que se trata de dúvida quanta a FLAGS, essa CPU possui ZeroFlag , NegativeFlag , OverflowFLAG , CarryFlag. Então me deparei com o seguinte problema Se R0 = 0x01 e R1 = 0x7F --> R0 = R0 + R1 --> 0x80 Então ZeroFlag = 0 , CarryF
-
Olá, estou precisando de ajuda em assembly, eu devo receber uma expressão em notação polonesa inversa e calcula-la Usando read_char eu leio um caracter e read_int um inteiro ..... creio que devo usar read_char, mas como transformar o numero para inteiro?? Eu queria por exemplo receber uma expressao --> 10 20 5, e guardar cada um desses numeros na pilha sendo o numero 5 o ultimo armazenado, alguem me da uma luz???(Os numeros sao separados por espaços, e a expressao termina quando encontra um enter)
-
bem as duvidas sao as seguintes nao tem muito a ver com a parte de programacao mas como funciona o assembly 8086: O enderenco da memoria onde esta localizado a proxima instrucao a ser executada no x86(8086) é apontada por? CS-code segment; IP-instruction pointer; pela soma de IP com o CS; ou nao é nenhum destes referidos atras; O mecanismo de interrupcoes dox86(8086) permite atender perifericos porque quando acontecem? sao executadas rotinas de software armazenadas em posicoes de memoria previamente definidas; as instrucoes sao suspensas a meio do ciclo fetch; o CPU fica parado; a me
-
Boas. Não há por aqui alguém que conheça um bom tutorial sobre assembly MARIE??? cumps. ARNeiva :notworthy:
-
Boas, Este é o meu 1º post no forum. E estou a precisar da vossa ajuda. Ando a aprender assembly e basicamente tenho um trabalho para ser entregue em que consiste em ir a um ficheiro de texto buscar 2 operandos e os operadores, fazer o calculo e depois escrever esse resultado no mesmo ficheiro. Por exemplo: No ficheiro: 23 15 + Resultado escrito no final desse ficheiro: 38 Os calculos são feitos em hexadecimal. Tenho visto alguns códigos na net e tenho andado a tentar aprender e gostaria que me exclarececem algumas duvidas: 1) branco db 0xA Isto é uma varíavel do chamado branco d
-
Boas preciso de saber fazer a multiplicaçao em assembly para 8086 ...vi isto num site 1º Se eu kiser por exmplo subtrair um grande valor a a minha ultima multiplicaçao como fa-so se tenho dados em DX e dados em AX ? 2º outra questao, ao fazer MUL X ... vai multiplicar X por kual registo AL DX ?? 3º quando é que devemos utilizar uma stack ? [[]]
-
Será que alguem podia dar uma ajuda para realizar um trabalho no Marie Simulator, converter um certo codigo em c para Marie...? Estou com algumas duvidas como realizar um ciclo for... Sem Mais assunto Espero a vossa resposta o mais rapido possivel...
-
Ora viva pessoal, alguem me pode ilucidar, como troco dados em assembler pela porta rs232 ? que comandos usar para levar os dados a sair por aquela porta? todas ajudas, e alguma dica seriam muito uteis, na realização de um trabalho que ando a desenvolver para a cadeira de arquitectura de computadores 2. Obrigado
-
Boas Estava a tentar comparar dois numeros em assembly, ou melhor estava a tentar comparar uma entrada do teclado com uma variavl previamente declarada. Estou actualmente a usar o compilador nasm em linux, o codigo e o seguinte: section .data char1:dw '7',10,0 ; e a variavel declarada section .bss buf resw 1 buf_tam resb 6 section .text global main; mov ecx,[char1] cmp ecx,[buf] je sair ;funcao sair jne readfile ;invca funcao readfile input: mov eax,3 mov ebx,0 mov ecx, buf mov edx, buf_tam int 80h ret So que isto n
-
Bom Dia Estou a fazer um trabalho em asm em que tenho que fazer o codigo para fazer o contraste e o brilho de uma imagem. Ja fiz o codigo todo, mas da me erro nas seguintes linhas: mov dl, byte ptr [edi+ecx] //pdest[y][x] = (Byte) cor mov byte ptr [edi+ecx], al mov byte ptr [edi+ecx], bl Penso que tera a ver com o facto de o al nao suportar numeros superiores a 255, sera isso? Atenciosamente Wolverine 😳
-
Alguem sabe como converter em NASM assembly um valor numa var dword de hexadecimal para decimal? por ex tenho o valor 00 00 01 FEh numa dword e quero converter este valor para decimal que é 510...
-
Boas! Estou com alguns problemas em colocar a funcionar um programazito que calcula o factorial de um determinado numero e agradecia se alguém me pudesse ajudar...Eis o código: ... numero db 5 factorial db ? ... mov ax,dados mov ds,ax mov ax,b800h mov es,ax mov dl,numero xor ax,ax mov al,numero mov cx,ax ciclo: dec dl mov al,factorial mul dl mov factorial,al loop ciclo mov dl,factorial mov bx,0000h mov byte ptr es:[bx],dl mov ah,4ch int 21h ...
-
Boas tardes! Estou com alguns problemas em usar a função 2ch da interrupção 21h.Pretendo guardr as horas e minutos e segundos do sistema num array mas cada vez que guardo aparacem-me guardados outros caracteres em vez de numeros que correspondessem ás horas e segundos!Será que é preciso fazer algum tipo de conversão? Obrigada desde já pela ajuda!
-
Boas pessoal, tou a fazer um projecto para a faculdade em assembly e a dada altura deparei-me com a necessidade de implementar uma função random que gerasse um numero inteiro entre 1 e 4, só que não sei por onde lhe pegar... Fiz alguma pesquisa e o maximo que encontrei em relação a randoms foi um programa que gera um inteiro qualquer de 16 bits. Será que alguem me pode dar uma ajuda a modificar o codigo para gerar apenas os numeros que pretendo? O código do programa que encontrei é o seguinte: http://clientes.netvisao.pt/neotoze/rand.asm http://clientes.netvisao.pt/neotoze/rand.zip Obrigado
-
Boas ... tenho o seguinte excerto de codigo em C struct { unsigned char r; unsigned char g; unsigned char b; } img[4][3]; como é que se mete uma struct em assembly 😳 e já agora tb um unsigned cumps...
-
Boas pessoal, estou a dar Assembly numa cadeira da universidade...E queria fazer o equivalente a um ciclo Switch do C...Mas na sebenta explica mt mal, eles usam a instrução JR, não percebo porquê... Alguem me pode ajudar? um tutorial, ou dar um exemplo de um ciclo case? Obrigado antes de mais...
-
Este e o codigo que envolve o coprocessador matematico ( acho) e obviamente nao funciona e gostava de saber se alguem me podia ajudar. finit ;Inicia o coprocessador matematico fild valr ;Puxa o valor da raio para os registos internos do coprocessador "st(0)" fild vala ;Puxa o valor da altura para os registos internos do coprocessador "st(1)" fild 4 ; st(2) - > 2 fild 2 ;st(3) -> 4 fild 3.14 ; st(4) -> 3,14 fmul st(0), st(2) ; Executa a multiplicação por 4 - raio*4 wait
-
Ola ppl... foi-me proposto fazer em assembly a formula resolvente de equações de 2º grau, sem menus o modo mais simples, mas como nao sei nada de nada de assembly estou entalado... gostaria que alguem me ajudasse, me fornecesse o codigo fonte ou me desse 1s dicas! Caso tenha outros programitas ja feitos como formulas de volumes ou areas... ficaria agradecido se mos mandassem! Obrigado...
-
oi, tou a tenar fazer o jogo do galo em assembly 8086? por caso ninguem o fez em assembly; tou a me ver á rasca 😡 thnaks
-
ola people! preciso de ajuda. tenho um trabalho pra entregar em que pretende-se a implementação de uma calculadora baseada no processador 8031, utilizando como entrada de dados o teclado do kit e saída de resultados o LCD que também faz parte do Kit. A calculadora terá o seguinte comportamento: 1. Escolha da operação a ser calculada. Existem quatro operações possíveis: Adição, Subtracção, Multiplicação e Divisão. Cada operação tem um código associado: • 1 – ADICAO, • 2 – SUBTRACCAO, • 3 – MULTIPLICACAO,