[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.03.10
Prihlásený: 27.03.10
Príspevky: 2
Témy: 1 | 1
NapísalOffline : 26.03.2010 19:30 | assembler pomoc s prevodom

Cawte, potraboval by som pomoc. Jedna sa o to ze mam spravit zadanie s assembleru (ktoremu zas tak nerozumiem) tak som ho na nete vygooglil a prechadzal som si ten program postupne a snazil sa ho pochopit, ale ani za svet neviem prist nato ako mam previest to cislo ktore zistim do 10tkovej sustavy (mam to totiz odovzdat s desiatkovym vypisom) preto ak by mi dako mohol poradit...(nemusite mi to spravit iba potrebujem radu ako sa to prevadza) tak by som bol rad.. za pomoc vopred dakujem=)

Citácia:
org 1000

dcx sp ; inicializacia zasobnika (0FFFFh)

lxi h,text1
call putstr ; vypis text1

mvi b,0
mvi d,0
mvi e,0 ; vynuluj registre b,d,e

zisti:
call getchar
cpi 10
jz koniec_vstupu
cpi 13 ; bol stlaceny enter?
jz koniec_vstupu
cpi 32 ; bola stlacena medzera?
jz slovo
cpi 58 ; bolo stlacene nejake cislo? horna hranica
jnc pismeno
cpi 48 ; dolna hranica
jc zisti
inr d ; ak ano tak inkrementuj d
jmp zisti

pismeno:
cpi 91 ; bolo stlacene nejake velke pismeno? horna hranica
jnc zisti
cpi 65 ;dolna hranica
jc zisti
inr b ; ak ano tak inkrementuj b
jmp zisti

pridaj: ; e=pocet slov vyhovujucich podmienke
inr e
mvi b,0
mvi d,0 ; vynuluj registre b,d
jmp zisti

slovo:
mov a,d ; je viac velkych pismen ako cisel?
cmp b
jc pridaj ;ak ano tak skoc na pridaj
mvi b,0
mvi d,0 ; ak nie tak vynuluj registre b,d
jmp zisti

koniec_vstupu:
mov a,d ; testovanie podsledneho slova ak nebola za nim stlacena medzera
cmp b
jc increment
mvi b,0
mvi d,0 ; ak podmienka neplati, vynuluj registre b,d
jmp vypis

increment: ;inkrement ak plati ze posledne slovo vyhovuje a skoc na vypis
inr e
jmp vypis

vypis:
lxi h,text2
call putstr

mvi b,0
mvi a,0
mvi c,0
mov b,e
mov a,b
mvi c,11000000b
ana c
rlc
rlc
adi 48
out 11h
mov a,b
mvi c,00111000b
ana c
rar
rar
rar
adi 48
out 11h
mov a,b
mvi c,00000111b
ana c
adi 48
out 11h
adi '0'
call newline
hlt

include 'examples\8080\include\getline.inc'
include 'examples\8080\include\putstr.inc'
include 'examples\8080\include\getchar.inc'
include 'examples\8080\include\newline.inc'
include 'examples\8080\include\putchar.inc'

text1: db 10,13,'Vloz text: ',0
text2: db 10,13,'Pocet slov v ktorych je viac velkych pismen ako cisel v OCT: ',0
vlozeny: ds 50


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 20.10.07
Prihlásený: 27.03.10
Príspevky: 16
Témy: 4 | 4
NapísalOffline : 27.03.2010 18:42 | assembler pomoc s prevodom

No principiálne máš počet vyhovujúcich slov napr 24. Porovnáš s 10 (cpi 10), ak je menšie, vypíšeš a si zahojený.

Ak je väčšie, tak odpočítaš 10 (sui 10), a incrementuješ iný register, napr c, ktorý bude počítať desiatky.

Taže máme 14 a c=1, zase porovnáš, taže budeš mať 4 a c=2...už máš jednotky aj desiatky, teraz ich už len vypíšeš.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 26.03.10
Prihlásený: 27.03.10
Príspevky: 2
Témy: 1 | 1
Napísal autor témyOffline : 27.03.2010 19:10 | assembler pomoc s prevodom

Fu fakt dikes..konecne viem ako to spravit:) este raz vdaka


 [ Príspevkov: 3 ] 


assembler pomoc s prevodom



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

assembler uloha pomoc s prevodom...

v Backend

1

680

28.03.2009 17:39

bbeni

V tomto fóre nie sú ďalšie neprečítané témy.

ASSEMBLER i8080 POMOC

v Backend

3

936

29.03.2009 13:12

bbeni

V tomto fóre nie sú ďalšie neprečítané témy.

ASSEMBLER POMOC(URGENTNE)

v Backend

0

503

13.04.2015 19:22

Matadot

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler HDD info - pomoc

v Backend

3

1020

07.12.2007 11:17

sento

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler uloha - prosim pomoc

v Backend

2

929

28.05.2008 15:25

HT

V tomto fóre nie sú ďalšie neprečítané témy.

platba prevodom do Nemecka

v Obchody, reklamácie a právo

5

1032

09.12.2010 18:36

Xaltotun

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s prevodom HTML na entity

v Backend

4

628

19.11.2011 11:43

Han5vk

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s prevodom AND na NAND

v Ostatné

2

422

25.10.2014 16:30

EmeriX

V tomto fóre nie sú ďalšie neprečítané témy.

ako mam zaplatit fakturu , prevodom na ucet

v Obchody, reklamácie a právo

17

4263

15.11.2010 18:28

walther

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler

v Backend

0

873

31.03.2009 20:10

bbeni

V tomto fóre nie sú ďalšie neprečítané témy.

ASSEMBLER

v Backend

8

1870

13.03.2007 20:39

My-reC

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler

v Backend

0

792

01.04.2009 21:02

bbeni

V tomto fóre nie sú ďalšie neprečítané témy.

assembler

v Backend

1

1589

10.11.2006 18:14

Marco

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler úloha

v Backend

0

874

02.02.2008 7:37

HT

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler - úloha

v Backend

2

994

22.10.2007 15:04

programator

V tomto fóre nie sú ďalšie neprečítané témy.

Assembler Atmega8

v Backend

5

1265

17.10.2009 17:13

Logik



© 2005 - 2026 PCforum, edited by JanoF