Асемблер

Член од
16 јули 2008
Мислења
20
Поени од реакции
0
За сите што сакаат да програмираат во асемблер, програмираат во асемблер или некој има потреба од помош во врска со асемблер.

Да се напише асемблерска програма MIPS процесор која чита 50 броеви од тастатура. За секој број се повикува процедура која испитува дали бројот е делив со 5. Ако е делив процедурата повикува нова процедура кога врши сумирање на сите брпеви кои НЕ СЕ деливи со 5. За крај главната програма ја печати сумата на екран

Имам потреба од решение на задачата па ако некој го знае нека го пише. фала

П.С Ако е можно во Асемблер 8085
 
Член од
16 јули 2008
Мислења
20
Поени од реакции
0
http://notes.ump.edu.my/fkee/e-Books/Computer and embedded system/MIPS Assembly Language Programming 2003 Prentice-Hall.pdf

Eве ти линк, читни малце и ќе си ја напрвиш сам. 5 реда е програмата, не чекајте се на готово.
ne e toa rabotata probav da ja napravam ama jas pravam vo 8085 a tamu ne e mozno da se naprave ova e za MIPS procesor najverojatno. Ali moze i da gresam
 
Член од
14 јануари 2008
Мислења
1.341
Поени од реакции
162
Епа пиши што имаш направено до сега па ке ти помогнеме таму кај си заглавил. Јас знам ARM, не знам MIPS, ама логиката е иста.
 
Член од
15 ноември 2008
Мислења
153
Поени од реакции
9
ima nekoj so moze da pomogne so IEEE-754 standard?
 
Член од
26 јуни 2010
Мислења
4
Поени од реакции
0
asembler

dali moze da mi pomogne nekoj sto znae asmeble?


Објаснување на макро и на процедури и кога е подобро да се користи процедура, кога макро. Дали треба да се стават AX, BX, CX на стекот? Кои треба кои не треба?
Задача: напишете 2 програми (1 со процедура, и 1 со макро) кои ќе ги соберат вредностите на AX I BX во CX. Анализа со симулаторот кој регистер која вредност ја има.

Pozdrav
 

Srcee

Unforgettable
Член од
29 април 2008
Мислења
5.275
Поени од реакции
3.496
Aман бе, за првото прашање побарај на гугл, у било која книга за микропроцесори имаш за макроа vs процедури. На стек се ставаат оние регистри чија вредност се менува во следните наредби. Иначе наредбите се следниве, а ти докажи дека не си паразит така што ќе ги вметнеш во макро/процедура.

add ax, bx
mov cx,ax
 
Член од
26 јуни 2010
Мислења
4
Поени од реакции
0
Добро да го оставиме на страна прашањето. Имам проблеми со задачата ако може некој да помогне??
поздрав.
 

Srcee

Unforgettable
Член од
29 април 2008
Мислења
5.275
Поени од реакции
3.496
add ax, bx; собирање на регистрите при што збирот се става во ax
mov cx,ax; вредноста од ax (значи збирот од претходната наредба) оди во cx

Ете ти ја задачата. Треба уште да додадеш име и endm за макро, а endp за процедура. Ако користиш макро, место двете точки треба да имаш два пати по две точки (;;). Што сакаш појше?
 
Член од
26 јуни 2010
Мислења
4
Поени од реакции
0
Значи вака ке изгледа задачата пример за процедура
soberi proc
add AX,BX
mov CX,AX
ret
soberi endp

нели е ова мн едноставно, некој main да не треба да има??? Стварно не се многу разбирам ако можете помогнете ???
Поздрав
 

Srcee

Unforgettable
Член од
29 април 2008
Мислења
5.275
Поени од реакции
3.496
Значи вака ке изгледа задачата пример за процедура
soberi proc
add AX,BX
mov CX,AX
ret
soberi endp

нели е ова мн едноставно, некој main да не треба да има??? Стварно не се многу разбирам ако можете помогнете ???
Поздрав
Да. мислам дека така беше.
 

Mind In Motion

Smirking Revenge
Член од
29 мај 2007
Мислења
816
Поени од реакции
46
Значи вака ке изгледа задачата пример за процедура
soberi proc
add AX,BX
mov CX,AX
ret
soberi endp

нели е ова мн едноставно, некој main да не треба да има??? Стварно не се многу разбирам ако можете помогнете ???
Поздрав

Ако ти се бара само процедурата да ја напишеш тогаш само ова, али ако треба да ја повикаш процедурата, тогаш мора да имаш маин.
Пример:

%include "asm_io.inc"

segment .data

vlezmsg db "Vlez",0
izlezmsg db "Ajde sega chao",0


segment .text
global asm_main
asm_main:
enter 0,0
pusha


mov eax, vlezmsg
call print_string ;
call print_nl ;
mov eax, 5;
mov ebx, 5;
call soberi;
mov eax, izlezmsg;
call print_string;


soberi:
add eax,ebx;
mov ecx,eax;
call print_int
ret

popa
mov eax, 0;
ret
leave

Забелешка: Oва се 32 битни регистри, Extended.
И е пишувано во NASM x86.
 
Н

'Никола'

Гостин
Ај некој ако се разбира од Edsim8051 нека ми пише ПП да се договориме.
 

Kajgana Shop

На врв Bottom