- 博客(6)
- 收藏
- 关注
原创 CUDA入门——cudaMalloc函数的理解
关于CUDA中cudaMalloc函数的参数问题很多小伙伴在学习CUDA时接触到的第一个API:cudaMalloc会有疑问,第一个参数为地址指针。关于这个地址指针,今天通过这篇文章阐述我的理解。cudaMalloc的原型为: cudaError_t cudaMalloc(void** devPtr, size_t size)这个API与C语言中的malloc大同小异。malloc用法为:int *a = (int )malloc(nsizeof(int)),返回的是一个int型指针,指向大小为n个
2021-11-03 00:52:54
16716
4
原创 汇编语言中短转移指令jmp short指令偏移地址计算
汇编语言中,jmp short指令是8位转移指令,可以修改ip寄存器的范围为-128~127 (8位补码的表示范围,因为偏移地址计算使用的是补码)短转移指令的机器码格式为EB??,其中??表示8位偏移地址,接下来研究??的计算方法。一、公式介绍要计算jmp short的偏移地址,我们要记住公式:偏移地址=标记处的偏移地址-CPU读完该jmp指令后的ip寄存器值二、方法步骤1.后跳转我们引入MASM中的代码片段DATAS SEGMENTDATAS ENDSCODES SEGMENT
2020-08-02 18:54:38
6957
原创 原码的恢复余数除法和加减交替除法
原码的除法分讲两种,一种是恢复余数法,一种是加减交替法恢复余数法过程为:① 对被除数和除数取绝对值,先做被除数-除数。② 判断余数是否小于0,若是,则加上除数的补,否则减去除数的补③ 移位,重复步骤② 直到移位次数等于除数的位数,上商的次数为移位次数+1。直接上题:x=-0.1011, y=-0.1101, 求[x/y]原。解:① 先求绝对值,x_=0.1011, y_=0....
2020-03-21 08:38:49
15539
4
原创 补码一位乘和补码二位乘
补码一位乘回顾原码的一位乘:原码一位乘是数值位之间的计算,计算之前需要对被乘数取绝对值,符号位单独处理;而补码乘法的符号位是计算过程中产生的,因此不需要对被乘数取绝对值。补码的一位乘只讲比较法(Booth法)原理:被乘数和部分积均取2位符号位,因此乘数和被乘数均要在最高位扩位。补码扩位原则:正数补0,负数补1.乘数取一位附加位,作为乘数的最后一位,在移动时作为最低位处理,初始化值为...
2020-03-17 18:16:24
11195
7
原创 计组中原码一位乘和原码二位乘方法和注意事项
原码乘法可以分为原码一位乘和原码二位乘,两者在实现上规则大同小异原码一位乘原码一位乘采用数值位计算,符号位为两操作数异或结果。步骤如下:对乘数和被乘数取绝对值(数值位不变,符号位换0)初始化部分积的格式为0.xxxxx(小数点左边取一位)开始判断乘数的最低位,如果最低位是1,则部分积加上被乘数如果最低位是0,则直接进行步骤5中的移位操作注意! 相加完毕后,先对乘数进行右移一位的...
2020-03-16 22:18:30
9454
3
原创 原码的加减法计算规则
原码的加减法计算规则计算机中原码的加减法计算规则为:符号位不参与计算,数值位进行加减。① 在加法中分两种情况:第二操作数为正号,此时对第一操作数和第二操作数的数值位做加法。第二操作数为负号,此时对第一操作数和第二操作数的数值位做减法。② 在减法中分两种情况:第二操作数为正号,对第一操作数和第二操作数的数值位做减法。第二操作数为负号,对第一操作数和第二操作数的数值位做加法。...
2020-03-13 21:47:09
37195
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人