Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Нужна срочно помощь по ASM !!!!!

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> Нужна срочно помощь по ASM !!!!!
Имя
Сообщение << Старые топики   Новые топики >>
Нужна срочно помощь по ASM !!!!! - 2008-12-15 10:38:23.326666   
Deni1

Сообщений: 9
Оценки: 0
Присоединился: 2008-12-15 10:29:28.656666
Народ, кто понимает asm, помогите сконтрольной работой. вот задание:
1.Описать переменную D размером в двойное слово с начальным значением 2 в степени 16.
2.Пусть D1, D2 и N — байтовые переменные. Считая, что значения D1 и D2 — это
символы-цифры (от «0» до «9»), записать в N число, десятичная запись которого
составлена из этих цифр (D1 — левая цифра).
3.В регистре BL находится число от 0 до 15. Записать в BL код соответствующей
шестнадцатеричной цифры как символа (в качестве «буквенных» цифр исполь-
зовать большие латинские буквы от 'A' до 'F').
Срочно надо, в никать сам нехачу, потому что у меня совсем другая специализация…
Post #: 1
RE: Нужна срочно помощь по ASM !!!!! - 2008-12-18 23:00:39.700000   
MiXALbI4

Сообщений: 20
Оценки: 0
Присоединился: 2008-01-28 03:13:01.290000
блин, я бы с удовольствием, но мне самому на завтра надо сделать 3 лабы на асме… конец семестра уже, я и так еле успеваю :-)


Post #: 2
RE: Нужна срочно помощь по ASM !!!!! - 2008-12-19 07:19:55.713333   
kolPeeX

Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
1)

d: db 10000000000000000b ;шестнадцать нулей

2)
mov eax,[d1]
sub eax,30h ;30h, насколько я помню - '0'. Если нет - поправь.
mov ebx,0Ah
mul ebx
mov ebx,[d2]
sub ebx,30h
add eax,ebx
mov N,eax

3)
;вариант 1 (более краткий и красивый)
hex db '0123456789ABCDEF'
mov bl,[hex+bl]

;вариант 2
cmp bl,0Ah
jge _a
add bl,030h
jmp end
_a:
and bl,7
add bl,041h
end:
Post #: 3
RE: Нужна срочно помощь по ASM !!!!! - 2008-12-21 12:10:02.300000   
AchtungPartizanen

Сообщений: 38
Оценки: 0
Присоединился: 2007-10-25 20:54:58.030000
quote:

ORIGINAL: kolPeeX

1)
d: db 10000000000000000b ;шестнадцать нулей

Нифига. Двойное слово - это dd, а не db

quote:

ORIGINAL: kolPeeX
2)
mov eax,[d1]
sub eax,30h ;30h, насколько я помню - '0'. Если нет - поправь.
mov ebx,0Ah
mul ebx
mov ebx,[d2]
sub ebx,30h
add eax,ebx
mov N,eax

Та же поправочка: данные-то в байтовом формате, поэтому надо везде использовать не ax, а al, т.е. вот так:
mov al,[d1]
sub al,30h ;30h - это действительно '0'
mov bl,0Ah
mul bl
mov bl,[d2]
sub bl,30h
add al,bl
mov N,al
Post #: 4
Страниц:  [1]
Все форумы >> [Прочее] >> Нужна срочно помощь по ASM !!!!!







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.