Действия с BCD числами (ввод, деление, вывод) - Assembler
Формулировка задачи:
Всем здрасти! Помогите с составлением программы. Вот текст задачи:
задать с клавиатуры два BCD числа. Одно число двухразрядное, другое одноразрядное. Выполнить деление этих чисел(1 на 2), предусмотрев
1-Вывод приглашения к заданию чисел
2-Вывод результата на экран.
Мы застреваем на вводе, т.к. нам дали только теорию и сразу отправили на практику, ну и нифига не понимаем. Просьба помоч :3
Решение задачи: «Действия с BCD числами (ввод, деление, вывод)»
textual
Листинг программы
include io.asm Sseg segment stack db 256 dup (?) Sseg ends Dseg segment a db 2 dup (?) b db (?) c db (?) str1 db 0dh,0ah,'‚Введите а:$' str2 db 0dh,0ah,'‚Введите b:$' rez db 2 dup (?) str3 db 0dh,0ah,'Результат:$' Dseg ends Cseg segment ASSUME CS:Cseg,DS:Dseg,SS:Sseg start: MOV AX,Dseg MOV DS,AX MOV AX,0 LEA DX,str1 MOV AH,9H INT 21H MOV SI,1 INCH a[SI] SUB a[SI],30h DEC SI INCH a[SI] SUB a[SI],30h LEA DX,str2 MOV AH,9h INT 21h inch b sub b,30h MOV SI,0 MOV AH,a[SI] INC SI MOV AL,a[SI] aad DIV b MOV c,AL mov DX,offset str3 outstr mov SI,0 mov CX,2 m1:add c,30h outch c finish Cseg ENDS end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д