Действия с 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д