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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2011, 21:57   #1
Banderas123
Пользователь
 
Регистрация: 05.12.2009
Сообщений: 14
По умолчанию Арифметические операции Assembler

Помогите пожалуйста решить. Пример простой, и даже работает, но только если числа типа word.
Пример: (A-B)/K+(D+E)/K2
Код:
model small
.stack 100h
.data
	zero db "0",10,13,"$"
	minus db "-$"
	digits db "00000",10,13,"$"
	A dw 40
	B dw 2
	D dw 6
	E dw 10
	K db 16
	K2 db 8
.code
	mov ax,@data
	mov ds,ax
	
	mov ax,A
	sub ax,B
	div K
	mov A,ax
	
	mov ax,D
	add ax,E
	div K2
	add ax,A
	mov bx,ax
	
	;код вывода
	cmp bx,0
	jne mm1
	mov ah,9
	lea dx,zero
	int 21h
	jmp exit
	
	mm1:
	cmp bx,0
	jg mm2
	mov ah,9
	lea dx,minus
	int 21h
	neg bx
	
	mm2:
	mov cx,5
	mov si,4
	mov ax,bx
	mov bl,10
	
	mm3:
	div bl
	add ah,48
	mov digits[si],ah
	dec si
	cmp ah,48
	je mm4
	lea dx,digits[si+1]
	
	mm4:
	cbw
	loop mm3
	mov ah,9
	int 21h
	
	exit:
	mov ax, 4C00h
	int 21h
end
Banderas123 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Арифметические операции Assembler aly-lucenko Помощь студентам 2 25.05.2011 11:06
Арифметические операции!!( исправить ) Jereme Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 23.01.2010 11:46
Арифметические операции Ассемблер BAV Помощь студентам 9 05.03.2008 00:21