Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2012, 14:34   #1
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию Assembler вывод слова, являющегося совокупностью ASCII символов.

Пишу под Emu8086. Требуется вывести слово, являющееся савокупностью ASCII символов. Нашел в интернете код, который выводит одну строку. При попытке вывести вторую строку пишет крокозяблы. В ассемблере я дуб дубом, и особого желания лезть в низкоуровневое программирование нет. Прошу помочь.

Код:
.model tiny    
.stack 100h
   
.data      
    txt       db   'SuperStringOne'   ;string  
    txt2      db 'SuperStringTwo'
    
    ln        equ $-txt   
   ln2        equ $-txt2
    npage  db   0  
    row     db   10     ; stroka
    col      db   19    ; stolbec
   
.code      
beg:     mov  ax, @data
     mov  ds, ax   
     mov  es, ax
   
     mov  ax, 0600h     ;prokrutka ekrana vverhх
     mov  bh, 17h  
     mov  cx, 0000h     ; koodinati ichischauschego ekrana
     mov  dx, 184fh     ; do 24,79 full screen
     int     10h   
     mov  ax, 0600h     ; clear window
     mov  bh, 0 ; atribute okna
     int     10h   
     mov  ah, 13h   ;function vivod na ekran
     mov  al, 0     ; ispolzovat atribut b ne peremeschat cursor
     mov  bh, npage     ; stranica
     mov  bl, 07h   ; atribute(standart)
     mov  cx, ax ptr ln2 
     mov  cx, ax ptr ln     ;dlinna stroki   

     mov  dh, row   ; koordinati na ekrane
     mov  dl, col   ;
     lea    bp, txt2     ; adres stroki     
     int 10h
     lea bp,txt
     int    10h       
     mov  ax, 4c00h
     int     21h   
end beg
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 08.05.2012, 17:03   #2
Necare
Форумчанин
 
Аватар для Necare
 
Регистрация: 22.10.2010
Сообщений: 145
По умолчанию

Неужели нет людей, шарящих в ассемблере???
До последней точки с запятой в коде...
Necare вне форума Ответить с цитированием
Старый 09.05.2012, 12:59   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

был уверен, что за 11 дней задача разрешилась так или иначе.

Ваш код просто ужасный:
был код вывода одной строчки, вы попытались (абсолютно бездарно) добавить выдачу второй строки...

если не обращать внимание на остальные странности кода, то вторую строчку можно вывести так:
Код:
.model tiny    
.stack 100h
   
.data      
    txt       db   'SuperStringOne'   ;string  
    ln        equ $-txt   
    txt2      db 'SuperStringTwo'
    ln2        equ $-txt2
    npage  db   0  
    row1   db   10   ; stroka
    col1   db   19   ; stolbec
    row2   db   15   ; stroka
    col2   db   5    ; stolbec
   
.code      
beg:     mov  ax, @data
     mov  ds, ax   
     mov  es, ax
   
     mov  ax, 0600h     ;prokrutka ekrana vverhх
     mov  bh, 17h  
     mov  cx, 0000h     ; koodinati ichischauschego ekrana
     mov  dx, 184fh     ; do 24,79 full screen
     int     10h   
     mov  ax, 0600h     ; clear window
     mov  bh, 0 ; atribute okna
     int     10h   
     mov  ah, 13h   ;function vivod na ekran
     mov  al, 0     ; ispolzovat atribut b ne peremeschat cursor
     mov  bh, npage     ; stranica
     mov  bl, 07h   ; atribute(standart)
     mov  cx, ax ptr ln     ;dlinna stroki   
     mov  dh, row1   ; koordinati na ekrane
     mov  dl, col1   ;
     lea  bp, txt     ; adres stroki     
     int 10h
     mov  cx, ax ptr ln2     ;dlinna stroki   
     mov  dh, row2   ; koordinati na ekrane
     mov  dl, col2   ;
     lea  bp, txt2     ; adres stroki     
     int 10h
     mov  ax, 4c00h
     int     21h   
end beg
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Даны два слова. Получить третье слово из неповторяющихся символов, входящих как в первое, так и во второе слова. dlinkz Паскаль, Turbo Pascal, PascalABC.NET 8 01.02.2012 11:09
[NASM] Вывод на экран таблицы ASCII-символов Balizard Помощь студентам 0 16.05.2011 08:14
Просмотр и вывод на экран ASCII-символов. ASM-86 Dom!no Помощь студентам 0 01.11.2010 22:01
Шифрование данных ASCII кодом на Assembler Cerebrate Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 26.02.2008 13:56