Clockgen
|
|
1 | |
Помогите пожалуйста со сдвигами,не могу разобраться.10.12.2008, 20:33. Показов 1111. Ответов 3
Метки нет Все метки)
(
Люди,кто-нибудь помогите написать программу сдвигов в ассемблере,у меня есть код программы и когда я запускаю программу у меня выдается мусор а потом вылетает из среды,что может быть не так?
Задание: Код
mov ah,02 mov bh,00 mov dh,05 mov dl,05 int 10h mov ah,0ah lea dx,vvod int 21h call asciibin mov ax,binv mov d,ax mov ah,02 mov bh,00 mov dh,06 mov dl,06 int 10h mov ah,0ah lea dx,vvod int 21h call asciibin mov ax,binv mov c,ax mov ax,d shl d,cl sub d,1 sub ax,c mov b2,ax shr b2,cl mov dx,b2 xor ax,ax mov ax,c shl c,cl add c,1 mov b4,ax add dx,b4 mov ax,dx mov y,ax mov bx,y call binascii mov bx,y Код
asciibin proc near mov binv,0 mov mul10,1 mov cx,0010 lea si,numb-1 xor bx,bx mov bl,real b20: mov al,[si+bx] and ax,000fh mul mul10 add binv,ax mov ax,mul10 mul cx mov mul10,ax dec bx jnz b20 ret asciibin endp binascii proc near mov cx,0010 lea si,ascii-1 mov bx,c mov ax,binv c20: cmp ax,0010 jb c30 xor dx,dx div cx or dl,30h mov [si+bx],dl dec bx jmp c20 c30: or al,30h mov [si+bx],al ascii db 4 dup(?),'$' ret binascii endp binv dw 0 mul10 dw 1 by dw 0 k dw 0 d dw 0 b dw 0 i dw 0 y dw 0 c dw 0 b1 dw 0 b2 dw 0 b3 dw 0 b4 dw 0 vvod label byte max db 4 real db ? numb db 4 dup(' ') sgcod ends end begin |
|
10.12.2008, 20:33 | |
Ответы с готовыми решениями:
3
Не могу разобраться с BIOS. Пожалуйста помогите! Не могу установить Windows XP SP3, помогите пожалуйста разобраться
Помогите пожалуйста разобраться. |
0 / 0 / 0
Регистрация: 18.04.2008
Сообщений: 16
|
|
10.12.2008, 22:08 | 2 |
можно задание попонятнее? зачем АСКИИ ??? есть простые операции SHL SHR и другие для циклического сдвига...
0
|
Clockgen
|
|
10.12.2008, 22:48 | 3 |
Ну Аский это как ассемблер переводит из аского кода в двоичный и наоборот,это обязательно,т.е. все происходит внутри среды,а вот с кодом который я написал выше, используя сдвиги,вот ничего не получается,помогите плиз.
И вот задание: Вычислить величину в числит (d*3-c) C=------------------- +c*5 в знамен 4 c,d-вводятся с клавиатуры. |
0 / 0 / 0
Регистрация: 18.04.2008
Сообщений: 16
|
|
11.12.2008, 12:23 | 4 |
По заданию вам нужно вычислить значение дроби... при чем тут сдвиги??? зачем двоичный код??? или я не понял задания...
а переводить из символа в цифру можно гораздо проще: из АСКИИ кода введенной цифры можно вычесть Аскии код "0", в остатке только сама цифра... для обратного перевода тоже самое только сложить с кодом "1" например: введи цифру 7, ее аскии 55... аскии "0"=48 , тогда 55-48=7 как раз то что нужно... и никаких огромных процедур если число из нескольких цифр, что вероятно, то надо *10 и прибавить снова цифру вычесленную как показано выше
0
|
11.12.2008, 12:23 | |
Помогаю со студенческими работами здесь
4
Помогите пожалуйста разобраться!!! Помогите пожалуйста разобраться Помогите Разобраться, Пожалуйста (1с V8) помогите пожалуйста разобраться Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |