Я пытаюсь добавить два номера вместе, а затем напечатать resultMsg
в 4 разных цветах, как указано в colors
.Сборка: печать линии в разных цветах
Код:
INCLUDE Irvine32.inc
.data
prompt1 BYTE "Please type your first integer:", 0dh, 0ah, 0
prompt2 BYTE "Please type your second integer:", 0dh, 0ah, 0
resultMsg BYTE "The sum is ", 0
colors BYTE yellow, blue, red, green
.code
main PROC
call clrscr
call InteractiveSum
mov eax, 5000
call Delay
exit
main ENDP
InteractiveSum PROC
mov edx,OFFSET prompt1
call WriteString
call ReadInt
mov ebx,eax
call Crlf
mov edx, OFFSET prompt2
call WriteString
call ReadInt
add eax, ebx
mov edx, OFFSET resultMsg
call WriteString
call WriteInt
ret
InteractiveSum ENDP
END main
Я использую библиотеку Irvine32.inc и исследовал функцию SetTextColor. Похоже, что это было бы идеально для того, что я пытаюсь сделать здесь, но в этом примере ...
.data
str1 BYTE "Color output is easy!",0
.code
mov eax,yellow + (blue * 16)
call SetTextColor
mov edx,OFFSET str1
call WriteString
call Crlf
кажется, что цвет должен быть введен в eax
, и то, где моя сумма двух номера хранятся, поскольку они должны быть сохранены там для WriteInt
, если я прав? Есть ли для этого работа?