Documente Academic
Documente Profesional
Documente Cultură
Raport
Lucrare de laborator Nr.6
Disciplina: Arhitectura calculatoarelor
Tema: Elaborare programelor în limbajul de asamblare MASM în Visual Studio
A verificat:
Chişinău 2021
SCOPUL LUCRARII:
Cunoaşterea funcţiilor puse la dispoziţia programatorului de sistemul de operare (funcţii
BIOS şi DOS) şi modul lor de utilizare în limbaj de asamblare. Se prezintă un exemplu cu privire la
folosirea terminalului.
Varianta propusă:
Să se scrie un program care desenează pe ecranul grafic un steag al unui stat la alegere. Pentru
afișare folosiți DOSBox.
.code
main PROC
mov ecx, 10
black_:
mov ax,yellow + (black * 16)
call SetTextColor
mov edx,OFFSET str1
call WriteString
call Crlf
loopnz black_
mov ecx, 10
red_:
mov ax,yellow + (red * 16)
call SetTextColor
call WriteString
call Crlf
oopnz red_
mov ecx, 10
yellow_:
mov ax,yellow + (yellow * 16)
call SetTextColor
call WriteString
call Crlf
loopnz yellow_
exit
main ENDP
END main
Fișierul -listing:
Microsoft (R) Macro Assembler Version 10.00.30319.01 11/18/15 09:14:13
lab6.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 ; M S - Wi n d o w s p r o t o t y p e s ,
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 20 20 20 20 20 albastru Byte " ",0
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
20 20 20 20 20
00
exit
00000070 main endp
END main