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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2016, 12:55   #1
Максим01101
Новичок
Джуниор
 
Регистрация: 24.09.2016
Сообщений: 4
Радость Помогите плиз .Что не так с программой? Не выводить результат на экран

Нада написать код программы вычисления примера f=(5x+7)/(zy+1) если x=3 y=5 z=6


.model tiny
.stack 100h
.data
asd db 10,'$'
x dw 0
y dw 0
z dw 0
f dw 0
i dw 0
p dw 0
.code
org 100h
start:
mov ax,0
mov bx,0
mov x,3
mov y,5
mov z,6
mov ax,x
mov bx,5
mul bx
mov f,ax
mov ax,7
add ax,f
mov p,ax
mov cl,6
mov bx,y
mul bx
inc bx
mov ax,p
mov ax,bx
div bx
mov ah,9
mov dx,offset asd
int 21h
ret
end start
Максим01101 вне форума Ответить с цитированием
Старый 25.09.2016, 13:17   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Я нигде не вижу, чтоб в буфер asd что-либо записывалось.
waleri вне форума Ответить с цитированием
Старый 25.09.2016, 14:12   #3
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Так тут вообще не понятно, что такое ASD: не то буфер, не то строка. (1 байт)
Чтобы вывести результат на экран, нужна отдельная функция, которая будет делать из числа строку
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 25.09.2016, 14:28   #4
Максим01101
Новичок
Джуниор
 
Регистрация: 24.09.2016
Сообщений: 4
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
Так тут вообще не понятно, что такое ASD: не то буфер, не то строка. (1 байт)
Чтобы вывести результат на экран, нужна отдельная функция, которая будет делать из числа строку
помогите напишите как должно быть пожалуйста
Максим01101 вне форума Ответить с цитированием
Старый 25.09.2016, 16:50   #5
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Максим01101, компилятор есть у тебя, пробовал собирать этот код, какую ошибку выдаёт? При таких значениях, у тебя результат будет с остатком (23/31=0.74). После деления где будет находится целое и остаток знаешь хоть? Открой какую-нить книжку, и почитай про операцию "DIV".

А просить "напишите за меня" - это не выход из положения.
Вот тебе функция вывода числа на экран, с регистра(АХ):
Код:
hex2asc:                ; Функция переводит числа в символы
   mov   bx,10          ; Вход: АХ = число, BX = система счисления
   xor   cx,cx
isDiv:
   xor   dx,dx
   div   bx
   push  dx
   inc   cx
   or    ax,ax
   jnz   isDiv
isOut:
   pop   ax
   cmp   al,9
   jle   noHex
   add   al,7
noHex:
   add   al,30h
   int   29h
   loop  isOut
ret
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что не так с программой? Kuroi Общие вопросы C/C++ 4 17.05.2015 21:20
что то не так с выводом кода. помогите плиз mishammm Помощь студентам 5 29.09.2013 22:14
что не так с программой Juli) Паскаль, Turbo Pascal, PascalABC.NET 5 04.06.2013 08:23