» »

Motorola 6803

Motorola 6803

Andreja2 ::

V simulatorju MC 6803 moram napisati program, ki ugotovi, ali je število iz lokacije $200 palindrom. Nekaj sem že začela, imam pa nekaj težav, saj se mi niti ne sanja, kako naj to naredim. Zaenkrat sem napisala spodnje. Želim primerjati vrednosti registrov A in B, in me zanima, če uporabim ukaz "branch if not equal", kaj točno ta ukaz naredi? Kako napišem, da primerja vrednosti teh dveh registrov in kako naj napišem, da se potem, če sta vrednosti enaki, na neki lokaciji izpiše 1 in v nasprotnem primeru 0?
Če ima kdo kaj pojma o motoroli, bi mi zelo prav prišla kakšna pomoč. :)
Bi pa to rabila čim prej :)

* Program, ki ugotovi, ali je število iz lokacije $200 palindrom
org $200 ; pomnilnik s spremenljivkami
org $fffe ; reset vektor, ki kaže na začetek programa
fdb start ; pomik na lokacijo
org $2000 ; del pomnilnika s programsko kodo
sm &200 1551 ; določimo spremenljivko
sm $201 $200 ; na naslov 201 shranim spremenljivko iz
; 200, da se prvotna spremenljivka ohrani

start asl $201 ; najvišji bit gre v carry bit v statusnem registru
adca ; prištej alkumulatorju A z upoštevanjem carry bita
clc ; "clear carry" - carry bit nastavimo na 0
lsr $201 ; najnižji bit gre v carry bit v statusnem registru
adcb ; prištej akumulatorju B z upoštevanjem carry bita
cba ; primerjaj vrednosti akumulatorjev A in B, rezultat
; se ne shrani, spremeni se le vrednost statusnega
; registra
bne ; "branch if not equal"
end


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Assembler razumevanje programa

Oddelek: Programiranje
72017 (908) BivšiUser2
»

esembler-hitro

Oddelek: Programiranje
111463 (1151) aaaaa93
»

Zbirni jezik - Seštevek dveh šestnajst bitnih števil

Oddelek: Programiranje
5933 (815) boogie_xlr
»

c++ naloge

Oddelek: Programiranje
92856 (2480) l0g1t3ch
»

Programiranje v zbirniku - potrebujem pomoč

Oddelek: Programiranje
51698 (1635) St@jler

Več podobnih tem