Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 29.06.2011, 17:44   #1 (permalink)
Fasmon
Member
 
Регистрация: 09.06.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Ассемблер. Срочно нужна помощь

Нужно сделать вывод результата на экран (в окне отдельном) в ассемблере (сам код написан и работает). У самого идеи кончились. Постоянно ошибки какие-то лезут...
Помощь нужна срочно.

Код:
.386
.model flat,stdcall
option casemap:none



_DATA SEGMENT
consA equ 1574 ;626h
consB equ 432 ;1B0h
consC equ 1632 ;660dh
consD equ 1835 ;72Bh

consx1 equ 586; 24Ah
consx2 equ 649; 289h
consx3 equ 934; 3A6h

mul_rez_l dw 0
mul_rez_h  dw 0
mul_rez_c dw 0

carry dw 0
_DATA ENDS

CSEG SEGMENT
_Begin:
    xor eax,eax
    xor ebx,ebx
    xor edx,edx
    
firstx:
    mov ax,consx1 ; 
    add ax,consA
    sub ax,consB
    mov bx,consC
    mul bx ;результат dx:ax
    mov bx,consD
    div bx ; делим результат предыдущих операций  dx:ax на bx  частное ax, остаток dx

    xor eax,eax
    xor ebx,ebx
    xor edx,edx
    

secondx:
    mov ax,consx2 ; 
    add ax,consA
    sub ax,consB
    mov bx,consC
    mul bx ;результат dx:ax
    mov bx,consD
    div bx ; делим результат предыдущих операций  dx:ax на bx  частное ax, остаток dx

    xor eax,eax
    xor ebx,ebx
    xor edx,edx

thirdx:
    mov ax,consx3 ; 
    add ax,consA
    sub ax,consB
    mov bx,consC
    mul bx ;результат dx:ax
    mov bx,consD
    div bx ; делим результат предыдущих операций  dx:ax на bx  частное ax, остаток dx

    xor eax,eax
    xor ebx,ebx
    xor edx,edx

    
y1:
    ;вычислим 12*x1^2 + 7x1 - 16
    ;x^2
    mov ax,consx1
    mov bx,ax
    mul bx
    jnc no_carry_x1_2
    mov mul_rez_h,dx
no_carry_x1_2:
    mov mul_rez_l,ax
    
    ;12* x^2
    xor dx,dx
    mov bx,12 ; 0Ch
    mul bx
    mov carry, dx
    mov mul_rez_l,ax

    xor dx,dx
    mov ax,mul_rez_h
    mul bx
    add ax,carry
    adc dx,0
    mov mul_rez_h,ax
    mov mul_rez_c,dx   

    ;7x1
    xor dx,dx
        mov ax,consx1
        mov bx,7
        mul bx ; - результат dx:ax

    ;12*x1^2 + 7x1
    add ax,mul_rez_l
        adc dx,mul_rez_h
        adc mul_rez_c,0
    
    ;...-16
        mov bx,16 ; 10h
    sub ax, bx
        jnc no_carry_sub
    neg ax
no_carry_sub:
        sbb dx,0
        jnc no_carry_sub2
        neg dx
no_carry_sub2:
        sbb mul_rez_c,0
    ret

CSEG ends



end _Begin
Благодарю заранее всех отозвавшихся.
Fasmon вне форума   Ответить с цитированием

Старый 29.06.2011, 17:44
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Не обделяйте вниманием эти ссылки - тут наверняка много полезного

Два БП в один компьютер, срочно нужна помощь
Срочно нужна помощь по VBA Excel
Срочно нужна помощь. BlueScreen 1049.
Срочно нужна помощь!

Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 06:04.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.