Sunteți pe pagina 1din 6

Ministerul Educaiei al Republicii Moldova

Universitatea Tehnica a Moldovei


Catedra Automatica si Tehnologii Informationale

RAPORT
Disciplina: Arhitectura Calculatorului
Lucrare de laborator Nr.2
Tema: NOTIUNI DE BAZA

A efectuat :

studentul grupei TI-111 Voloceai Petru

A verificat:

lector universitar L. Peca

Chisinau 2013

Scopul lucrrii:
Se prezinta problemele principale legate de conversii de date, reprezentarea datelor intregi, reprezentarea
intregilor in format BCD, reprezentarea caracterelor si a sirurilor de caractere, reprezentarea valorilor reale,
elemente de memorie, registrele procesorului, tipuri de date utilizate si modurile de adresare a operanzilor.
Sarcina lucrarii:
1) Sa se editeze, asambleze, vizualizeze si comenteze programul:
.model small
.stack 20h
.data
alfa DW 3 DUP(?)
.code
begin: mov ax, @data
mov ds, ax ; incarca adresa de segment de date
mov ax, 17 ; adresare indirecta a operandului sursa
mov ax, 10101 b ;
mov ax, 11 b
;
mov ax, 21 o
;
mov alfa, ax
; Adresare directa a operandului destinatie
mov cx, ax
; Interschimba registrele ax si bx
mov ax, bx
; Folosind registrul cx
mov ax, cx
;
xchg ax, bx
; Interschimba direct cele 2 registre.
mov
si, 2
mov
alfa [si], ax ; Adresare relativa cu registrul si
mov
si, 2
mov
bx, offset alfa ; Adresare imediata a operandului sursa
lea
bx, alfa
; Acelasi efect
mov cx, [bx] [si] ; Adresare bazata indexata a sursei
mov cx, alfa .2 ; Adresare directa a sursei, acelasi efect
mov cx, alfa [2] ; Acelasi efect.
mov cx, [alfa+2] ; Acelasi efect
mov di, 4
mov byte ptr [bx] [di], 55h ;
mov si, 2
mov bx, 3
mov alfa [bx] [si], 33h ; Adresare bazata indexata relativa a
; destinatiei
mov alfa [bx+si], 33h ; Notatii echivalente
mov [alfa+bx+si], 33h
mov [bx] [si] . alfa, 33h
mov [bx] [si] + alfa, 33h
mov ax,4c00h
int 21h
end
begin

2) Fie n si p numarul de litere al numelui si prenumelui dumneavoastra, se cere:


a) sa se reprezinte in binar, octal si hexazecimal numerele:
- intregii npn si npn pe octet si cuvant;
- intregii BCD : npnp si - npnp;
- valorile reale : npnp . npnp si - npnp . npnp;
- pointerul npnp np
- sirul de caractere ce formeaza numele si prenumele dumneavoastra.
b) sa se scrie programul care genereaza aceste date;
c) sa se asambleze si sa se interpreteze rezultatele.
Problema 3:
Se considera trei cuvinte de memorie. Sa se introduca valoarea 0aah in octeti superiori/inferiori ai celor
trei cuvinte.
3)

Anexa (codul sursa si listingul programului)


PROBLEMA1.LST
Turbo Assembler
Version 4.1
16/03/13 14:16:26 Page 1
lab2.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

0000
0000
0000
0000 03*(????)
0006
0000 B8 0000s
0003 8E D8
0005 B8 0011
0008 B8 0015
000B B8 0003
000E B8 0011
0011 A3 0000r
0014 8B C8
0016 8B C3
0018 8B C1
001A 93
001B BE 0002
001E 89 84 0000r
0022 BE 0002
0025 BB 0000r
0028 BB 0000r
002B 8B 08
002D 8B 0E 0002r
0031 8B 0E 0002r
0035 8B 0E 0002r
0039 BF 0004
003C C6 01 55
003F BE 0002
0042 BB 0003

