|
Вопрос # 5 955/ вопрос открыт / |
|
Здравствуйте, эксперты!
Есть задание и код.
Найти значение выражения: x=(d+(a/d))/b-(c/(a+b))+10=? (a=-170,b=45,c=5000,d=2)
1.Помогите исправить программу, не пойму где ошибка.
2. Режимы адресации в командах на метке m2. и почему?
(знаю что есть 12 видов адресации, основных 7. но суть вопроса не уловил)
3. Смысл команд в метке m3,m4. Что будет если команду add dl, 30h записать в виде add dl,30? (оно просто приплюсует к значению? или там все более серьёзно?)
Приложение: Переключить в обычный режим- cseg segment 'code'
- assume cs:cseg, ds:dseg, ss:sseg
- start proc far
- mov ax,dseg
- mov ds,ax
- ;------------------------------
- m1: lea dx, text1
- call WrStr
- mov dx, offset text2
- call WrStr
- ;------------------------------
- m2: mov AL, d
- cbw
- add AX, a
- mov BX, AX
- mov AX, c
- cwd
- idiv BX
- sub b, AL
- mov AX, a
- idiv d
- add AL, d
- cbw
- idiv b
- add AL, 10
- ;----------------------
- m3: mov dl, al
- add dl, 30h
- mov ah, 02h
- int 21h
- ;----------------------
- m4: mov ah, 4ch
- int 21h
- start endp
- ;----------------------
- WrStr proc near
- mov ah, 09h
- int 21h
- ret
- WrStr endp
- cseg ends
- end start
-
 |
Вопрос задал: benluka (статус: Посетитель)
Вопрос отправлен: 19 февраля 2012, 14:59
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 1; последнее сообщение — 19 февраля 2012, 19:08; участников в обсуждении: 1.
|
bugmenot (статус: 3-ий класс), 19 февраля 2012, 19:08 [#1]:
до строки 11 ошибок нет
потом мне надоело
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|