Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сделать программу на Ассемблере
 
 автор: гость   (21.12.2006 в 15:33)   письмо автору
 
 

Нужна помощь...
Предыстория: учусь на втором курсе в техникуме, проходим информатику, там ассемблер. Прошли его на уровне
"
mov ax,13
mov ax,bx
add ax,bx
"
С неделю назад наш преподаватель уволился и нам поставили другого, который раздал нам задание для зачета.. на наш протест о том что мы этого не проходили, сказал что это должно было быть по программе.

задача :
Ввести строчку символьных данных, задав буфер = 12 байт. Заменить в этой строчке каждый четный символ на "5". Выдать полученную строчку символов в 17-тую строку экрана, начиная с 67 позиции.

Что я понял - резервируем область памяти в 12-ть байт, в нее вводим "строчку" потом видимо с помощью цикла по очереди обрабатываем каждый символ (т.е. через один или просто перескакиваем через один символ) и наконец выводим результат, но как это сделать не представляю вообще. Может мне кто-нибуть в этом деле помочь?

   
 
 автор: cheops   (21.12.2006 в 15:44)   письмо автору
 
   для: гость   (21.12.2006 в 15:33)
 

А на чём пишете MASM, TASM?

   
 
 автор: Гость   (21.12.2006 в 15:47)   письмо автору
 
   для: cheops   (21.12.2006 в 15:44)
 

Пишем в "блокнотике" потом пропускаем через МАSM и LINK

   
 
 автор: Гость   (22.12.2006 в 10:21)   письмо автору
 
   для: Гость   (21.12.2006 в 15:47)
 

Что помочь никто не может? Тут еще и не поняно как делать, ранше мы готовую программу в AFDPRO прогоняли и смотрели что там происходит, а тут показали как должно быть - сначала вводим строку, жмем на enter и строка уже измененная появляется на экране.

   
 
 автор: Alph[p]a   (22.12.2006 в 10:51)   письмо автору
 
   для: Гость   (22.12.2006 в 10:21)
 

Assembler вообще хардкорная штука..и думаю здесь мало людей способных тебе быстро помочь..лучше купи подходящую литературу и внедряйся постепенно..

   
 
 автор: Гость   (22.12.2006 в 11:29)   письмо автору
 
   для: Alph[p]a   (22.12.2006 в 10:51)
 

Я бы с удовольствием, другое дело что у нас в понедельник экзамены... и мне нужен это зачет :(.
С удовольствием бы сам разобрался, вчера весь день в инете рылся пытаясь что-то найти, как и почему ,но половина непонятна...

   
 
 автор: Alph[p]a   (22.12.2006 в 11:51)   письмо автору
 
   для: Гость   (22.12.2006 в 11:29)
 

Я бы сказал странный у вас техникум...ассамблер изучаете..а мы всё delphi и pascal // да асм штука такая что 85 % из прочитанного я не понимаю ваще..(раньше пытался изучать не пошло..надо дорасти до него..) а его никак и неизучишь за день...даже основы целую неделю перечитывал..интересно а скоко народу из вашей группы с этим заданием справятся?
P.S Сегодня был экзамен по алгоримитизации на 5 сдал.. рассказал про ООП в pascal - е

   
 
 автор: Axxil   (22.12.2006 в 14:26)   письмо автору
 
   для: Alph[p]a   (22.12.2006 в 11:51)
 

> а его никак и неизучишь за день...
Я квантовую физику за ночь учил ;-)))
Так что нет ничего невозможного, особенно в студенческие годы :))

   
 
 автор: cheops   (22.12.2006 в 22:21)   письмо автору
 
   для: Axxil   (22.12.2006 в 14:26)
 

>Я квантовую физику за ночь учил ;-)))
Уважуха :))) Сдали надеюсь?

PS Если бы мне кто сдавали кванты и при этом бы заявл, что учил только одну ночь - убил бы! :)))

   
 
 автор: Trianon   (22.12.2006 в 22:55)   письмо автору
 
   для: cheops   (22.12.2006 в 22:21)
 

