Нужна срочно помощь по ASM !!!!!
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Нужна срочно помощь по 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'). Срочно надо, в никать сам нехачу, потому что у меня совсем другая специализация…
|
|
|
RE: Нужна срочно помощь по ASM !!!!! - 2008-12-18 23:00:39.700000
|
|
|
MiXALbI4
Сообщений: 20
Оценки: 0
Присоединился: 2008-01-28 03:13:01.290000
|
блин, я бы с удовольствием, но мне самому на завтра надо сделать 3 лабы на асме… конец семестра уже, я и так еле успеваю :-)
|
|
|
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:
|
|
|
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
|
|
|
|
|