Ana Francisca Posted September 21, 2023 Posted September 21, 2023 Opa gente bacana, cá estou eu novamente quebrando cabeça com essa linguagem querida. Queria entender o por que é necessário fazer essa conversão do ascii pro decimal ou do decimal pro ascii, nessa conversão é como se eu colocasse um sistema de numeração na frente do outro, para o resultado ser produzido em decimal não em ascii? se é isso por que isso acontece, o ascii tem alguma preferência no assembly? Muitas questões... 1 Quote
Supporter - Byte Zemthos Posted September 22, 2023 Supporter - Byte Posted September 22, 2023 Boa tarde, Ana. Na realidade, o que importa é saber qual valor você quer usar (seja para carregar num registrador, para fazer um jump, para uma instrução de teste etc...). Uma vez que você tenha determinado o valor, é só uma questão de encontrar a melhor forma de inserí-lo no fonte assembler. Digamos que você queira carregar o valor 71 no registrador AX. Dá para fazer de várias formas, entre elas: mov ax, 71 # decimal mov ax, '71' # character string mov ax, 0x47 # hexa mov ax, 0q107 #octal mov ax, 01000111b # binary A lista é longa, pode ler aqui https://www.nasm.us/doc/nasmdoc3.html Qual destes formatos deve ser usado? Não existe uma regra rígida, o que às vezes é determinante é o que está sendo desenvolvido: uma rotina de tratamento de strings pode ser melhor compreendida se você colocar os caracteres ASCII, ao invés de outros formatos. A propósito, para melhorar a legibilidade do programa é uma boa prática usar a diretiva EQU: tamanho EQU 0x10 Assim, ao invés de usar um valor numa instrução emprega-se o símbolo: mov ax, tamanho 2 Quote
Ana Francisca Posted September 26, 2023 Author Posted September 26, 2023 Ah entendi agora Man, vlw pela ajuda✊ Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.