The MASM Forum
Members Gallery => Showcase => Topic started by: jj2007 on May 30, 2022, 06:39:04 AM
-
include \masm32\MasmBasic\MasmBasic.inc ; download (http://masm32.com/board/index.php?topic=94.0)
Init
MovVal ST(0), Input$("\nConsumption: ", "500") ; ask e.g. for cubic metres of water
movaps xmm1, TimeSF(Input$("older date: ", fDate$(-30))) ; suggest thirty days before today
psubq TimeSF(Input$("newer date: ", fDate$())), xmm1 ; subtract from today
FpuPush TimeDiff(d)
Print Str$("%i days between the two dates\n", ST(0)) ; display difference in days
fdiv
Inkey Str$("Consumption per day: %3f units", ST(0)v) ; calculate consumption per day
EndOfCode
The strings "500", fDate$(-30) and fDate$() are suggestions and can be edited by the user with the arrow and backspace keys. The consumption can be any number, e.g. 1.5; the dates must be entered in the correct format dd.mm.yyyy - sorry, U.S. format won't work :cool:
Example:
Consumption: 500
older date: 29.01.2022
newer date: 29.05.2022
120 days between the two dates
Consumption per day: 4.17 units
Macros used: MovVal (https://www.jj2007.eu/MasmBasicQuickReference.htm#Mb1203), Input$ (https://www.jj2007.eu/MasmBasicQuickReference.htm#Mb1041)(), TimeSF (https://www.jj2007.eu/MasmBasicQuickReference.htm#Mb1328)(), fDate$() (https://www.jj2007.eu/MasmBasicQuickReference.htm#Mb1267), TimeDiff (https://www.jj2007.eu/MasmBasicQuickReference.htm#Mb1450)(), FpuPush (https://www.jj2007.eu/MasmBasicQuickReference.htm#Mb1189), Str$ (https://www.jj2007.eu/MasmBasicQuickReference.htm#Mb1186)(), Inkey (https://www.jj2007.eu/MasmBasicQuickReference.htm#Mb1109)