Port0 ın 5. biti 1 ise Port0 ın 7. bitini 1 değilse 0 yapan program.
ve ASM karşılığı.
#include <m8c.h> // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules
void main()
{
while(1)
{
if((PRT0DR & 32) == 32 ) PRT0DR |= 128; //1 yap
else PRT0DR &= ~128; //temizle
}
}
/************************************************************/
(0008) if((PRT0DR & 32) == 32) PRT0DR |= 128;
0281: 5D 00 MOV A,REG[0]
0283: 21 20 AND A,32
0285: 39 20 CMP A,32
0287: B0 06 JNZ 0x028E
0289: 43 00 80 OR REG[0],128
028C: 80 04 JMP 0x0291
(0009) else PRT0DR &= ~128;
028E: 41 00 7F AND REG[0],127
0291: 8F EF JMP 0x0281
Bunu asm kodları nereyse intel 808X serisi gibiymiş.
Çok uzunca bir asm kod üretip koyabilirmisin.
PSoC'lar Z80 tabanlıdır.
Oda iyiymiş, A yerine AX yada AL dersek de 8086 gibi duruyor.
Tipik mcs51 koduna benziyor, ama bu iyi mi kötü mü ona bende pek bişey diyemiyorum.. Umarım iyidir :D
Eğer öyleyse test ve dallanma komutlarının sayısı oldukça fazla olmalı. ( Belkide 16f84 ün toplam komutları kadar ;) ) ) JNZ , JNG , JG bunlardan birkaçı.
islemci ozelliklerini http://picproje.com/index.php/topic,8244 (http://picproje.com/index.php/topic,8244) linkindeki PDF ile daha iyi inceleyebilirsiniz.