A.Pentru crearea si editarea programelor se foloseşte programul Modulo Z3
(Start -> EV_32 Microprocessor -> Modulo Z3)
OBS. Toate programele vor fi salvate in directorul Z3, pentru ca doar acolo pot fi asamblate, link-editate.
B. Program exemplu: citirea continua a unei taste de pe tastatura placii si afisarea numarului aferent tastei pe display
Pentru a rula un program pe placa Z3, programul trebuie incarcat incepand cu adresa 0000:0800H
PAGE 70,166
;Definirea de constante utilizate in program
MEM_POS = 0800H ;adresa de inceput a programului in segment
DS_SEG = 0080H ;segmentul de date
IKEYBOARD = 08H ;intrerupere specifica placii pentru citirea de la tastatura
IDIS_BYTE = 09H ;intrerupere specifica placii pentru afisarea unui octet
IDIS_STR = 0BH ;intrerupere specifica placii pentru afisarea unui sir de caractere
;segmentul de cod
;se comunică asamblorului în ce segment trebuie căutate simbolurile
;registrul CS indica spre segmentul de cod => acolo se afla codul
;registrul DS indica tot spre segmentul de cod => tot acolo se vor declara si variabile – vezi declararea variabilei ;MSG
CODE SEGMENT
ASSUME CS:CODE, DS:CODE
ORG 0H ;codul incepe de la offsetul 0h in segmentul de cod
;inceputul programului
START:
;partea de initializare a segmentului de date !!
MOV AX,DS_SEG
MOV DS,AX ;se incarca segmentul de date
;afisarea unui sir de caractere
MOV SI,OFFSET MSG
INT IDIS_STR ;display message MSG
;bucla TLOOP in care se citeste un caracter si se afiseaza pe display
TLOOP: INT IKEYBOARD ;citire tastatura
MOV CL,13
INT IDIS_BYTE ;afisare pe display
JMP TLOOP
MSG DB 'KB, hex key: xx ',00H ;declararea unei variabile sir de caractere
CODE ENDS
END START
C.Pentru scrierea unui program plecati de la urmatorul schelet:
PAGE 70,166
;------ CONSTANTE --------------------
MEM_POS = 0800H
DS_SEG = 0080H
;----- CODE SEGMENT
CODE SEGMENT
ASSUME CS:CODE, DS:CODE
ORG 0H
START: MOV AX,DS_SEG ;initializare
MOV DS,AX ; initializare
; codul programului vostru
CODE ENDS
END START
D.Transferul unui program .ASM catre placa Z3 se poate efectua in 2 moduri:
1. Folosind programul Modulo Z3. Dupa scrierea programului se executa urmatorii pasi:
· Butonul ASM ( rezulta un fisier .obj )
· Butonul LINK ( rezulta un fisier .exe)
· Butonul BIN ( rezulta un fisier .bin)
· Butonul TX (transmisie pe seriala spre PC) – se va deschide o fereastra unde trebuie verificati parametrii de mai jos si se apasa OK:
§ Comm. Port : COM1
§ Baud Rate: 1200
§ Parity: None
§ Stop Bits: 1
§ TX File Extension: .EXE
· Se apasa tasta 6 (LD-SER) pe tastatura placii Z3 - IMEDIAT DUPA CE S-A APASAT OK IN FEREASTRA ANTERIOARA
· Asteptati pana pe placa Z3, pe afisaj va aparea mesajul Txend si un numar hexa indicand numarul de octeti receptionati.
· Apasati tasta 8 (RUN) pe tastatura placii Z3, pentru rularea codului.
2. Folosind programul Terminal (Start -> EV_32 Microprocessor -> Terminal)
Dupa scrierea programului se executa urmatorii pasi:
o Butonul ASM ( rezulta un fisier .obj )
o Butonul LINK ( rezulta un fisier .exe)
o Butonul BIN ( rezulta un fisier .bin)
o Se deschide programul Terminal (Start -> EV_32 Microprocessor -> Terminal)
o Se verifica parametrii:
§ COM Port: COM 1
§ Baud Rate: 1200
§ Data bits: 8
§ Parity: none
§ Stop bits: 1
§ Handshaking: none
· Se apasa butonul Connect
· Pe placa Z3 se apasa tasta 6 (LD-SER)
· In Terminal se apasa Send File => se deschide o fereastra de unde alegeti din directorul Z3 (de pe discul E in majoritatea cazurilor), fisierul pe care tocmai l-ati scris (editat) dar cu extensia .BIN
· Apasati butonul Disconnect (din programul Terminal)
· Verificati pe placa Z3, pe afisaj daca apare mesajul Txend si un numar hexa indicand numarul de octeti receptionati.