![]() |
|
|
![]()
|
|
| Tanchik0611 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 19.10.2012 Репутация: нет Всего: нет |
Помогите найти ошибку в программе и исправить её( программа должна переводить данное число в текстовую строку(в десятичной системе) и выводить его на экран).
Вот текст программы: ;include 'win32w.inc' org 100h begin: mov word ax, -127 test ax, 0x8000 jz posit mov di, 1 jmp negat negat: not ax inc ax jmp divis posit: mov di, 0 jmp divis divis: xor dx, dx inc cx mov word bx, 10 idiv word bx push dx test ax, ax jnz divis test di, di jnz sing jmp output sing: mov ah, 02h mov dl, '-' int 21h jmp output output: mov ah, 02h dec cx pop dx add dl,30h int 21h test cx, cx jnz output int 20h К сообщению прикреплён результат того, что у меня выдаёт. http://s1.ipicture.ru/uploads/20121019/7X13YSXL.jpg Это сообщение отредактировал(а) Tanchik0611 - 19.10.2012, 17:45 |
|||
|
||||
| Чупакабро |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 27.2.2007 Репутация: нет Всего: 4 |
Мне щас негде проверить, но попробуй вот так:
мне кажется, что это из-за того, что в сх не контролируется значение --------------------
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00459B8B in module 'Project1.exe'. Read of address 0000019C'. Process stopped. Use Step or Run to continue. |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |