Начинающий
- Статус
- Оффлайн
- Регистрация
- 2 Окт 2025
- Сообщения
- 25
- Реакции
- 2
помогите кто-то плиз
x64/windows/masm
дело в том что я использую функцию GetSystemTime для вывода часа, то есть условно, щас время 15 00, должно вывести 15 в окне MessageBoxA
число которое хранит в себе регистр ax я преобразовал, все вроде бы сделал правильно, к структуре тоже обратился верно, то есть по смещению timeBuffer+8 находится вывод часа, но все равно выводит неправильное время
и цикл тоже верный
x64/windows/masm
дело в том что я использую функцию GetSystemTime для вывода часа, то есть условно, щас время 15 00, должно вывести 15 в окне MessageBoxA
число которое хранит в себе регистр ax я преобразовал, все вроде бы сделал правильно, к структуре тоже обратился верно, то есть по смещению timeBuffer+8 находится вывод часа, но все равно выводит неправильное время
и цикл тоже верный
сщву:
includelib kernel32.lib
includelib user32.lib
extrn GetSystemTime: PROC
externdef MessageBoxA:PROC
.data
timeBuffer db 16 dup(0)
fullMsg db "hour: ",0
titlesMsg db "my computer time",0
.code
main proc
sub rsp, 28h
mov rcx, offset timeBuffer
call GetSystemTime
mov ax, word ptr [timeBuffer+8]
movzx rax, ax
mov rdi, offset fullMsg + 6
mov rbx, 10
xor rcx, rcx
whileCicl:
xor rdx, rdx
div rbx
add dl, '0'
push rdx
inc rcx
test rax, rax
jnz whileCicl
mov rsi, rdi
pop_loop:
pop rax
mov [rsi], al
inc rsi
loop pop_loop
mov byte ptr [rsi], 0
xor rcx, rcx
lea rdx, fullMsg
lea r8, titlesMsg
xor r9, r9
call MessageBoxA
add rsp, 28h
ret
main endp
end