Ассемблер тілінің арифметикалық командалары
Арифметикалық командалар жиыны сандардың екі түрімен жұмыс істейді.
1.
Екілік бүтін оң және теріс сандар
2.
Бүтін ондық сандар.
Сандарды қосу командалары.
1.
ine ранд – инкремент амалы, яғни операнд мәнін 1-ге арттыру. Мысалы: ine bh – bh регистрінің мәнін 1-ге арттырады.
2.
add операнд 1, операнд 2 - қосу амалы. Нәтиже операнд 1-ге жазылады, яғни оп-д1=оп-д1+оп-д2
3.
ade оп-д 1, оп-д 2 – келесі разрядқа көшу жолаушысының (cf) нәтижесін қолданып қосу амалы. Нәтиже операнд 1-ге жазылады, яғни оп-д 1=оп-д 1+по-д 2+cf
Мысалы:
Сандарды алу командалары
1.
dec операнд – декремент амалы, яғни операнд мәнін 1-ге кеміту.
2.
sub операнд 1, операнд 2 – алу амалы, нәтиже операнд 1-ге жазылады.
3.
sbb операнд 1, операнд 2 – жоғарғы разрядтан алу негізінде алу амалы, нәтиже операнд 1-ге жазылады.
Мысалы:
Сандарды көбейту.
·
Команданың жазылу түрі: mul 1_көбейткіш [, 2_көбейткіш].
Мысалы:
Бұл команданың нәтижесінде нәтиженің жоғарғы үлкен бөлігі ah регистрінде, кіші бөлігі al регистрінде орналасады.
Сандарды бөлу.
·
Команданың жазылу түрі: div бөлінгіш.
Бөлінгіш жадта немесе регистрде орналасуы мүмкін және 8, 16, 32 разрядты болуы мүмкін. Нәтиже, яғни бөлінді al регистріне, қалдық ah регистріне орналасады.
Мысалы:
Нәтижесінде al регистріне бөлінді, ah регистріне қалдық орналасады.
Mысал
1.47, 25 екі саны берілген. Оларды bh, bl 1 байтты регистрлеріне орналастырып, олардың қосындысын, айырмасын табу , 25 санын 5-ке көбейту, 47 санын 16-ға бөлу.
[1]
Достарыңызбен бөлісу: |