Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ввод 2х строк и вывод их на экран 
:(
    Опции темы
polindroma
Дата 13.12.2011, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.12.2011

Репутация: нет
Всего: нет



Не получается вывести введенные 2е строки на экран.Выводит мусор.
Цитата


vivod macro str
 push dx
 mov ah,09h
 lea dx,str
 int 21h
 pop dx
endm

kursor_ macro
  mov ah,2        ;Перейдем на другую строку.
  mov dl,0dh
  int 21h
  mov dl,0ah
  int 21h 
endm

.model small
.stack 100h
.data 
        mesg db "vvedite stroku iz 10 simvolov:$"
        Buffer db 11
        Entered db (?)
        String db 11 dup (?)
        String1 db 11 dup (?)

.code 
assume cs:@code, ds:@data, es:@data
start:
  mov ax,03;ochistka ekrana
  int 10h

  mov ax,@data
  mov ds, ax

  vivod mesg
  ; ввод
  mov dx,offset buffer ; аддрес буфера
  mov ah,0ah
  int 21h ; принимаем строку
 
  xor bx,bx       ;Запишем '$' в конце строки.
  mov bl,Entered
  mov String[bx],'$'
  
  kursor_ 
        
  vivod mesg
  ; ввод
   mov dx,offset buffer ; аддрес буфера
   mov ah,0ah
   int 21h ; принимаем строку
 
   xor bx,bx       ;Запишем '$' в конце строки.
   mov bl,Entered
   mov String1[bx],'$'

   kursor_  
  
  mov ah,09h
  lea dx,String
  add dx,2
  int 21h
 
 ; vivod String
  kursor_
  vivod String1
  
  mov ah,10h      ;
  int 16h
                
quit: 
  mov ax, 4c00h
  int 21h

end start

И как посмотреть,что находиться в самих строках.Мне с ними надо выполнять операции(я написала программу для строк,которые были прописаны в коде.А меня попросили переделать лабораторную,чтоб строки вводились с клавиатуры).
PM MAIL   Вверх
scuter
Дата 15.12.2011, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: 1
Всего: 1



ты хотя бы одну строку выведи
Код

d_str  db  'qwertyuiop'
str_len=$-d_str
cld
mov SI, d_str
mov CX, [str_len]
agn:
lodsb
mov AH, 0Eh
int 10h
loop agn

PM MAIL   Вверх
polindroma
Дата 16.12.2011, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.12.2011

Репутация: нет
Всего: нет



спасибо,но я уже разобралась.вывести одну строку было не проблемой,тем более,когда она была "забита" в программе.надо было считать 2 строки,которые пользователь вводит
Цитата

   vivod mesg;
   mov ah,0ah
   mov dx,offset parlist1 
   int 21h 
 
   xor bx,bx       
   mov bl,Entered1
   mov str1[bx],'$'
   
   lea si,str1
   kursor_
   
   vivod mesg;
   
   mov dx,offset parlist2  
   mov ah,0ah
   int 21h 
 
   xor bx,bx      
   mov bl,Entered2
   mov str2[bx],'$'

   lea di,str2

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.