Неправильный вывод из программы - Assembler
Формулировка задачи:
Всем доброго утра. Столкнулся с проблемой которую никак не могу понять.
Имеется код программы
программа компилируется, но при выполнении выводит 258, а не 3 как должно.
Хотя программа
выводит 3 как положено.
Излазил обе программы в отладчике, но так и не смог разобраться.
Что то упускаю, но что не могу понять. Подскажите пожалуйста в чем проблема
и как ее исправить. Заранее всем спасибо.
.model small .386 .stack 100h .code start: mov ax,127 mov bx,35 qqq: sub ax,bx inc cx cmp ax,bx ja qqq xor ax,ax mov ax,cx call vyv mov ax,4c00h int 21h vyv proc xor bx,bx xor cx, cx mov bx, 10 oi2: xor dx,dx div bx push dx inc cx test ax, ax jnz oi2 mov ah, 02h oi3: pop dx add dl, '0' int 21h loop oi3 ret vyv endp end start
.model small .386 .stack 100h .code start: mov cx,3 mov ax,cx call vyv mov ax,4c00h int 21h vyv proc xor bx,bx xor cx, cx mov bx, 10 oi2: xor dx,dx div bx push dx inc cx test ax, ax jnz oi2 mov ah, 02h oi3: pop dx add dl, '0' int 21h loop oi3 ret vyv endp end start
Решение задачи: «Неправильный вывод из программы»
textual
Листинг программы
; Файл типа COM --------- AX 0000 CX 00FF DS:SI 2075:0100 CS:IP 2075:0100 BP 0000 ODITSZAPC BX 0000 DX 2075 ES:DI 2075:FFFE SS:SP 2075:FFFE FL 7202 001000000 ; Файл типа EXE --------- AX 0000 CX 00FF DS:SI 2075:0200 CS:IP 2065:0200 BP 0000 ODITSZAPC BX 0000 DX 2075 ES:DI 2075:0200 SS:SP 2C0D:0200 FL 7202 001000000
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д