Dúvida sobre args - PR01

Dúvida sobre args - PR01

por Luis Hikaru -
Número de respostas: 2

Olá, estou encontrando um problema ao tentar obter o número c de colunas na linha de comando. De acordo com a apostila, ao rodar o programa com o comando

>macsim prog.mac 20 <test.txt

e usar

SUBU  $1,rSP,16

o argumento, no caso 20, deveria ser guardado no registrador $1, correto?

ao usar o comando INT  #DB0101 para checar seu conteúdo, eu acabo com

$001:  #4000000000000018

Gostaria de saber o que estou fazendo de errado,

Obrigado

Em resposta à Luis Hikaru

Re: Dúvida sobre args - PR01

por Vitor Serio -

Olá

SUBU $1, rSP, 16 armazena o endereço da pilha onde 'c' foi armazenado no resgistrador $1 (pq o valor contido em rSP é o do endereço atual do mesmo), você ainda precisa carregar o valor contido no endereço (dá pra usar o operador LDOU).

Além disso, o que é armazenado na pilha é a string '20' e não o número 20. Você também vai precisar fazer a conversão de string pra inteiro.