Вопрос гласит: «Так же, как можно умножать, добавляя снова и снова, можно разделить путем вычитания снова и снова. Напишите программу с процедурой, чтобы вычислить, сколько раз номер N1 переходит в другое число N2. Вам понадобится цикл и подсчитывается, сколько раз этот цикл выполняется ». Я действительно застрял на этапе вычитания. Я знаю, что мне нужно создать цикл, но я не знаю, где его разместить.Деление двух чисел на вычитание в emu8086
org 100h
.MODEL SMALL
.STACK 100H
.DATA
MSG1 DB 'FIRST > $'
MSG2 DB 'SECOND > $'
MSG3 DB 'THE SUBTRACTION OF '
VALUE1 DB ?
MSG4 DB ' AND '
VALUE2 DB ?, ' IS '
SUM DB ?,'.$'
CR DB 0DH, 0AH, '$'
.CODE
MAIN PROC
;INITIALIZE DS
MOV AX, @DATA
MOV DS, AX
;PROMPT FOR FIRST INPUT
LEA DX, MSG1
MOV AH, 9H
INT 21H
MOV AH, 1H
INT 21H
MOV VALUE1, AL
MOV BH, AL
SUB BH, '0'
;CARRIAGE RETURN FORM FEED
LEA DX, CR
MOV AH, 9H
INT 21H
;PROMPT FOR SECOND INPUT
LEA DX, MSG2
MOV AH, 9H
INT 21H
MOV AH, 1H
INT 21H
MOV VALUE2, AL
MOV BL, AL
SUB BL, '0'
SUBTRACT:
;SUB THE VALUES CONVERT TO CHARACTER AND SAVE
SUB BH, BL
ADD BH, '0'
MOV SUM, BH
;CARRIAGE RETURN FORM FEED
LEA DX, CR
MOV AH, 9H
INT 21H
;OUTPUT THE RESULT
LEA DX, MSG3
MOV AH, 9H
INT 21H
TERMINATE:
;RETURN TO DOS
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
_ "но я не знаю, где его разместить" _ Вы поместите его в том месте, где вы хотите повторить одну или несколько инструкций, пока не будет выполнено какое-либо условие. – Michael
'SUB BH, BL'' ADD BH, '0''' MOV SUM, BH' Зачем вам хранить результат __subtraction__ в переменной, подходящей для хранения результата __addition__? – Fifoernik
Даже если вы не знаете _where_, чтобы поместить его, возможно, вы знаете _how_, чтобы написать этот/любой цикл. Это побудило бы нас дать ответ, если бы вы продемонстрировали нам эти усилия. – Fifoernik