Westonci.ca is the premier destination for reliable answers to your questions, provided by a community of experts. Experience the ease of finding quick and accurate answers to your questions from professionals on our platform. Experience the convenience of finding accurate answers to your questions from knowledgeable experts on our platform.
Sagot :
INCLUDE Irvine32.inc
.data
msgIntro byte "This is Your Name's fourth assembly extra credit program. Will randomly",0dh,0ah
byte "choose between three different colors for displaying twenty lines of text,",0dh,0ah
byte "each with a randomly chosen color. The color probabilities are as follows:",0dh,0ah
byte "White=30%,Blue=10%,Green=60%.",0dh,0ah,0
msgOutput byte "Text printed with one of 3 randomly chosen colors",0
.code
main PROC
;
//Intro Message
mov edx,OFFSET msgIntro ;intro message into edx
call WriteString ;display msgIntro
call Crlf ;endl
call WaitMsg ;pause message
call Clrscr ;clear screen
call Randomize ;seed the random number generator
mov edx, OFFSET msgOutput;line of text
mov ecx, 20 ;counter (lines of text)
L1:;//(Loop - Display Text 20 Times)
call setRanColor ;calls random color procedure
call SetTextColor ;calls the SetTextColor from library
call WriteString ;display line of text
call Crlf ;endl
loop L1
exit
main ENDP
;--
setRanColor PROC
;
; Selects a color with the following probabilities:
; White = 30%, Blue = 10%, Green = 60%.
; Receives: nothing
; Returns: EAX = color chosen
;--
mov eax, 10 ;range of random numbers (0-9)
call RandomRange ;EAX = Random Number
.IF eax >= 4 ;if number is 4-9 (60%)
mov eax, green ;set text green
.ELSEIF eax == 3 ;if number is 3 (10%)
mov eax, blue ;set text blue
.ELSE ;number is 0-2 (30%)
mov eax, white ;set text white
.ENDIF ;end statement
ret
setRanColor ENDP
Thanks for using our platform. We're always here to provide accurate and up-to-date answers to all your queries. We hope our answers were useful. Return anytime for more information and answers to any other questions you have. We're glad you visited Westonci.ca. Return anytime for updated answers from our knowledgeable team.