Documente Academic
Documente Profesional
Documente Cultură
Raport
Lucrare de laborator Nr. 1
la „Arhitectura Calculatoarelor”
Tema: „ Elaborarea programelor in limbajul de asamblare MASM”
Profesor:
Colesnic Victor
Chişinău 2019
SCOPUL LUCRĂRII
Lucrarea urmărește familiarizarea studenților cu regiştrii microprocesoarelor pe 16, 32 şi
64 de biți, cu mediul de dezvoltare a programelor Visual Studio. Se prezintă setările mediului
Visual Studio necesare pentru a elabora, rula şi depăna aplicaţiile elaborate în limbajul de
asamblare MASM utilizând regiştri pe 16, 32 şi 64 de biţi.
MODUL DE LUCRU
1. Se vor asambla si rula exemplele de programe prezentate obţinându se fișiere .EXE, ele se
află în Project, cu numele Project.exe;
2. Se vor obține și se vor analiza fișierele listing ale programelor Project.lst;
3. Se va rula sub Debug pas cu pas (clic F10) exemplele de programe actualizând Registers
şi Watch1 (pentru variabile).
Pentru 32 biți
Microsoft (R) Macro Assembler Version 14.16.27026.1 02/18/19 17:05:51
..\ch05\32 bit\colors.asm Page 1 - 1
INCLUDE Irvine32.inc
C ; Include file for Irvine32.lib (Irvine32.inc)
C
C ;OPTION CASEMAP:NONE ; optional: make identifiers
case-sensitive
C
C INCLUDE SmallWin.inc ; MS-Windows prototypes,
structures, and constants
C .NOLIST
C .LIST
C
C INCLUDE VirtualKeys.inc
C ; VirtualKeys.inc
C .NOLIST
C .LIST
C
C
C .NOLIST
C .LIST
C
00000000 .data
00000000 44 6F 72 65 73 Dor byte "Doresti sa devii programator?(da/nu)-[y/n]",0
74 69 20 73 61
20 64 65 76 69
69 20 70 72 6F
67 72 61 6D 61
74 6F 72 3F 28
64 61 2F 6E 75
29 2D 5B 79 2F
6E 5D 00
0000002B 0A 0D 56 65 69 Da DB 10,13,'Vei deveni!',10,13,0
20 64 65 76 65
6E 69 21 0A 0D
00
0000003B 0A 0D 56 65 69 Nu DB 10,13,'Vei deveni filosof!',0ah,0dh,0
20 64 65 76 65
6E 69 20 66 69
6C 6F 73 6F 66
21 0A 0D 00
00000053 0A 0D 45 78 65 Err BYTE 10,13,"Executati click corect !",7,0
63 75 74 61 74
69 20 63 6C 69
63 6B 20 63 6F
72 65 63 74 20
21 07 00
00000000 .code
00000000 main PROC
0000000A er:
0000000A E8 00000000 E call ReadChar
00000039 ex:
exit
00000039 6A 00 * push +000000000h
0000003B E8 00000000 E * call ExitProcess
00000040 main ENDP
END main
Microsoft (R) Macro Assembler Version 14.16.27026.1 02/18/19 17:05:51
..\ch05\32 bit\colors.asm Symbols 2 - 1
Pentru 64 biți
ExitProcess proto
00000000 .data
00000000 sum qword 0
0000000000000000
00000000 .code
00000000 main proc
00000000 48/ C7 C0 mov rax,5
00000005
00000007 48/ 83 C0 06 add rax,6
0000000B 48/ 89 05 mov sum,rax
00000000 R