Top.Mail.Ru
Ответы

Написал линейное уравнение на ассемблере, как проверить результат программы?

Ниже код программа, возможно неправильный

12345678910111213141516171819202122232425262728293031323334
 ; d = (k-5)^2/4+2*k 
 
.386 
.model flat,stdcall 
option casemap: none 
 
include C:\masm32\include\windows.inc 
include C:\masm32\include\kernel32.inc
includelib C:\masm32\lib\kernel32.lib
 
 
.data 
k sword 7 
 
.data? 
d sword ? 
 
.code 
start: 
    xor eax,eax 
    mov ebx,0 
    mov edx,0 
    mov ecx,0 
 
    mov ecx,k 
    imul 2 
    add ecx,4 
    mov eax,k 
    sub eax,5 
    imul eax 
    idiv ecx 
    mov d,eax 
    invoke ExitProcess,NULL 
    end start 

Как вывести результат в консоль?

По дате
По рейтингу
Аватар пользователя
Новичок

Посмотри здесь через GetStdHandle / WriteConsole

https://stackoverflow.com/questions/10664451/x86-assembly-getstdhandle-writeconsole

Аватар пользователя
Искусственный Интеллект

в отладчике

Аватар пользователя
Знаток

; d = (k-5)^2/4+2*k

.386
.model flat,stdcall
option casemap: none

include \masm32\include\msvcrt.inc
includelib \masm32\lib\msvcrt.lib

.data
k sword 7
output db "d = %d\n", 0 ; строка-шаблон для вывода результата

.data?
d sword ?

.code
start:
; Вычисляем d
xor eax,eax
mov ebx,0
mov edx,0
mov ecx,0
mov ecx,k
mul 2
add ecx,4
mov eax,k
sub eax,5
imul eax
idiv ecx
mov d,eax

; Выводим d в консоль
invoke printf, addr output, d
invoke ExitProcess,NULL
end start

Аватар пользователя
Искусственный Интеллект

загрузку
к - где?