自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

tiantiant1的专栏

c 汇编 天天

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 深入了解计算机系统 练习题2.74

#include int tsub_ovf(int x,int y){ int z=0; /* x0,x-y>0,执行z=1 */ (x&INT_MIN)&&!(y&INT_MIN)&&!((x-y)&INT_MIN)&&(z=1); /* x>0并且y<0,x-y<0,执行z=1;*/ !(x&INT_MIN)&&(y&INT_MIN)&&((x-y)&I

2012-12-10 12:57:59 490

原创 深入了解计算机系统 家庭作业 2.73

#include int saturating_add(int x,int y){ int z=x+y; (x&INT_MIN)&&(y&INT_MIN)&&!(z&INT_MIN)&&(z=INT_MIN); !(x&INT_MIN)&&!(y&INT_MIN)&&(z&INT_MIN)&&(z=INT_MAX); return z;}第一个判别x与y是否同时

2012-12-03 21:34:06 527

原创 深入了解计算机系统家庭作业 2.72

void copy_int(int val,void *buf,int maxbytes){ if(maxbytes>=sizeof(val)) memcpy(buf,(void*)&val,sizeof(val));}

2012-12-03 20:40:08 453

原创 深入了解计算机系统 练习题 2.69

/* *Do rotating right shift. Assume 0<=n<=w *Examples when x=0x12345678 and w=32: * n=4 ->0x81234567,n=20 ->0x45678123 */unsigned rotate_right(unsigned x,int n){ /*计算位数*/ int w=sizeof

2012-12-01 14:35:39 399

原创 深入了解计算机系统 家庭作业 2.68

/* *Make with least signficant n bits set to 1 *Assume 1<=n<=w */int lower_bits(int x,int n){ x|=1<<n-1; return x;}我对这一题的理解是把x的低n位全部赋为1.。。。。。。。。。。

2012-12-01 14:15:02 437

原创 深入了解计算机系统 2.67

int bad_int_size_is_32(){ int set_msb=1<<31; return set_msb == INT_MIN;}INT_MIN的二进制表示最高位总为1,总位数的多少由操作系统来定。。

2012-12-01 13:58:53 746

原创 深入了解计算机系统 家庭作业 2.66

int leftmost_one(unsigned x){ x|=x>>1; x|=x>>2; x|=x>>4; x|=x>>8; x|=x>>16; return (x&((~x)>>1)|0x80000000));}原理是:先把最高位1右边的全部变为1;对x取反,然后向右移1,这样以后转换后的数的最低位1与装换前最高位1在统一位;之后最高位赋为1,然

2012-12-01 13:40:25 369

原创 习题 2.65

int even_ones(unsigned x){ x=x^(x>>16); x=x^(x>>8); x=x^(x>>4); x=x^(x>>2); x=x^(x>>1); return !(x&1);}解释:异或中1^1=0,把x折成两半进行异或,含1个数的奇偶性不变;之后再把x对折直到对折成x只有一位为止。。。。。。。前提是int有w=32位。。

2012-11-29 18:21:38 247

原创 习题 2.64

int any_even_one(unsigned x){ return !(0xaaaaaaaa^x);}

2012-11-29 13:20:05 329

原创 深入了解计算机系统 习题2.63

#include #include /*总体说明:逻辑右移和算数右移只有在最高位为1的情况下才会不同*/int sra(int x,int k){ /*Perform shift logically*/ int xshl=(unsigned)x>>k; int w=sizeof(int)<<3; /*核心运算*/ (x&INT_MIN)&&(xshl|=(-1)

2012-11-29 09:43:09 555

原创 深入了解计算机系统 习题2.62

#include #include /*判断是否是算术右移*/int int_shifts_are_logical(void){ /*核心判断*/ return ((INT_MIN|INT_MAX)>>1)==(INT_MIN|INT_MAX);}int main(){ int x; x=int_shifts_are_logical();

2012-11-29 08:01:22 307

原创 关于王爽老师实验实验八 (分析一个奇怪的程序)之个人解析

我是一个初学者,满打满算也就自学了一个月汇编。废话不说了,转入正题:assume cs:codecode segment mov ax,4c00h int 21h start:mov ax,0 s:nop nop mov di,offset s mov si,offset s2 mov ax,cs:[si

2012-06-24 10:09:34 9301

汇编语言王爽

一本不错的汇编入门书籍,书里讲的都比较不错。。

2012-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除