Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Disciplina: Arhitectura Calculatorului
Lucrare de laborator Nr.2
Tema: NOTIUNI DE BAZA
A efectuat :
A verificat:
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
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
mov
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
DGROUP
STACK
_DATA
_TEXT
Group
16 0020 Para
16 0006 Word
16 0068 Word
Stack STACK
Public DATA
Public CODE
***************************************************************************************
PROBLEMA2.ASM
4
(main.asm)
;BCD impachetat
;numar negativ BCD impachetat
;BCD despachetat
;negativ BCD despachetat
;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