Operácie

ASM80 programy: Rozdiel medzi revíziami

Z SensorWiki

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 zo dňa a času 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