
深入理解计算机系统(C语言实现)
alike_meng
好菜啊,怎么办
展开
-
数据对象的十六进制字节表示
这段代码主要是学习强制转换,同时把一些数据类型也搞得更清楚一些,还有转化为字节表示的方法。typedef unsigned char *byte_pointer;这条语句看到一个更加通顺的解释将byte_pointer 指向 类型为unsigned char对象 的 指针。(明确重命名之后他是一个指针,指向的数据类型)show_byte 输入字节序列的地址,取字节数,打印出每个以十六进制...原创 2018-12-07 22:03:36 · 1798 阅读 · 0 评论 -
扩展数字的位表示
#include<stdio.h>typedef unsigned char *byte_pointer;void show_bytes(byte_pointer start, size_t len){ size_t i; for (i = 0; i < len; i++) printf("%.2x ", start[i]); printf("\n");...原创 2018-12-09 16:23:46 · 496 阅读 · 2 评论 -
寄存器操作数大小及参数数量
在看程序的机器级表示的时候可以跟着书上的思路来用这个寄存器实现什么什么,但是为什么是用这个寄存器呢。这个表应该可以得到一些解答。x86-64寄存器最多传递6个整型参数,超出部分用栈来传递。使用的寄存器的名字取决于操作数大小和参数个数。操作数大小(位) 参数数量...原创 2019-02-08 13:26:43 · 4018 阅读 · 0 评论