2013 m. sausio 10 d., ketvirtadienis

7. Asemblerio pradmenys



Tikslai:
1.            Suprasti programų rengimo principus.
2.            Įgyti programų rengimo įgūdžių.
3.            Žinoti algoritmų rengimo principus.
Temos studijoms reikalingas laikas:  1,8 val.  teorijos;
10 val.  praktika;
                                    8 val. savarankiško darbo.

Programos kuriamos pagal užduoties reikalavimus.
Sudarant nesudėtingas programas, rašoma nuosekli komandų seka pagal užduoties sąlygą. Jei uždavinys sudėtingesnis, tikslinga sudaryti programos algoritmą.
Kai reikia apdoroti masyvų duomenis, rašomos ciklinės programos.
Išnagrinėkite pateiktų programų pavyzdžius:
  1. Logiškai sudėti registrų B, C ir D turinius , o gautą rezultatą įrašyti į 8600 atminties ląstelę.

Adresas
Mašininis kodas
Asemblerio komanda
Komentaras
8200

MOV A, B
; registro B turinį persiųsti į A
8201

ORA C
; logiškai pridėti C registro turinį
8202

ORA D
; logiškai pridėti D registro turinį
8203

STA 00 86
; registro A turinį nusiųsti adresu 8600
8206

RST 8
; užbaigti programos darbą
  1. Susumuoti atmintinės ląstelių 8400, 8401 ir 8402 turinius , o gautą rezultatą įrašyti į 8500 atmintinės ląstelę.


Adresas
Mašininis kodas
Asemblerio komanda
Komentaras
8200

LXI H 00 84       
; adresą 8400 nusiųsti į registrų porą HL
8203

MOV A, M   
; 8400 ląstelės turinį persiųsti į registrą A
8204

INX H  
; adresą HL poroje padidinti vienetu
8205

ADD M    
; prie A registro turinio prisumuoti 8401 ląstelės turinį
8206

INX H    
; adresą HL poroje padidinti vienetu
8207

ADD M    
; prie A registro turinio prisumuoti 8402 ląstelės turinį
8208

STA 00 85
; registro A turinį nusiųsti adresu 8500
820B

RST 8
; užbaigti programos darbą

  1. Sudaryti programą skaičių sumai rasti: sekos ilgis nurodytas ląstelėse 0040 ir 0041, seka prasideda nuo ląstelės 0042H, rezultatas ne didesnis kaip 255 ir įrašomas į ląstelę 0050H.


Adresas
Mašininis kodas
Asemblerio komanda
Komentaras
040
DUOM
EQU 0042H

041
REZ
EQU 0050H

100

XRA A
; ištrinti seną registro turinį
101

LXI H, DUOM
; siųsti sekos ilgio adresą į registrus HL
104

MOV B, M
; B registre formuoti sekos skaitiklį
105

INXH
; padidinti adresą
106
SUMD:
ADD M
; pridėti operandą
107

DCR B
; sumažinti sekos ilgį
108

JNZ SUMD
; kartoti, jei ne visa seka
10B

STA REZ
; įrašyti rezultatą
10E

END


Tam, kad gerai suprasti programiškai valdomą duomenų apdorojimą, užpildykite lentelę, nurodydami joje, kaip keičiasi programinio modelio registrų bei atmintinės ląstelių turiniai, vykdant atskiras programos komandas.  Įrašyti registrų turinius, po nurodytos komandos įvykdymo).

PC
RG  A
RG  B
RG  H
RG  L
RG   F







Atmintinė (duomenys, rezultatai)
Adresas
Ląstelės turinys



Dėmesio !
Simbolinėje programoje galima nenaudoti tikrųjų adresų. Ląstelei 40H suteikiamas simbolinis adresas DUOM. Dirbant su konkrečiu kompiuteriu ar programų derinimo stendu, pagal dokumentaciją nustatomi leistini konkretūs adresai.
Dirbant su programų derinimo stendais asembleriu parašyta programa iš karto koduojama mašininiais kodais, todėl makrokomandos nenaudojamos.
Atskirų tipų programų rengimo principai aptarti laboratorinių darbų teorinėje dalyje.

Komentarų nėra:

Rašyti komentarą

Tinklaraščio archyvas

Etiketės