Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
cR@zY

capicua assembler emu8086

Recommended Posts

cR@zY

boas pessoal tenho que resolver uma especie de capicua em assembler para concluir um dos modulos do meu curso, se me pudessem dar um ajudinha o que o professor quer é mais o menos isto

1 – Deverá o primeiro programa no início indicar a

quantidade de capicuas a tratar, ou seja, os “10” primeiros números

que podem ser lidos da direita para a esquerda e da esquerda para a

direita de forma inequívoca, sendo os números seguidamente

apresentados de forma diferenciada, linha a linha, após esta primeira

apresentação. Finalmente, indicar uma frase final para que o

utilizador pressione numa tecla para sair do programa e, assim,

realmente acontecer quando o utilizador desse modo proceder.

NOTA: Este programa deve conter todo o código a ser utilizado

sequencialmente, mesmo que implique repetição de

utilização de partes do mesmo. Ou seja, não se deve

utilizar os procedimentos. Tão pouco a utilização de

código para limpar no ecrã.

eu consegui arranjar isto mas não está a funcionar.

org 0x100

mov ax,0x0003

int 0x10

mov ax,0x0900

mov dx,txt

int 0x21

leitura:

xor ax,ax 

int 0x16

cmp al,27

je sair

cmp al,13

je executa

xor bx,bx

mov cx,ax

mov ah,0x0E

int 0x10

sub cx,48

push cx

mov [num+bx],cx

inc bx

mov cx,bx

jmp leitura

executa:

xor bx,bx

.execucao:

  xor ax,ax

  pop ax

  mov [num2+bx],al

  mov di,cx

  mov ax,[num+di]

  mov dx,[num2+bx]

  cmp dx,ax

  jne n

  inc bx

  dec cx

  test cx,cx

  jnz .execucao

  mov dx,txt3

  jmp fim

n:

mov dx,txt2

fim:

mov ax,0x0900

int 0x21

sair:

mov dx,txt4

int 0x21

int 0x20

num times 41 db 0

num2 times 41 db 0

txt db ' Digite um numero para ver se e uma capicua: $'

txt2 db 13,10,'nao e capicua$'

txt3 db 13,10,'e capicua$'

Se puderem dar uma ajudinha agradeço.

Obrigado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.