Fork me on GitHub

汇编-06-寄存器

汇编-06-寄存器

前言

  • 寄存器是CPU的组成部分,因为在CPU中,CPU对其读写速度是最快的,不需要IO传输
  • 但是同时寄存器的数量是有限的,优先到几乎每个寄存器都有自己的名字,而且有些还有多个名字。

IA-32构架提供了16个基本寄存器,这16个基本寄存器可以归纳为如下几类:

  • 通用寄存器
  • 段寄存器
  • 状态和控制寄存器
  • 指令寄存器

1. 32位通用寄存器

  • 32位通用寄存器有八个
    • eax : 累加和结果寄存器
    • ebx:数据指针寄存器
    • ecx:循环计数器
    • edx:i/o指针
    • esi:源地址寄存器
    • edi:目标地址寄存器
    • ebp:堆栈指针
    • esp:栈指针寄存器
阅读更多...

汇编-05-位运算

汇编-05-位运算

前言

  • 日常开发中位运算不是很常用,但是巧妙的使用位运算可以大量的减少运行的开销,优化算法。
  • 举个例子,翻转的操作比较常见,比如初始值是1,操作一次变成0,再操作一次变成1。 可能的做法是使用三木运算符,判断原始值是1还是0,如果是1,设置位0。否则设置位0,但是使用位运算,不用判断原始值,直接改变值就可以。1^num //num 为原始值。
  • 当然,一句代码可能对性能没有什么影响,到那时在高并发,大数据量的情况下可以节省很多开销。
  • 以下是整理的关于java位运算的部分内容,如有错误,还请指出,以共同进步,先行致谢。
阅读更多...

Leetcode-088-合并两个有序数组

Leecode-088-合并两个有序数组

题目描述

给你两个有序整数数组 nums1nums2*,请你将 *nums2 合并到 nums1使 nums1 成为一个有序数组。

说明:

  • 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。
  • 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
1
2
3
4
5
6
7
示例:

输入:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6], n = 3

输出: [1,2,2,3,5,6]
阅读更多...
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信