Я не уверен, как получить случайное число в пределах определенного диапазона в сборке x64.Большинство примеров, которые я видел в SO и в Интернете, были посвящены Linux, так что советы о том, как это сделать в Windows, будут с благодарностью!
default rel
extern printf
extern scanf
extern rand
section .rdata ;; constants
prompt: db "What is your guess? (Answer is: %d) ", 0
congrats: db "You guessed it!", 10, 0
section .data ;; mutable variables
guess: dq 0
target: dq 0 ; assumed constant, but technically not
section .text
global main
main:
stack_reserve: equ 40
sub rsp, stack_reserve
;; let's assign our random target
;; rand(num_target) % 100 + 1
lea rcx, [prompt]
call printf
add rsp, stack_reserve
ret