>Уважуха :))) Сдали надеюсь?
>
>- убил бы! :)))

какая полярная реакция :)))

   
 
 автор: 1999   (22.12.2006 в 15:41)   письмо автору
 
   для: Alph[p]a   (22.12.2006 в 11:51)
 

ооп в паскале))) жесть)))

   
 
 автор: Граон   (23.12.2006 в 02:16)   письмо автору
 
   для: 1999   (22.12.2006 в 15:41)
 

>ооп в паскале))) жесть)))

А что такого ?

   
 
 автор: Гость   (25.12.2006 в 11:02)   письмо автору
 
   для: Alph[p]a   (22.12.2006 в 11:51)
 

>>.интересно а скоко народу из вашей группы с этим заданием справятся?<<
насколько я знаю, пока сдал только один человек, у которого где-то хорошие знакомые :)

   
 
 автор: targa   (22.12.2006 в 12:17)   письмо автору
 
   для: Гость   (22.12.2006 в 11:29)
 

За давностью лет и отсутствием практики не могу помочь. Я ASM учил по книжке Тома Свана (Tom Swan). Там кажись и примеры были похожие на Ваш.

   
 
 автор: Гость   (25.12.2006 в 11:00)   письмо автору
 
   для: гость   (21.12.2006 в 15:33)
 

Вроде получилось, но как-то странно работает.код:

ddd    segment

NMA      LABEL     BYTE      
MAX      DB     12           
REAL    DB    ?            
BUF     DB     12 DUP('?')
MK1    DB    '5'
MK2    DB    '$'
ddd    ends
std    segment    stack
std    ends    
csc    segment
pr    proc    far
    assume    ds:ddd,cs:csc,ss:std
    push    ds
    sub    ax,ax
    push    ax
    mov    ax,ddd
    mov    ds,ax
    PUSH    DX
        
        MOV     AX,0600H 
    MOV     BH,07 
    MOV     CX,0000  
    MOV     DX,184FH   
    INT     10H     

    MOV     AH,02 
    MOV     BH,00 
    MOV     DH,01 
    MOV     DL,01     


    LEA     DX,NMA       
        MOV     AH,0AH   
        INT     21H

    mov    al,'5'
    mov    dl,'$'
    mov    cx,12
        lea    bx,buf
m1:    mov    [bx],al
        add    bx,2
    LOOP    m1
    mov    [bx],dl

    mov    ah,02
    mov    bx,00
    mov    dh,01
    mov    dl,05
    int    10h

    lea    dx,buf
    mov    ah,09
    int    21h
    
 
    ret
pr    endp
csc    ends
    end    pr    

Конец задачи звучит так : Выдать полученную строку символов в 17 строку экрана,начиная с 67 позиции.
Это задается (как я понял) в
mov ah,02
mov bx,00
mov dh,17
mov dl,05
int 10h
У меня в учебнике это прокоментированно так :
MOV AH,02 ;запрос на установку курсора
MOV BH,00 ;номер экрана
MOV DH,05 ;координаты строки
MOV DL,12 ;координаты столбца ,
Позиция это кординаты столбца или нет?

И еще - при выполнение exe-шника после вывода "результата" в начале сиди несколько непонятных символов - так и должно быть? или нет?

   
 
 автор: Гость   (25.12.2006 в 11:48)   письмо автору
 
   для: Гость   (25.12.2006 в 11:00)
 

Кстати почему программа нормально запускается только из под FAR-а?

   
 
 автор: cheops   (25.12.2006 в 12:29)   письмо автору
 
   для: Гость   (25.12.2006 в 11:48)
 

Под "нормальным" запуском что имеется в виду?

   
 
 автор: Гость   (25.12.2006 в 13:25)   письмо автору
 
   для: cheops   (25.12.2006 в 12:29)
 

ну когда я запускаю ее из винды, то строка ввода данных находится в другом месте и появляются какие-то левые символы, хотя они и так есть), но так больше)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования