Консультация № 64432
27.11.2006, 14:58
0.00 руб.
0 10 2
Почему не работает код? Ожидание нажатия срабатывает а надпись ‘Вы ввели y$‘ немогу получить...
Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland International

CSEG segment
assume CS:CSEG
org 100h
Start:
mov ah,10h
int 16h
cmp al,‘y‘
jz m1

int 20h

m1:
mov ax,9h
mov dx,offset str0
int 21h

str0 db ‘Вы ввели y$‘

CSEG ends
end Start

Обсуждение

Неизвестный
27.11.2006, 15:34
общий
Ну а сами-то проанализровали код?если не нажата ‘y‘, то переходите на m1, а там вывод строки И ДАЛЬШЕ КУДА? ВАША СТРОКА НАЧИНАЕТ ВЫПОЛНЯТЬСЯ КАК КОД!!! И ВСЕ ОСТАЛЬНОЕ, ЧТО ЕСТЬ В ОПЕРАТИВНОЙ ПАМЯТИ по последующим адресам!!!То есть, нет перехода назад
Неизвестный
27.11.2006, 15:49
общий
это ответ
Здравствуйте, Snik!
попробуй так
CSEG segment
assume CS:CSEG
org 100h
Start:
mov ah,10h
int 16h
cmp al,‘y‘
je m1

int 20h

m1:
mov ax,9h
mov dx,offset str0
int 21h
Int 20h
str0 db ‘Вы ввели y$‘

CSEG ends
end Start
Неизвестный
27.11.2006, 16:09
общий
Извените не доганяю! Переписал так все равно не могу добится вывода строки ‘Вы ввели y‘CSEG segmentassume CS:CSEGorg 100hStart: mov ah,10h int 16h cmp al,‘y‘ jnz m1m1: mov ax,9h mov dx,offset str0 int 21h str0 db ‘Вы ввели y$‘ int 20hCSEG endsend Start
Неизвестный
27.11.2006, 16:19
общий
Перл-Харбор спасибо за попытку но не работает
Неизвестный
27.11.2006, 18:36
общий
это ответ
Здравствуйте, Snik!
Может быть нехватает паузы после вывода строки.
Подправил сорец:

CSEG segment
assume CS:CSEG
org 100h
Start:
mov ah,10h
int 16h
cmp al,‘y‘
jz m1

fin:
int 20h

m1:
mov ax,9h
mov dx,offset str0
int 21h
mov ah,10h
int 16h
jmp fin
str0 db ‘Вы ввели y$‘

CSEG ends
end Start
Неизвестный
28.11.2006, 00:35
общий
Внимательнее пожалуйста, особенно к словам Профессора.CSEG segment assume CS:CSEG org 100h Start: mov ah,10h int 16h cmp al,‘y‘ jnz m1 m1: mov ax,9h mov dx,offset str0 <int 21h <b>int 20h</b> str0 db ‘Вы ввели y$‘ <s>int 20h</s> CSEG ends end Start
Неизвестный
28.11.2006, 00:36
общий
Сорри поторопился...CSEG segment assume CS:CSEG org 100h Start: mov ah,10h int 16h cmp al,‘y‘ jnz m1 m1: mov ax,9h mov dx,offset str0 int 21h <b>int 20h</b>str0 db ‘Вы ввели y$‘ <s>int 20h</s>CSEG ends end Start
Неизвестный
28.11.2006, 09:03
общий
Я просто в шоке как это может не работать...мне уже стыдно дальше по этому вопросу спрашиватьума не приложу...
Неизвестный
29.11.2006, 01:00
общий
Ндя.... просмотрели....<s>mov ax,9h</s><b>mov ah,9</b>mov dx,offset str0int 21hm1: ;так лучшеint 20h
Неизвестный
29.11.2006, 09:27
общий
Спасибо! Наконец то заработало
Форма ответа