Ассемблер

Тема в разделе "Другие", создана пользователем -, 21 ноя 2003.

Статус темы:
Закрыта.
  1. Гость

    Люди , помогите , мне срочно нужен исходник на Ассемблере такой проги: прога перевода числа из десятичного представления в шестнадцатеричное.
     
  2. ????

    ???? Гость

    Напиши поточнее, если еще надо. А то не понятно ты числа вводишь или они уже в памяти, если в памяти, то в каком формате - BCD, ASCII, код? После преобразования все надо поместить в стоку или как. Если хочешь что-бы помгли, надо и спрашивать по-человечески.
     
  3. Гость

    Пояснил бы поточнее входные и выходные данные ;)

    Буду надеяться, что ассемблер для x86 и что ты сам напишешь заголовок и окончание ;)

    Процедура преобразования 32-x битного числа из EDX в его ASCIIZ HEX представление, результат помещается в hex_buff
    Код (Text):
    dec2hex proc
       cld             ; очистка флага направления
       push edx         ; сохранение исходного числа
       mov di, hex_buff   ; адрес буфера для хранения результата
       mov cx,8         ; подсчет 8-ти цифр
    loop_hex:
       push cx          ; сохранение счетчика в стеке
       mov cl, 4         ; один нибл (4 бита = одна hex цифра)
       rol edx, cl        ; циклический сдвиг влево исходного числа
       mov al, dl        ; перенос цифры в AL
       and al, 15        ; очистка старшего нибла
       daa             ; корректировка AL для случая A-F
       and al, 240       ; сброс переполнения
       add al, 40h       ; перевод hex цифры в ASCII
       stosb           ; сохранение её в буфере
       pop cx          ; восстановление счетчика
       loop loop_hex     ; повтор для следующей цифры
       mov al, 0        ; завершение 0-м полученной строки
       stosb           ; сохранение AL
       pop edx         ; восстановление исходного числа
       ret             ; возврат из подпрограммы
    dec2hex endp
    Не забудь про 386 команды, они должны быть разрешены для компиляции (.386) или просто модифицируй этот вариант под 16-ти битный вариант
     
  4. Guest_

    Guest_ Гость

    Люди срочно помогите
    мне нужен исходник на ассемблере такой проги:
    Написать программу перевода кодировки из WIN в DOS и обратно, задается ключом в командной строке
     
  5. Guest_Lamer

    Guest_Lamer Гость

    Привет всем! Меня посадили за ассм, а ни БУМ-БУМ. Подскажите как вывести на экран 16 или 10-чное число. Вместо числа он мне выводит, то что в таблице ASCII под этим номером! Что делать?
    Спасибо!
     
  6. ????

    ???? Гость

    Guest_Lamer
    Исходник надо показать - поправим :)
     
  7. Gamer

    Gamer Гость

    Помогите! Нужна прога на ассемблере по подсчёту двоичных нулей в двухбайтовой переменной!! Может кто-то поделится исходниками. П-А-Ж-А-Л-А-С-Т-А!!! :lol:
     
  8. ????

    ???? Гость

    Алгоритм прост - сдвигаешь вправо 32 раза и анализируешь флаги (имхо можно разные - например чётность).
    Если флаг установлен - самый младший бит - 1, нет - 0.
    Если я ничего не перепутал.
    Можно ещё вправо двигать и анализировать перенос...
    Исходников нет, т.к. нет (t)(m)(f)asm'а
     
  9. DICO

    DICO Гость

    Код (Text):
    data  segment para public 'data'
    message db
    data  ends
    stk   segment stack
       db 256 dup ('?')  
    stk ends
    code  segment para public 'code'
    main  proc  
       assume cs:code,ds:data,ss:stk
       mov ax,data
       mov ds,ax  
       mov ah,9
       mov dx,offset message
       int 21h
       xor ax,ax  
       mov ah,1h  
       int 21h
       mov dl,al  
       sub dl,30h
       cmp dl,9h  
       jle M1
       sub dl,7h  
    M1:
       mov cl,4h  
       shl dl,cl  
       int 21h
       sub al,30h
       cmp al,9h  
       jle M2
       sub al,7h  
    M2:  
       add dl,al  
       mov ax,4c00h  
       int 21h
    main  endp
    code  ends
    end   main
     
  10. Guest

    Guest Гость

    У меня тут тема такая для курсача: вызов из Pascal-я Assm-а, передача ему в качестве параметров элементов матрицы (по ходу общая память)... В Assm-е решается система линейных уравнений методом Гаусса + возвращается результат (столбец неизвестных ) в Паскаль...

    Я уж было потерял всякую надежду, да тут решил обратиться к знающим и понимающим людям.... ;)

    ....может будут какие-нибудь идеи по этому поводу..? :)

    Заранее спасибо.....
     
  11. shtrih

    shtrih Гость

    HELP Мне нужен исходник на ассемблере- восстановление удалённого файла на дискете. Может кто сможет помочь всей программой или отдельными процедурами :). email: sht_rih@rambler.ru
     
  12. SkunkLover

    SkunkLover Гость

    Нужна помощь! У меня лаба по ассемблеру: нужно ввести позицию строки и столбца, и чтоб с этой позиции начал выводится текст. Чтото не получается организовать ввод текста никак. Может у кого есть какие нибудь материалы по этому поводу - поделитесь пожалуйста :unsure:
     
  13. Guest

    Guest Гость

    Для: SkunkLover Фигня излагаю суть: смотри прерывания - int 10h и int 21h, там в 10h прерывании есть подфункция установки курсора в положение с парметрами (строка/столбец, задается в регистры), потом после установки курсора начинаешь выводить в этом месте текст. Вот надеюсь помог, могу пример подобной проги.
    вот держи:
    .model small
    .stack 100h
    .data
    msg1 db 01,02,"Џа®Ја ¬¬г ЇЁб «Ё:",0
    msg2 db 03,04,"‹се , ћа , Ђ­¤аое , †Ґе ",0
    msg3 db 05,06,"‚лЇЁв® ЇЁў : 4«Ёва ",0
    msg4 db 70,22,"Љ®­Ґж!",0,0

    .code

    start:

    main proc
    mov ax,@data
    mov ds,ax
    mov si,offset msg1
    endp main

    mov ax,0003h
    int 10h

    m2:

    mov ah,02h
    mov dl,[si]
    inc si
    mov dh,[si]
    int 10h

    m1:

    inc si
    mov al,[si]

    push si

    inc si
    cmp al,0
    jnz m3
    add cx,1
    cmp [si+1],0
    jz m4
    jnz m2

    m3:

    pop si
    mov dl,[si]
    mov ah,2h
    int 21h

    jmp m1

    m4:
    mov ah, 0
    int 16h
    int 20h
    end start
     
  14. Vx

    Vx Гость

    <!--QuoteBegin-кавелер+21:11:2003, 22:07 -->
    <span class="vbquote">(кавелер @ 21:11:2003, 22:07 )</span><!--QuoteEBegin-->Люди , помогите , мне срочно нужен исходник на Ассемблере такой проги: прога перевода числа из десятичного представления в шестнадцатеричное.
    [snapback]2674" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Assembler для начинающих (под Windows)asm32.nm.ru
     
  15. Sertak

    Sertak Гость

    Уважаемые господа! Если кто-то может дать совет, не откажите!
    Как отловить сообщение от клиентского окна в MDI-приложении?
    От фрейма - понятно, но его почти весь закрывает клиент. От MDI-окон тоже понятно. К примеру, нажатие на клиенте в месте, где нет дочернего MDI-окна не генерирует WM_RBUTTONCLICK, и в WM_COMMAND не могу споймать? Так же и с отлавливанием клавиш.
    Клиент ведь должен посылать что-то фрейму как родительскому окну? Как это отловить?
    Помогите советом, кто может. Заранее спасибо.
     
  16. Leota

    Leota Гость

    ;) привет, ребята!
    помогите мне пожалуйста с Ассемблером!
     
  17. Leota

    Leota Гость

    у меня горит контрольная, а я в ассемблере ни бум-бум ;)
    мне нужно написать программку для решения
    Код (Text):
        4   4  3       2 2
    (A-B) – (A - 4 A B + 6 A B )
    ПРИ A=5 B=2

    ПРОШУ,
     
  18. Гость

    Помогите в решении задачи, пожалуйста!
    Нужно написать программу, которая бы выдавала список файлов из корневого каталога дискеты и потом при нажатии клавиши U сортировала бы его по размеру.
    Помогите кто чем может.ПОЖАЛУЙСТА!!! :)
     
  19. Гость

    Для Leota:
    model SMALL
    stack 100h
    dataseg
    A dw 5
    B dw 2
    X dw ?
    codeseg
    startupcode
    mov AX, A ;значение А в регистр AX
    sub AX, B ;A-B

    mov BX, A ;A в BX
    sal BX,1 ;2A в BX

    sal BX, 1 ;2AB в BX, если B=2

    add BX,A ;A+2AB
    sub AX, BX ;(A-:) - (A+2AB)
    mov X,AX
    ;Конец работы
    QUIT: exitcode 0
    End
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей