inline montážní návod

A

ayan_m

Guest
Jak mohu psát inline pokyny k montáži v C v Keil (uvision 2)?ayan

 
Přečtěte si oddíly o # pargma ASM v manuálu.
Nevidím žádný důvod, WY to bude nutné.Jeho vždy beter psát extra asm modul, pokud potřebujete sílu ASM

usbman

 
Někdy je to snadné psát inline montáž místo psaní plné modul.Například, chcete-li otočit pole z 5 bytů.Mohli byste udělat

neplatné rotate_array (bit c) (
# ASM
MOV R0, # pole
MOV R6, # 5
LOOP: MOV A, @ R0
RRC
MOV @ R0, A
INC R0
DJNZ R6, LOOP
# Endasm
)

I dont vědět, jestli to lze provést v K * el

 
to je jednoduché

Kód:neplatné rotateRight (UINT8 hodnota)

(

UINT8 i;

pro (i = 0; i <6; i )

(

if (hodnota & 0x01) P1_1 = 1;

else P1_1 = 0;

hodnota>> = 1;

)

)

 
Za prvé, váš kód v C není dělat to, co jsem dělal v ASM rutiny.

Za druhé, Nejde o to, že nemůže být provedeno v C. Téměř everthing že ASM se lze učinit v C. Ale někdy musíte dělat věci v účinnějším způsobem.Musíte používat ASM.Někdy je prostě na výběr.C je příliš pomalé a příliš nafouklý pro některé operace.

 
Ahoj

Vložit ASM kód, jako je níže:

# Pragma ASM

; Assembleru jde zde

# Pragma endasm

To také vyžaduje, aby řízení zdrojů, které mají být aktivní (jako kompilátor chybu hrdě oznámit).Chcete-li to tak, že klikněte pravým tlačítkem na soubor, kde jste vložili ASM kód (na pracovní plochu okna projektu) a z <option pro tento soubor "whatever_your_filename_is.c"> vybrat "Vytvořit shromáždění SRC soubor" a "sestavit SRC soubor"

S pozdravem

 

Welcome to EDABoard.com

Sponsor

Back
Top