Operácie

ASM80 programy: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Bez shrnutí editace
Balogh (diskusia | príspevky)
Bez shrnutí editace
Riadok 61: Riadok 61:


</source>
</source>
Úlohy
# Vynulujte 5 bajtov pamäte od 030h
# Odložte do pamäte na adresu 030h až 034h hodnoty 1 až 5.
# Vymeňte obsah pamäťových miest 030h a 033h.
# Sčítajte obsah pamäťových miest 032h a 033h a výsledok uložte do 034h
# Odčítajte od 034h 031h a zapíšte späť do 034h
# Nájdite dvojkový doplnok čísla z 032h


<source lang="asm">
<source lang="asm">
</source>
</source>


[[Category:Základy počítačov]]
[[Category:Základy počítačov]]

Verzia z 21:25, 1. november 2017

Nulovanie pamäťového miesta

Intuitívne MVI A,00h ale lepšie je SUB A, ktoré je kratšie a aj nastaví príznaky. Porovnajte.

myX 	equ 0010h
          
        org 0000h
        mvi a,55h
        sta myX
        sub a		;mvi a,00h
        sta myX
        hlt


Súčet dvoch 8-bitových čísel

Prvý aj druhý sčítanec sú uložené v pamäti, výsledok chceme tiež tam. Ako vieme, že výsledok je OK?

                    CISLO     EQU 0x000D 
000D                          ORG 000DH   
000D   02 03 00               DB  02H,03H,00H
   
0000                          ORG 0000   
0000                START:    
0000   3A 0D 00               LDA  000DH   
0003   47                     MOV  B,A   
0004   3A 0E 00               LDA  000EH   
0007   80                     ADD  B   
0008   32 0F 00               STA  000FH   
000B   76                     HLT
	CISLO	EQU 0x000D 
			ORG 000DH   
			DB  02H,03H,00H
   
			ORG 0000   
START:    
			LDA  000DH   
			MOV  B,A   
			LDA  000EH   
			ADD  B   
			STA  000FH   
			HLT
                LXI H, 000Dh
                MOV A,M    ; prvy scitanec
                INX H
                ADD M      ; druhy scitanec
                INX H
                MOV M,A    ; uloz vysledok
                HLT

Úlohy

  1. Vynulujte 5 bajtov pamäte od 030h
  2. Odložte do pamäte na adresu 030h až 034h hodnoty 1 až 5.
  3. Vymeňte obsah pamäťových miest 030h a 033h.
  4. Sčítajte obsah pamäťových miest 032h a 033h a výsledok uložte do 034h
  5. Odčítajte od 034h 031h a zapíšte späť do 034h
  6. Nájdite dvojkový doplnok čísla z 032h