Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2023, 21:00   #1
123Ллла
Пользователь
 
Регистрация: 07.03.2021
Сообщений: 34
По умолчанию Flat assembler

Не могу понять в чем ошибка, flat assembler, код:



format PE GUI 4.0
use32
entry start

include 'win32a.inc'

section '.data' data readable writeable
number1 db 0
number2 db 0
result db 0

prompt1 db "Iveskite pirma skaiciu: ", 0
prompt1_len equ $ - prompt1

prompt2 db "Iveskite antra skaiciu: ", 0
prompt2_len equ $ - prompt2

section '.text' code readable executable
start:
; Isvesti pranesima i ekrana prasant pirmo skaiciaus
mov eax, 4
mov ebx, 1
mov ecx, prompt1
mov edx, prompt1_len
stdcall printf

; Ivesti pirma skaiciu
mov eax, 3
mov ebx, 0
mov ecx, number1
mov edx, 1
stdcall scanf

; Isvesti pranesima i ekrana prasant antro skaiciaus
mov eax, 4
mov ebx, 1
mov ecx, prompt2
mov edx, prompt2_len
stdcall printf

; Ivesti antra skaiciu
mov eax, 3
mov ebx, 0
mov ecx, number2
mov edx, 1
stdcall scanf

calculation:
; Isvesti suma
mov al, [number1]
add al, [number2]
mov [result], al
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 1
stdcall printf

; Isvesti skirtuma
mov al, [number1]
sub al, [number2]
mov [result], al
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 1
stdcall printf

; Isvesti sandauga
mov al, [number1]
imul al, [number2]
mov [result], al
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 1
stdcall printf

; Isvesti dalmeni
mov al, [number1]
xor ah, ah ; Isvalyti aukstesnius baitus
mov bl, [number2]
xor bh, bh ; Isvalyti aukstesnius baitus
div bl
mov [result], al
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 1
stdcall printf

; Isvesti pirmo skaiciaus inkrementavimo rezultata
mov al, [number1]
inc al
mov [result], al
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 1
stdcall printf

; Isvesti antro skaiciaus dekrementavimo rezultata
mov al, [number2]
dec al
mov [result], al
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, 1
stdcall printf

; Tikrinti ar naudotojo ivestas skaicius yra -5
cmp byte [number1], 0xFB ; -5 uzkoduotas kaip 0xFB
jne calculation ; Jei nelygu, kartoti programa

; Programos pabaiga
xor eax, eax
stdcall ExitProcess

section '.idata' import data readable writeable
library msvcrt, 'msvcrt.dll',\
kernel32, 'kernel32.dll'

include 'win32a.inc'
123Ллла вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задание с PHP and flat file. so_hard Фриланс 2 25.10.2017 13:47
Задание на Flat Assembler COLL_APSE Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 31.03.2015 23:13
ошибка в программе на flat assembler Ted_45 Помощь студентам 0 26.06.2012 09:34
обновление в блоге - DLL на Flat Assembler Pblog Обсуждение статей 0 20.05.2009 21:10
обновление в блоге - Сложение, вычитание и умножение на Flat Assembler Pblog Обсуждение статей 0 24.04.2009 20:50