亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? arith_inst.cc

?? sdcc是為51等小型嵌入式cpu設(shè)計(jì)的c語(yǔ)言編譯器支持?jǐn)?shù)種不同類型的cpu
?? CC
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* * Simulator of microcontrollers (arith_inst.cc) * * Copyright (C) 1999,99 Drotos Daniel, Talker Bt. *  * To contact author send email to drdani@mazsola.iit.uni-miskolc.hu * *//* This file is part of microcontroller simulator: ucsim.UCSIM is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.UCSIM is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with UCSIM; see the file COPYING.  If not, write to the FreeSoftware Foundation, 59 Temple Place - Suite 330, Boston, MA02111-1307, USA. *//*@1@*/#include "avrcl.h"#include "regsavr.h"/* * Compare with Immediate * CPI Rd,K 16<=d<=31, 0<=K<=255 * 0011 KKKK dddd KKKK *____________________________________________________________________________ */intcl_avr::cpi_Rd_K(t_mem code){  t_addr d;  t_mem D, K, result, res;  d= 16+(code&0xf0)>>4;  K= (code&0xf) | ((code&0xf00)>>8);  D= ram->read(d);  if (K & 0x80)    K|= ~0xff;  if (D & 0x80)    D|= ~0xff;  t_mem sreg= ram->get(SREG);  result= (signed)D-(signed)K;  res= result & 0xff;    sreg= sreg & ~(BIT_H|BIT_S|BIT_V|BIT_N|BIT_C|BIT_Z);  if (0x08 & (((~D)&K) | (K&res) | (res&(~D))))    sreg|= BIT_H;  int n= 0, v= 0;  if (0x80 & ((D&(~K)&(~res)) | ((~D)&K&res)))    {      sreg|= BIT_V;      v= 1;    }  if (res & 0x80)    {      sreg|= BIT_N;      n= 1;    }  if ((n ^ v) & 1)    sreg|= BIT_S;  if (!res)    sreg|= BIT_Z;  if (0x80 & (((~D)&K) | (K&res) | (res&(~D))))    sreg|= BIT_C;  ram->set(SREG, sreg);  return(resGO);}/* * Substract Immediate with Carry * SBCI Rd,K 16<=d<=31, 0<=K<=255 * 0100 KKKK dddd KKKK *____________________________________________________________________________ */intcl_avr::sbci_Rd_K(t_mem code){  t_addr d;  t_mem D, K, result, res;  d= 16+(code&0xf0)>>4;  K= (code&0xf) | ((code&0xf00)>>8);  D= ram->read(d);  if (K & 0x80)    K|= ~0xff;  if (D & 0x80)    D|= ~0xff;  t_mem sreg= ram->get(SREG);  result= (signed)D-(signed)K-(sreg&BIT_C)?1:0;  res= result & 0xff;  ram->write(d, res);    sreg= sreg & ~(BIT_H|BIT_S|BIT_V|BIT_N|BIT_C);  if (0x08 & (((~D)&K) | (K&res) | (res&(~D))))    sreg|= BIT_H;  int n= 0, v= 0;  if (0x80 & ((D&(~K)&(~res)) | ((~D)&K&res)))    {      sreg|= BIT_V;      v= 1;    }  if (res & 0x80)    {      sreg|= BIT_N;      n= 1;    }  if ((n ^ v) & 1)    sreg|= BIT_S;  if (res)    sreg&= ~BIT_Z;  if (0x80 & (((~D)&K) | (K&res) | (res&(~D))))    sreg|= BIT_C;  ram->set(SREG, sreg);  return(resGO);}/* * Substract Immediate * SUBI Rd,K 16<=d<=31, 0<=K<=255 * 0101 KKKK dddd KKKK *____________________________________________________________________________ */intcl_avr::subi_Rd_K(t_mem code){  t_addr d;  t_mem D, K, result, res;  d= 16+(code&0xf0)>>4;  K= (code&0xf) | ((code&0xf00)>>8);  D= ram->read(d);  if (K & 0x80)    K|= ~0xff;  if (D & 0x80)    D|= ~0xff;  result= (signed)D-(signed)K;  res= result & 0xff;  ram->write(d, res);    t_mem sreg= ram->get(SREG) & ~(BIT_H|BIT_S|BIT_V|BIT_N|BIT_Z|BIT_C);  if (0x08 & (((~D)&K) | (K&res) | (res&(~D))))    sreg|= BIT_H;  int n= 0, v= 0;  if (0x80 & ((D&(~K)&(~res)) | ((~D)&K&res)))    {      sreg|= BIT_V;      v= 1;    }  if (res & 0x80)    {      sreg|= BIT_N;      n= 1;    }  if ((n ^ v) & 1)    sreg|= BIT_S;  if (!res)    sreg|= BIT_Z;  if (0x80 & (((~D)&K) | (K&res) | (res&(~D))))    sreg|= BIT_C;  ram->set(SREG, sreg);  return(resGO);}intcl_avr::muls_Rd_Rr(t_mem code){  return(resGO);}intcl_avr::mulsu_Rd_Rr(t_mem code){  return(resGO);}intcl_avr::fmul_Rd_Rr(t_mem code){  return(resGO);}intcl_avr::fmuls_Rd_Rr(t_mem code){  return(resGO);}intcl_avr::fmulsu_Rd_Rr(t_mem code){  return(resGO);}/* * Compare with Carry * CPC Rd,Rr 0<=d<=31, 0<=r<=31 * 0000 01rd dddd rrrr *____________________________________________________________________________ */intcl_avr::cpc_Rd_Rr(t_mem code){  t_addr r, d;  t_mem R, D, result, res;  d= (code&0x1f0)>>4;  r= ((code&0x200)>>5)|(code&0xf);  R= ram->read(r);  D= ram->read(d);  if (R & 0x80)    R|= ~0xff;  if (D & 0x80)    D|= ~0xff;  t_mem sreg= ram->get(SREG);  result= (signed)D-(signed)R-(sreg&BIT_C)?1:0;  res= result & 0xff;    sreg= sreg & ~(BIT_H|BIT_S|BIT_V|BIT_N|BIT_C);  if (0x08 & (((~D)&R) | (R&res) | (res&(~D))))    sreg|= BIT_H;  int n= 0, v= 0;  if (0x80 & ((D&(~R)&(~res)) | ((~D)&R&res)))    {      sreg|= BIT_V;      v= 1;    }  if (res & 0x80)    {      sreg|= BIT_N;      n= 1;    }  if ((n ^ v) & 1)    sreg|= BIT_S;  if (res)    sreg&= ~BIT_Z;  if (0x80 & (((~D)&R) | (R&res) | (res&(~D))))    sreg|= BIT_C;  ram->set(SREG, sreg);  return(resGO);}/* * Substract with Carry * SBC Rd,Rr 0<=d<=31, 0<=r<=31 * 0000 10rd dddd rrrr *____________________________________________________________________________ */intcl_avr::sbc_Rd_Rr(t_mem code){  t_addr r, d;  t_mem R, D, result, res;  d= (code&0x1f0)>>4;  r= ((code&0x200)>>5)|(code&0xf);  R= ram->read(r);  D= ram->read(d);  if (R & 0x80)    R|= ~0xff;  if (D & 0x80)    D|= ~0xff;  t_mem sreg= ram->get(SREG);  result= (signed)D-(signed)R-(sreg&BIT_C)?1:0;  res= result & 0xff;  ram->write(d, res);    sreg= sreg & ~(BIT_H|BIT_S|BIT_V|BIT_N|BIT_C);  if (0x08 & (((~D)&R) | (R&res) | (res&(~D))))    sreg|= BIT_H;  int n= 0, v= 0;  if (0x80 & ((D&(~R)&(~res)) | ((~D)&R&res)))    {      sreg|= BIT_V;      v= 1;    }  if (res & 0x80)    {      sreg|= BIT_N;      n= 1;    }  if ((n ^ v) & 1)    sreg|= BIT_S;  if (res)    sreg&= ~BIT_Z;  if (0x80 & (((~D)&R) | (R&res) | (res&(~D))))    sreg|= BIT_C;  ram->set(SREG, sreg);  return(resGO);}/* * Add without Carry * ADD Rd,Rr 0<=d<=31, 0<=r<=31 * 0000 11rd dddd rrrr *____________________________________________________________________________ */intcl_avr::add_Rd_Rr(t_mem code){  t_addr r, d;  t_mem R, D, result, res;  d= (code&0x1f0)>>4;  r= ((code&0x200)>>5)|(code&0xf);  R= ram->read(r);  D= ram->read(d);  result= D+R;  res= result & 0xff;  ram->write(d, res);    t_mem sreg= ram->get(SREG);  if (!res)    sreg|= BIT_Z;  else    sreg&= ~BIT_Z;  if (((D&R&~res)&0x80) ||      ((~D&~R&res)&0x80))    sreg|= (BIT_V|BIT_S);  else    sreg&= ~(BIT_V|BIT_S);  if (res & 0x80)    {      sreg|= BIT_N;      sreg^= BIT_S;    }  else    sreg&= ~BIT_N;  if (result & ~0xff)    sreg|= BIT_C;  else    sreg&= ~BIT_C;  if ((R&0xf) + (D&0xf) > 15)    sreg|= BIT_H;  else    sreg&= ~BIT_H;  ram->set(SREG, sreg);  return(resGO);}/* * Compare * CP Rd,Rr 0<=d<=31, 0<=r<=31 * 0001 01rd dddd rrrr *____________________________________________________________________________ */intcl_avr::cp_Rd_Rr(t_mem code){  t_addr r, d;  t_mem R, D, result, res;  d= (code&0x1f0)>>4;  r= ((code&0x200)>>5)|(code&0xf);  R= ram->read(r);  D= ram->read(d);  if (R & 0x80)    R|= ~0xff;  if (D & 0x80)    D|= ~0xff;  result= (signed)D-(signed)R;  res= result & 0xff;    t_mem sreg= ram->get(SREG) & ~(BIT_H|BIT_S|BIT_V|BIT_N|BIT_Z|BIT_C);  if (0x08 & (((~D)&R) | (R&res) | (res&(~D))))    sreg|= BIT_H;  int n= 0, v= 0;  if (0x80 & ((D&(~R)&(~res)) | ((~D)&R&res)))    {      sreg|= BIT_V;      v= 1;    }  if (res & 0x80)    {      sreg|= BIT_N;      n= 1;    }  if ((n ^ v) & 1)    sreg|= BIT_S;  if (!res)    sreg|= BIT_Z;  if (0x80 & (((~D)&R) | (R&res) | (res&(~D))))    sreg|= BIT_C;  ram->set(SREG, sreg);  return(resGO);}/* * Substract without Carry * SUB Rd,Rr 0<=d<=31, 0<=r<=31 * 0001 10rd dddd rrrr *____________________________________________________________________________ */intcl_avr::sub_Rd_Rr(t_mem code){  t_addr r, d;  t_mem R, D, result, res;  d= (code&0x1f0)>>4;  r= ((code&0x200)>>5)|(code&0xf);  R= ram->read(r);  D= ram->read(d);  if (R & 0x80)    R|= ~0xff;  if (D & 0x80)    D|= ~0xff;  result= (signed)D-(signed)R;  res= result & 0xff;  ram->write(d, res);    t_mem sreg= ram->get(SREG) & ~(BIT_H|BIT_S|BIT_V|BIT_N|BIT_Z|BIT_C);  if (0x08 & (((~D)&R) | (R&res) | (res&(~D))))    sreg|= BIT_H;  int n= 0, v= 0;  if (0x80 & ((D&(~R)&(~res)) | ((~D)&R&res)))    {      sreg|= BIT_V;      v= 1;    }  if (res & 0x80)    {      sreg|= BIT_N;      n= 1;    }  if ((n ^ v) & 1)    sreg|= BIT_S;  if (!res)    sreg|= BIT_Z;  if (0x80 & (((~D)&R) | (R&res) | (res&(~D))))    sreg|= BIT_C;  ram->set(SREG, sreg);  return(resGO);}/* * Add with Carry * ADC Rd,Rr 0<=d<=31, 0<=r<=31 * 0001 11rd dddd rrrr *____________________________________________________________________________ */intcl_avr::adc_Rd_Rr(t_mem code){

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品国产麻豆婷婷 | 国产麻豆视频精品| 天天射综合影视| 亚洲高清免费一级二级三级| 最新国产精品久久精品| 中文字幕欧美激情| 1024成人网| 一区二区三区在线视频免费观看| 亚洲精品中文在线影院| 亚洲欧美日韩国产一区二区三区 | 精品国产一区二区三区av性色| 欧美一区二区三区视频在线观看 | 亚洲欧美综合色| 国产精品女主播在线观看| 国产精品美女久久久久久2018 | 国产精一区二区三区| 国产精品一区久久久久| 国产69精品久久久久毛片| 北岛玲一区二区三区四区| 91蝌蚪porny成人天涯| 欧美日韩在线直播| 日韩亚洲欧美成人一区| www国产亚洲精品久久麻豆| 国产日韩精品一区| 一区二区在线观看免费 | 欧美日韩亚洲综合一区二区三区| 欧美电影在线免费观看| 久久久精品国产免费观看同学| 国产精品免费看片| 亚洲综合成人在线| 久久99国产精品成人| 国产91丝袜在线播放九色| 91久久人澡人人添人人爽欧美| 欧美一区二区三级| 久久久久高清精品| 亚洲精品免费播放| 狂野欧美性猛交blacked| 成人精品视频一区| 欧美男男青年gay1069videost| 久久综合久久综合亚洲| 亚洲丝袜美腿综合| 秋霞av亚洲一区二区三| 成人av免费网站| 91精品国产乱| 亚洲色欲色欲www| 蜜臀av一区二区在线免费观看 | 日韩丝袜情趣美女图片| 国产精品美女视频| 免费成人深夜小野草| 99久久国产综合精品色伊 | 亚洲国产成人tv| 国产一区二区在线视频| 欧美专区在线观看一区| 26uuu色噜噜精品一区二区| 一区二区三区国产| 国产成人在线观看免费网站| 在线精品视频小说1| 国产亚洲福利社区一区| 视频一区在线播放| 91麻豆国产福利精品| 久久综合九色综合97_久久久| 亚洲激情在线激情| 丁香六月久久综合狠狠色| 欧美丰满高潮xxxx喷水动漫| 亚洲欧美日韩国产一区二区三区| 激情五月激情综合网| 欧美日韩中文字幕一区二区| 18涩涩午夜精品.www| 国产制服丝袜一区| 欧美夫妻性生活| 亚洲制服丝袜一区| 成人h版在线观看| 精品国产一区二区三区久久久蜜月| 亚洲一区二区三区不卡国产欧美| 国产成人在线网站| 精品国产91久久久久久久妲己| 婷婷丁香久久五月婷婷| 色老头久久综合| 国产精品久久久久影院| 国产一区亚洲一区| 精品欧美一区二区在线观看 | 欧美日韩一区二区三区四区| 国产精品麻豆欧美日韩ww| 国产精品综合久久| 精品欧美一区二区三区精品久久| 日韩经典中文字幕一区| 欧美精品一二三| 亚洲成人资源网| 欧美性感一类影片在线播放| 亚洲免费资源在线播放| av电影天堂一区二区在线观看| 久久久.com| 国产成人综合在线播放| 久久精品一区八戒影视| 国产在线观看免费一区| 久久色成人在线| 国产精品888| 中文字幕免费在线观看视频一区| 国产成人在线观看免费网站| 欧美激情一区二区三区不卡| 岛国一区二区三区| 成人免费在线视频| 91免费国产在线| 亚洲一区日韩精品中文字幕| 在线免费观看成人短视频| 亚洲国产wwwccc36天堂| 欧美色区777第一页| 亚洲国产日韩综合久久精品| 欧美色大人视频| 视频一区二区三区中文字幕| 欧美一区二区人人喊爽| 国产一区二区在线观看视频| 久久精品视频免费| caoporm超碰国产精品| 亚洲乱码国产乱码精品精98午夜 | 欧洲视频一区二区| 亚洲一区二区三区四区在线免费观看 | 久久蜜臀中文字幕| 成人性生交大片| 亚洲色图.com| 欧美日韩国产成人在线免费| 免播放器亚洲一区| 久久精品人人做人人爽人人| 风流少妇一区二区| 亚洲三级免费电影| 欧美日本一道本| 精品一区二区三区免费播放 | 美腿丝袜亚洲一区| 久久久国产午夜精品| 99v久久综合狠狠综合久久| 一区二区三区精品视频| 欧美一级片在线| 风间由美一区二区三区在线观看| 自拍偷拍国产精品| 7777精品伊人久久久大香线蕉最新版| 免费在线观看一区| 国产精品萝li| 在线播放亚洲一区| 国产精品一区二区在线看| 亚洲精品视频自拍| 精品区一区二区| 一本大道久久a久久综合| 天天操天天综合网| 中文字幕第一页久久| 欧美日本一道本| 成人高清视频免费观看| 偷拍日韩校园综合在线| 国产欧美日韩精品在线| 欧美日本在线视频| 成人avav在线| 蜜桃免费网站一区二区三区| 综合电影一区二区三区| 欧美zozozo| 欧美性猛交xxxx黑人交| 国产91清纯白嫩初高中在线观看| 亚洲国产精品一区二区www | 免费高清不卡av| 亚洲日本在线视频观看| 欧美成人三级在线| 欧美在线一区二区| 高清不卡在线观看| 理论电影国产精品| 亚洲国产精品综合小说图片区| 久久理论电影网| 欧美区视频在线观看| 不卡在线视频中文字幕| 精品一区二区在线观看| 婷婷久久综合九色综合绿巨人| 国产精品短视频| 久久久亚洲精品石原莉奈| 欧美剧情片在线观看| 99精品视频免费在线观看| 极品少妇一区二区| 丝袜国产日韩另类美女| 亚洲色图欧洲色图| 中文乱码免费一区二区| 精品国产91乱码一区二区三区| 欧美日韩激情在线| 91原创在线视频| 国产成人精品影视| 久久精品噜噜噜成人av农村| 日欧美一区二区| 一区二区三区精品在线| 综合久久久久久| 国产精品欧美综合在线| 久久网这里都是精品| 日韩免费视频一区二区| 91精品视频网| 欧美日韩不卡一区二区| 色婷婷国产精品| 色综合久久综合网| 91亚洲大成网污www| 成人一级片网址| 成人涩涩免费视频| 国产成人午夜视频| 国产成人精品www牛牛影视| 国产精品一二三在| 国产成人精品综合在线观看 | 欧美人xxxx| 7777精品伊人久久久大香线蕉最新版|