вопрос по ассемблеру
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
вопрос по ассемблеру - 2008-11-14 00:45:41.350000
|
|
|
Omenus666
Сообщений: 108
Оценки: 0
Присоединился: 2008-04-11 16:44:07.336666
|
Помогите пожалуйста, вопрос заключается в переводе числа из десятичной системы в hex (16) так вот например возьмем число 123456 и переведем его в шестнадцатеричную систему счисления. 123456/16=7716 остаток (0)…..ладно согласимся остаток и вправду 0 7716/16=482 остаток (4)…..а вот и нет остаток = 25 у меня получилось число 482,25 482/16=30 остаток (2)…..опять не верно остаток = 125 а число 30,125 30/16=1 остаток (14)…..и опять мимо остаток = 875 а число 1,875 1/16=0 остаток (1)……так же не верно остаток = 0625 а число 0,0625 Пожалуйста разжуйте мне, это ж как надо так считать чтобы выходили такие остатки? PS: Простите за невежество….
|
|
|
RE: вопрос по ассемблеру - 2008-11-14 01:32:25.270000
|
|
|
tеstеr
Сообщений: 377
Оценки: -46
Присоединился: 2008-02-08 17:56:40.563333
|
123456/16=7716 остаток (0) 7716/16=482 остаток (4) 482/16=30 остаток (2) 30/16=1 остаток (14) 1/16=0 остаток (1) значит в шестнадцатиричной системе исходное число равно: 1 14 2 4 0 Так как для 14 нет цифры, то используют буквы, латинские 10 - A, 11 - B, 12 - C, 13 - D, 14 - E, 15 - F С учетом этого шестнадцатиричное число: 1E240 Про остатки Например, 30/16=1 остаток (14) потому что 30 = 16 х 1 + 14 482/16=30 остаток (2), так как 482 = 16х30 + 2 Ты считаешь остатками такую вешь ОСТАТОК/16 например, 30/16=1 остаток (14)…..и опять мимо остаток = 875 а число 1,875 Умножь 0.875 на 16 получишь остаток: 0.875х16 = 14 - вот верный остаток. 7716/16=482 остаток (4)…..а вот и нет остаток = 25 у меня получилось число 482,25 Умножь 0.25 на 16 получишь остаток: 0.25х16 = 4. это математика, 3-й класс, не больше.
|
|
|
RE: вопрос по ассемблеру - 2008-11-14 04:48:21.180000
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
Ну, и причем здесь ассемблер?
|
|
|
RE: вопрос по ассемблеру - 2008-11-14 12:19:29.253333
|
|
|
dos 999
Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
|
жесть какая… чё за тема вообще… PS. из за таких тем форум xakep.ru превращаеться в сарай с хламом. Кроме раздела "Программирование" вообще никуда больше не захожу уже давно… т.к. знаю что там вопросы плана "Ребят я ламер, но хочу взломать сайт/аську/программу/майл как мне это сделать? Какой программой воспользоваться?" это ппц, задрали уже такими вопросами. да и здесь тема "С какого языка программирования начать" появляеться каждую неделю (например сейчас на первой странице 3 подобных темы:D). Товарищи админы и модераторы… Какие нибуть меры будут приниматься? PPS. накипело =(
|
|
|
RE: вопрос по ассемблеру - 2008-11-14 14:06:38.540000
|
|
|
VaZoNeZ
Сообщений: -6758
Оценки: 0
Присоединился: 2008-10-31 14:38:43.796666
|
Чего же ты хотел - молодое ничего незнающее поколение рвется к знаниям… это тема еще нормальная… хоть разобрался как в кекс перевести….
|
|
|
RE: вопрос по ассемблеру - 2008-11-14 19:42:41.356666
|
|
|
Denaturat
Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
|
quote:
ORIGINAL: dos 999 PS. из за таких тем форум xakep.ru превратился в сарай с хламом. fixed. а вообще ничего другого тут вроде никогда и не было :)
|
|
|
RE: вопрос по ассемблеру - 2008-11-22 16:02:16.623333
|
|
|
Basil_Snowman
Сообщений: 16
Оценки: 0
Присоединился: 2008-02-18 07:09:48.603333
|
Народ помогите пожалуйста! Есть программа: .model small .STACK 300H .DATA MB DB 12,84,65,47 DB 08,24,32,36 DB 88,64,85,54 DB 18,24,26,42 A DB 12 DUP (?) .CODE BEG: MOV AX,@DATA MOV DS,AX MOV AL,MB MUL [MB+1] MOV DX,AX MOV AL,[MB+4] MUL [MB+5] MOV BX,AX MOV AX,DX DIV BX MOV CX,AX MOV AL,[MB+2] MUL [MB+3] MOV DX,AX MOV AL,[MB+6] MUL [MB+7] MOV BX,AX MOV AX,DX DIV BX ADD CX,AX MOV AL,[MB+8] MUL [MB+9] MOV DL,[MB+12] ADD DL,[MB+13] DIV DX MOV BX,AX MOV AL,[MB+10] MUL [MB+11] MOV DL,[MB+14] ADD DL,[MB+15] DIV DX ADD AX,BX MUL CX MOV A,AL MOV AH,4CH END BEG Должна выполнить:А=((B11*b12)/(b21*b22)+(b13*b14)/(b23*b24))*((b31*b32)/(b41+b42)+(b33*b34)/(b43+b44)) как только доходит до деления выдаёт ошибку "деление на ноль"(Devide by zero)
|
|
|
RE: вопрос по ассемблеру - 2008-11-22 16:39:01.683333
|
|
|
D. Scandal
Сообщений: 1360
Оценки: 345
Присоединился: 2007-12-01 16:39:35.550000
|
"Devide by zero" всплывает не только при делении на ноль, но и при невозможности поместить результат деления в слово, поэтому этот эксепшн может выскакивать даже при d не равном 0.
|
|
|
RE: вопрос по ассемблеру - 2008-11-22 16:48:21.656666
|
|
|
Basil_Snowman
Сообщений: 16
Оценки: 0
Присоединился: 2008-02-18 07:09:48.603333
|
И чё посоветовать можете?
|
|
|
RE: вопрос по ассемблеру - 2008-11-22 16:50:56.016666
|
|
|
D. Scandal
Сообщений: 1360
Оценки: 345
Присоединился: 2007-12-01 16:39:35.550000
|
Попробуйте использовать любой другой регистр.
|
|
|
RE: вопрос по ассемблеру - 2008-11-23 06:01:55.276666
|
|
|
Basil_Snowman
Сообщений: 16
Оценки: 0
Присоединился: 2008-02-18 07:09:48.603333
|
D. Scandal обьясни пожалуйста, как частное записать не в AX, а в другой регистр, если при делении и умножении он автоматом в AX пишет
|
|
|
RE: вопрос по ассемблеру - 2008-11-23 12:28:03.080000
|
|
|
Flint_ta
Сообщений: 3720
Оценки: 1120
Присоединился: 2007-01-26 15:49:18.323333
|
Местоположение делимого, делителя, частного и остатка после выполнения команды DIV Размер операнда Делимое Делитель Частное Остаток Максимальное частное Слово AX r/m8 AL AH 255 Двойное слово DX:AX r/m16 AX DX 65535 Учетверенное слово EDX:EAX r/m32 EAX EDX 2^32-1
|
|
|
RE: вопрос по ассемблеру - 2008-11-25 12:35:07.926666
|
|
|
Basil_Snowman
Сообщений: 16
Оценки: 0
Присоединился: 2008-02-18 07:09:48.603333
|
Можете привести пример(кусок программы), как занести делимое в регистры AX:DX, а то чё-то не выходит
|
|
|
|
|