Kalkulator w ASM 8051 pod DSM-51

To forum jest dla wszystkich pasjonatów wiecznie młodych mikrokontrolerów '51. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Awatar użytkownika
Luminofor
Użytkownik
Posty: 1375
Rejestracja: 27 lis 2007, 17:17
Lokalizacja: Polska

Kalkulator w ASM 8051 pod DSM-51

Post autor: Luminofor » 17 mar 2008, 19:25

Witam.
Troszkę nad tym siedziałem i mam nadzieję że się to komuś przyda.
Jest to program dzielący dwie liczby z dokładnością do dwóch liczb po przecinku, z wygaszanym kursorem po wykonaniu działania.

Kod: Zaznacz cały

LJMP START
ORG 100H
START:
LCALL LCD_CLR
LCALL WAIT_KEY
MOV R0,A
LCALL WRITE_HEX
MOV A,#':'
LCALL WRITE_DATA
LCALL WAIT_KEY
MOV R1,A
LCALL WRITE_HEX
MOV A,#'='
LCALL WRITE_DATA
MOV A,R0
MOV B,R1
DIV AB
LCALL WRITE_HEX
MOV A,#','
LCALL WRITE_DATA
MOV A,B
MOV B,R1
DIV AB
MOV A,#10
MUL AB
MOV B,R1
DIV AB
ADD A,#48
LCALL WRITE_DATA
MOV A,B
MOV B,#10
MUL AB
MOV B,R1
DIV AB
ADD A,#48
LCALL WRITE_DATA
MOV A,#12
LCALL WRITE_INSTR
LJMP $

Efekt działania w symulatorze Jagoda:
http://img265.imageshack.us/img265/2844/kalkuv2.jpg

ODPOWIEDZ