Ассемблер

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

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

????

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

Guest

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

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

Процедура преобразования 32-x битного числа из EDX в его ASCIIZ HEX представление, результат помещается в hex_buff
Код:
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-ти битный вариант
 
G

Guest_

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

Guest_Lamer

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

Gamer

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

????

#9
Алгоритм прост - сдвигаешь вправо 32 раза и анализируешь флаги (имхо можно разные - например чётность).
Если флаг установлен - самый младший бит - 1, нет - 0.
Если я ничего не перепутал.
Можно ещё вправо двигать и анализировать перенос...
Исходников нет, т.к. нет (t)(m)(f)asm'а
 
D
#10
Код:
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
 
G

Guest

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

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

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

Заранее спасибо.....
 
S

shtrih

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

SkunkLover

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

Guest

#14
Для: 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
 
#15
<!--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
 
S

Sertak

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

Leota

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

Leota

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

ПРОШУ,
 
G

Guest

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

Guest

#20
Для 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
 
Статус
Закрыто для дальнейших ответов.