Студентам с вопросами о лабораторных работах сюда

Тема в разделе "WASM.BEGINNERS", создана пользователем IceStudent, 11 ноя 2006.

  1. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Что говорит о том, что ошибка соответствует первому случаю:
     
  2. Godod

    Godod New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2010
    Сообщения:
    16
    Все равно не работает.Уже обьявил перед самим кодом и ничего.
     
  3. Godod

    Godod New Member

    Публикаций:
    0
    Регистрация:
    26 окт 2010
    Сообщения:
    16
    Надо было просто использовать не турбо паскаль, а паскаль для винды и все
     
  4. Kirow

    Kirow New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2010
    Сообщения:
    24
    Подскажите пожалуйста с помощью какой команды на ассемблере сделать очистку консоли.
     
  5. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    Kirow

    Блин, я уже жалею, что сюда не часто заглядываю. У вас тут лулзы...

    Дело в том, что не все процессоры поддерживают команду очистки консоли, поэтому придётся изворачиваться ;)
    Говорят, что можно чистить консоль вытаскивая-вставляя вилку из розетки...


    UPD
    *(ой, вилку компа, конечно, а то кто вас знает...)*
     
  6. Kirow

    Kirow New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2010
    Сообщения:
    24
    ну если ум из одного места вываливается, то мог бы и ответ написать, а не тупой стеб.
    Я не знаю как, нужен ответ. Гугл ничего полезного не ответил первыми ссылками.
     
  7. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    Kirow
    Это не тупой стёб. Вы бы задали корректно вопрос, тут, конечно, просветвлённых много, но никто из них мысли читать не умеет...
    первая же ссылка

    Небольшой квотт, хром орёт на сайт (что-то там про вирусы)... если всё нужное здесь, то туда лучше не ходите...
    Ну, как?
     
  8. Kirow

    Kirow New Member

    Публикаций:
    0
    Регистрация:
    16 окт 2010
    Сообщения:
    24
    хрень...чото похожее пробовал.

    Код (Text):
    1. system proto c :dword
    2. invoke system,SADD("cls")
    Проверил - работает.

    Проверил ваш вариант - программа зависает(следовательно ваш вариант я уже пробовал),вникать в написанное не стал, т.к. уже нашел решение.

    Спустя 10 дней....
    Представьте мое растройство когда я узнал что в масме можно писать просто
    Код (Text):
    1. cls
    а я блин себе моск насиловал несколько часов, пробуя различные способы....
     
  9. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    Kirow
    Исчо
    Код (Text):
    1.  Как очистить экран в консоли Win32?
    2.  
    3. Можно использовать функцию ScrollConsoleScreenBuffer или следующий код:
    4.   COORD c;
    5.   c.X = 0;
    6.   c.Y = 0;
    7.   CONSOLE_SCREEN_BUFFER_INFO bi;
    8.   DWORD written;
    9.   GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), bi);
    10.   FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), ' ',
    11. bi.dwSize.X*bi.dwSize.Y, c, written);
    12.   FillConsoleOutputAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED |
    13. FOREGROUND_GREEN | FOREGRUND_BLUE /*цвет*/, bi.dwSize.X*bi.dwSize.Y, c,written);
    Переписать на асм не сложно...


    Хм, ваш код это вызывание комманды cls? Прикольно...
     
  10. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Ничего прикольного. Заставить систему запустить отдельный процесс на выполнение, чтобы тот просто очистил консоль. И это все вместо вызова пары функций, которые выполнят ту же работу, но с меньшими затратами ресурсов и времени.
     
  11. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    max7C4
    Я сказал прикольно, а не юзабельно.... И ведь не спроста же... ;)

    А вообще-то, конечно, с его стороны было бы любезно сказать как и что он пишет....
     
  12. mycoding

    mycoding New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2010
    Сообщения:
    1
    Подскажите пожалуйста.

    Мне надо написать программу, чтобы не идти на экзамен.
    На 16 разрядном tasm.
    Суть программы:
    Сделать флэшку загрузочной для нет бука,
    и после загрузки 3-ем видео режиме
    позаписывать по удалять данные вводя запросы.

    Полностью задание здесь справа(jpg весит много извините)
    http://vreshenie.ru/Scan-101209-0001.jpg

    У меня книг по ассемблеру рублей на 1500, но не уверен, что смогу сделать.

    Если Вы можете, напишите пожалуйста в icq и сколько будет стоить и сколько надо времени
    icq:395712335
     
  13. xolinks

    xolinks New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2010
    Сообщения:
    9
    помогите пожалуйста не могу разобраться с простой задачей...

    "asdЫВА%-,пролджeds"

    в этой строчке надо определить количество символов латиницы и кириллицы...

    это я сделал..но при записи в файл этой строчки у меня получается что все символы кириллицы превращаются в значки не корректные для чтения а при использовании wsprintf получаются все цифры...

    сказали что проблема с кодировками..но как поменять кодировку я не знаю..в моих учебниках про нее ни слова не сказано(
     
  14. Igor1024

    Igor1024 Васил Троянов Боянов (Azis)

    Публикаций:
    0
    Регистрация:
    15 окт 2010
    Сообщения:
    345
    Адрес:
    Sliven, Bulgaria
    А пишите то юникод строку. Или конвертите (LPWSTR)?
     
  15. xolinks

    xolinks New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2010
    Сообщения:
    9
    не знаю( я не разбираюсь в кодировках

    .586
    .model flat, stdcall
    option casemap:none
    includelib kernel32.lib
    include kernel32.inc
    include windows.inc
    include user32.inc
    includelib user32.lib

    NOFDIG equ 4
    DSIZE equ 4
    BSIZE equ DSIZE*NOFDIG
    DIGSZ equ 10
    .data
    fmt db "%d", 0
    fname db "simple.txt", 0
    buffer db BSIZE dup(?)
    buf db BSIZE dup(?)
    DIG2SIM db DIGSZ dup (?)
    bfl dd ?
    bfk dd ?
    sch_k dd 0
    sch_l dd 0
    stdout dd ?
    cwritten dd ?
    cread dd ?
    cwritten2 dd ?
    cread2 dd ?
    fhandle dd ?
    fhandle2 dd ?
    stdin dd ?
    .code
    start:

    invoke GetStdHandle, STD_OUTPUT_HANDLE
    mov stdout, eax
    invoke GetStdHandle, STD_INPUT_HANDLE
    mov stdin, eax
    invoke CreateFile, ADDR fname, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0
    mov fhandle, eax
    invoke ReadConsole, stdin, ADDR buf, BSIZE, ADDR cread, 0
    invoke WriteFile, fhandle, ADDR buf, BSIZE, ADDR cwritten, 0
    invoke CloseHandle, fhandle

    invoke CreateFile, ADDR fname, GENERIC_READ+GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0
    mov fhandle2, eax
    invoke ReadFile, fhandle2, ADDR buffer, BSIZE, ADDR cread2, 0

    mov ecx,sizeof buffer
    xor esi,esi
    cycl:
    cmp buffer[esi],64
    jg pl
    jl pk
    pl: cmp buffer[esi],90
    jg pl1
    jle pl2
    pl1: cmp buffer[esi],97
    jge pl11
    jl kon
    pl11: cmp buffer[esi], 122
    jg kon
    jle pl222
    pl222:inc sch_l
    jmp kon
    pl2: inc sch_l
    jmp kon
    pk: cmp buffer[esi],-17
    jl pk1
    jg kon
    pk1: cmp buffer[esi], -128
    jg pk22
    jl kon
    pk22: inc sch_k
    jmp kon
    kon: inc esi
    loop cycl


    invoke wsprintf, ADDR bfl, ADDR fmt, sch_l
    invoke WriteConsoleA, stdout, ADDR bfl, sizeof bfl, ADDR cwritten, 0
    invoke wsprintf, ADDR bfk, ADDR fmt, sch_k
    invoke WriteConsoleA, stdout, ADDR bfk, sizeof bfk, ADDR cwritten, 0
    invoke WriteFile, fhandle2, ADDR bfl, sizeof bfl, ADDR cwritten, 0
    invoke WriteFile, fhandle2, ADDR bfk, sizeof bfk, ADDR cwritten, 0
    invoke CloseHandle, fhandle2
    invoke ExitProcess, 0
    end start

    вот код программы) по идеи в юникоде получается если через консоль ввожу строчку хотя точно не знаю но вместо кириллицы он мне выдает г©жЄ...
     
     
  16. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Не в Unicode, а в OEM
    используйте OemToCharBuff
    Код (Text):
    1. invoke OemToCharBuff, ADDR buff, ADDR buff, buff_len
     
  17. xolinks

    xolinks New Member

    Публикаций:
    0
    Регистрация:
    23 окт 2010
    Сообщения:
    9
    ..а куда ее вставлять? почему первый и второй параметр одинаковый?


    преподаватель сказал разобрать кодировки 1251 и 1252 но там ничего толкового..

    я посмотрел свою программу... если к символам кириллицы прибавлять 15 тогда он их правильно записывает... сейчас у меня в место "р" записывается "а"... а в место символа "а" что не понятное..
     
  18. Igor1024

    Igor1024 Васил Троянов Боянов (Azis)

    Публикаций:
    0
    Регистрация:
    15 окт 2010
    Сообщения:
    345
    Адрес:
    Sliven, Bulgaria
    MSDN на что? Лезте туда, смотрите параметры.
     
  19. bizzycv

    bizzycv New Member

    Публикаций:
    0
    Регистрация:
    20 дек 2010
    Сообщения:
    1
    Народ, нид хелп. Надо сделать две лабораторные в TASM'e.
    Кто может - помогите. Заранее спасибо.


    Лабораторна №1
    Разработать программу вычисления выражения
    f=a-b*((c+d/a+(b+c)*d+a)%b)-c-d,
    где: a=60d, b=71d, c=51h, d=-19h


    Лабораторная №2
    Разработать программу вычисления выражения по введенным с клавыатуры значениями
    x*y+(x+y^2+3)/x^2+5, где x,y - целые.
     
  20. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    bizzycv
    И в чем проблема? лабораторная 1:

    Код (Text):
    1. ...
    2. .data
    3. a dd 60.0f
    4. b dd 71.0f
    5. c dd 51h
    6. d dd -19h
    7. ...
    8. .code
    9. fld b
    10. fiadd c
    11. fimul d
    12. fild d
    13. fdiv a
    14. fadd st(1)
    15. fiadd c
    16. fadd a
    17. fdiv b
    18. frndint
    19. fiadd c
    20. fiadd d
    21. fsubr a
    22. ...
    и если я нигде не накосячил, то так оно и сработает. Логика простая: в начале каждой команды пишешь 'f', потом если операнд целое (в твоем случае с и d) - то 'i', потом что сделать (add-div-mul-sub и т.д.). Потом операнд. Чтения мат-части максимум на полчаса. Самое приятное, что не стоит задача ВЫВЕСТИ результат, а только ВЫЧИСЛИТЬ - так что приведенный код практически 90% от задания, хотя проверку на ошибки я бы сделал - утро, непроснувшийся я, FPU - могут быть стра-ашные косяки %)