WinAsm Studio, The Assembly IDE - Free Downloads, Source Code
Sponsors
Articles
Programming Quick Start
32-bit Assembler is Easy
Porting Iczelion tutorials
What is FASM
Hard Drive Recovery
Wiring your own LAN
Personal menu
Welcome Guest
User:
Pass:
Register!
Resend Validation Email
 
Forum
 

ru: Calculating percents of progress, Round(100*Position/Length)

chak_xakep
Quote Post


New Member
*

Group: Members
Posts: 16
Member No.: 26621
Joined: 14-September 09


Всем привет это снова я, начинающий в мире асма =)

требуется вычислить проценты, впредыдущем топике я вычислил размер файла
с сервера... biggrin.gif и сегодня сел писать отображение процесса загрузки...
проблема встала в следующем
имеется выражение
pBar.Position:=Round(100*Position/Length)

1-ое что я не понял это округление... Round в гугле искал аналог Round'у, но он мне ничего конкретного не показал...
2-ое что я не понял это деление... div, idiv там такая заворуха происходит что результаты выкладываются в пару регистов [eax:edx] в edx помещается остаток, это ладно я понимаю спаренные регистры... но так как это дело у меня происходит в потоке то через некоторое время вылетает окошко с отправкой майкрософту отчёта laugh.gif а результат от деления я так и непонял откуда брать...

с умножением у меня проходит вот так:
CODE

mov eax, dword ptr[position]
mov ebx, dword ptr[Length]
imul ebx <--результат получаю в eax


буду очень рад если меня кто-нибудь просветит в этом деле... по гуглам бегал говорят мол не юзать данные комманды (mul,imul,div,idiv), а обходиться всякими изворотливыми трюками со смещениями =)

PMEmail Poster
Top
chak_xakep
Quote Post


New Member
*

Group: Members
Posts: 16
Member No.: 26621
Joined: 14-September 09


CODE
mov eax, Position
mov ebx, 100d
imul eax; <-- на сколько я понял в edx остается остаток...
mov ebx, Length
idiv ebx; <-- тут тоже помоему в edx остается остаток...

и в результате я все это получаю в eax, похоже что Round здесь не пригодится? существуют ли какие либо подводные камни в этом коде? поправьте меня пожалуйста!
PMEmail Poster
Top
shoorick
Quote Post


Extremely Active Member
******

Group: Admins
Posts: 2303
Member No.: 160
Joined: 22-June 04


перед делением обнули edx
PMEmail PosterUsers Website
Top
chak_xakep
Quote Post


New Member
*

Group: Members
Posts: 16
Member No.: 26621
Joined: 14-September 09


Спасибо shoorick помогло! =)
PMEmail Poster
Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Topic Options Reply to this topicStart new topicStart Poll

 

Sponsors
Computer Science

Internet
C/C++
Hardware & PC maintenance

HiEditor

General Discussions
Suggestions/Bug Reports
WinAsm Studio

General Discussions
Suggestions/Bug Reports
WinAsm Studio FAQ
Multilingual User Interface
Add-Ins
Assembly Programming

Main
Newbies
Projects
Custom Controls
Snippets
Announcements & Rules

Announcements

General

Online Degrees - Distance Learning
The Heap
Russian
Google