.model small
.stack 20h
.data
alfa DW 3 DUP(?)
.code
begin: mov ax, @data
mov ds, ax ; incarca adresa de segment de date
mov ax, 17 ; adresare indirecta a operandului sursa
mov ax, 10101b
;
mov ax, 11b
;
mov ax, 21o
;
mov alfa, ax
; Adresare directa a operandului destinatie
mov cx, ax ; Interschimba registrele ax si bx
mov ax, bx ; Folosind registrul cx
mov ax, cx ;
xchg ax, bx ; Interschimba direct cele 2 registre.
mov
si, 2
mov
alfa [si], ax ;
Adresare relativa cu registrul si
mov
si, 2
mov
bx, offset alfa ; Adresare imediata a operandului sursa
lea
bx, alfa
; Acelasi efect
mov cx, [bx] [si] ; Adresare bazata indexata a sursei
mov cx, alfa .2 ; Adresare directa a sursei, acelasi efect
mov cx, alfa [2] ; Acelasi efect.
mov cx, [alfa+2] ; Acelasi efect
mov di, 4
mov byte ptr [bx] [di], 55h ;
mov si, 2
mov bx, 3
3

30
31
32
33
34
35
36
37
38

0045 C7 80 0000r 0033

mov

alfa [bx] [si], 33h ; Adresare bazata indexata relativa a


; destinatiei
mov alfa [bx+si], 33h ; Notatii echivalente
mov [alfa+bx+si], 33h
mov [bx] [si] . alfa, 33h
mov [bx] [si] + alfa, 33h
mov ax,4c00h

004B C7 80 0000r 0033


0051 C7 80 0000r 0033
0057 C7 80 0000r 0033
005D C7 80 0000r 0033
0063 B8 4C00
0066 CD 21
int 21h
end
begin

Turbo Assembler
Symbol Table

Version 4.1

16/03/13 14:16:26

Page 2

Symbol Name

Type Value

??DATE
??FILENAME
??TIME
??VERSION
@32BIT
@CODE
@CODESIZE
@CPU
@CURSEG
@DATA
@DATASIZE
@FILENAME
@INTERFACE
@MODEL
@STACK
@WORDSIZE
ALFA
BEGIN

Text "16/03/13"
Text "lab2 "
Text "14:16:26"
Number 040A
Text 0
Text _TEXT
Text 0
Text 0101H
Text _TEXT
Text DGROUP
Text 0
Text LAB2
Text 000H
Text 2
Text DGROUP
Text 2
Word DGROUP:0000
Near _TEXT:0000

Groups & Segments

Bit Size Align Combine Class

DGROUP
STACK
_DATA
_TEXT

Group
16 0020 Para
16 0006 Word
16 0068 Word

Stack STACK
Public DATA
Public CODE

***************************************************************************************

PROBLEMA2.ASM
4

TITLE MASM PROBLEMA2

(main.asm)

; Description: definirea segmentului de date


;
; Revision date: 16.10.2013
; Numele : Voloceai - 9 litere
; Prenumele : Petru - 5 litere
.model small
.data
vlc1 DB 95, -95
DB 01011111b, -01011111b
DB 137o, -137o
DB 5Fh, -5Fh
vlc2 DW 959, -959
DW 0000001110111111b, -0000001110111111b
DW 1677o, -1677o
DW 3BFh, -3BFh
vlc3 DW 9595, -9595
DB 95h, 95h
DB 80h, 95h, 95h
DB 09h, 05h, 09h, 05h
DB 80h, 09h, 05h, 09h, 05h

;BCD impachetat
;numar negativ BCD impachetat
;BCD despachetat
;negativ BCD despachetat

vlc4 DD 9595.9595, -9595.9595


DD 011111011111110101101000b, -011111011111110101101000b
DD 7DFD68h, -7DFD68h
DD 37376550o, -37376550o
vlc5 DD max2
vlc6 DB "Voloceai Petru", 0Dh, 0AH, 0
.code
main PROC
mov ax, @data
mov ds, ax
mov ax, 4C00h
int 21h
main ENDP

;Iesire normala la
;sistemul de operare

END main
***************************************************************************************

PROBLEMA3.ASM
TITLE MASM PROBLEMA3

(main.asm)

; Description:
;
; Revision date:
.model small
.stack 10h
.data
myVar DW 3 DUP(?)
val EQU 0AAh
.code
main PROC
mov ax, @data
mov ds, ax
mov al, val
mov DB PTR myVar[1], al
mov DB PTR myVar[3], al
mov DB PTR myVar[5], al
mov ax, 4C00h
int 21h
main ENDP
END main

;Iesire normala la
;sistemul de operare

Concluzii:
n urma realizrii lucrrii de laborator nr. 2 am facut cunostinta cu reprezentarea numerelor in diferite baze si
conversia lor, am definit mai multe tipuri de date in segmentul de date, componentele CPU si moduri de
adresare.
Bibliografia:
Indicaiile metodice oferite de V. Colesnic
Assembly Language for x86 processors de Kip R. Irvine

S-ar putea să vă placă și