Board.KolibriOS.org

Official KolibriOS board
It is currently Tue Dec 01, 2020 6:42 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Thu May 07, 2020 9:44 am 
Offline
User avatar

Joined: Wed Mar 18, 2015 8:22 am
Posts: 318
Всем привет.
Начал потихоньку кодить, решил начать с баловства: добавить в explame.asm сис. функцию 3
Врод всё правильно:
Code:
;цикл обработки событий;
mcall 3

но скомпилированная программа не хочет запускаться!
Что делать?

Hello everyone.
He began to code slowly, decided to start with pampering: add sys to explame.asm. function 3
Like everything is correct:
[code]; event processing loop;
mcall 3 [/ code]
but the compiled program does not want to run!
What to do?

_________________
Гордон Фримен - я из прошлого :D


Top
   
PostPosted: Thu May 07, 2020 11:30 am 
Online
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5334
Программирование на языках высокого уровня отличается от ассмеблера следующим: в ассемблере отсутствует сохранение регистров.

mcall 1,2,3,4
аналогичен
mov eax,1
mov ebx,2
mov ecx,3
mov edx,4
int 0x40

Раз ты вставил mcall 3 и все сломалось, значит ты затер регистр eax который использутся дальше по коду.
Сохранить регистры можно вставив
Code:
push eax
mcall 3
pop eax

_________________
Звиздеть не мешки ворочать


Top
   
PostPosted: Thu May 07, 2020 12:07 pm 
Offline
User avatar

Joined: Wed Mar 18, 2015 8:22 am
Posts: 318
мда, это значительно сложнее, чем html
и из-за документации тоже

_________________
Гордон Фримен - я из прошлого :D


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 3 posts ] 

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited