Raiz Quadrada em Assembly
TRABALHO DE ENG. DE SISTEMAS MICROPROCESSADOS
Nome: Alexandre de Avila da Rocha
Canoas
2014
Este trabalho consiste em elaborar um programa em assembly capaz de extrair a raiz quadrada de um numero inteiro qualquer, entre 0 e 255 e imprimir a resposta na tela do computador e em um display LCD 16x2. O fluxograma abaixo apresenta a sequência de operações que foram implementadas:
Segue abaixo o detalhamento do programa: cr equ 0dh lf equ 0ah nul equ 00h
phex1 equ 002Eh ;print a single hex digit cout equ 0030h ;Send Acc to serial port cin equ 0032h ;Get Acc from serial port phex equ 0034h ;Print Hex value of Acc phex16 equ 0036h ;Print Hex value of DPTR pstr equ 0038h ;Print string pointed to by DPTR, must be terminated by 0 or a high bit set,pressing ESC will stop the printing
ghex equ 003Ah ;Get Hex input into Acc, Carry set if ESC has been pressed ghex16 equ 003Ch ;Get Hex input into DPTR, Carry set if ESC has been pressed esc equ 003Eh ;Check for ESC key, Carry set if ESC has been pressed upper equ 0040h ;Convert Acc to uppercase, Non-ASCII values are unchanged
autobaud equ 0042h ;Initialize serial port newline equ 0048h ;print CR/LF (13 and 10) lenstr equ 004Ah ;return the length of a string @DPTR (in R0) pint8u equ 004Dh ;print Acc at an integer, 0 to 255 pint8 equ 0050h ;print Acc at an integer, -128 to 127
pint16u equ 0053h ;print DPTR as an integer, 0 to 65535 find equ 005Fh ;find next prog header in memory cin_filter equ 0062h ;like cin, but scan for arrow keys, pgup/pgdn asc2hex equ 0065h ;convert character 0-9,A-F to number 0-15.
;----------------fim dos equ--------------------------------------
ORG 8000H