一、进制转换1.二进制转为十进制:方法:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例:(101.101)2=(5.625)102.十进制转为二进制:1)整数部分:方法:除2取余法(短除法),即每次将整数部分除以2,记录余数,而商继续除以2,继续记录余数,这个步骤一直持续下去,...
分类:
其他好文 时间:
2014-12-23 15:12:55
阅读次数:
149
可以用前一篇操作系统内核加载器(x86汇编)的加载器来加载这个RTC中断程序,就可以显示时间了。...
分类:
其他好文 时间:
2014-12-11 19:16:08
阅读次数:
184
8086CPU地址总线宽度为20, 也就是说一个内存物理地址是5位,内存地址空间为1Mb;数据总线为16位;寄存器为16位。16位结构的CPU包括以下特性:1,运算符最多处理16位数据。2,寄存器最大宽度为16位。3,寄存器与运算器之间的通路是16位。这里就出现了一个问题,如果由16位推出20位的物...
分类:
其他好文 时间:
2014-12-11 15:18:03
阅读次数:
214
x86汇编之十(使用字符串)转自网络,出处不详一、传送字符串Intel提供了完整的字符串传送指令,就像是MOV指令一样。1、MOVS指令1)movs指令格式把字符串从一个位内存位置传送到另一个内存内置,其指令隐含了源操作数与目的操作数。ATT有3条传字符串的指令的,分别是MOVSB,MOVSW,MO...
分类:
其他好文 时间:
2014-12-03 08:11:47
阅读次数:
334
在C语言中,联合体(union)有点像结构体那样,把不同类型的数据组织起来,但和结构体不大一样,在结构体各成员有各自的内存空间,一个结构体对象的总长度是各成员长度之和。而在联合体中,各成员共享一段内存空间,一个联合体对象的长度等于各成员中最长的长度。
由上面描述可知,联合体应该具备多面性,即在汇编层面上,有时候会显示结构体的特征,或数组特征,或其它基本数据类型特征。
先看一下例子:
1 ...
分类:
系统相关 时间:
2014-11-22 17:27:57
阅读次数:
204
本教程是关于使用NESASM汇编器为任天堂娱乐系统(NES, Nintendo Entertainment System)编程的。该教程由浅入深,简化了NES汇编学习过程。在进一步尝试前你几乎必须了解另一种汇编语言,因为本文假设你(哪怕一丁点)基本汇编常识是具备的。例如了解GBA或者Intel x86汇编将对理解基础有很大帮助。祝你在学习NES汇编编程的旅途中一切顺利!...
分类:
其他好文 时间:
2014-11-09 15:18:38
阅读次数:
174
1. 各种视频压缩标准(MPEG2, MPEG4, H261/2/3/4,X264, T264以及H264(AVC)和HEVC(H265)等的优化,改进,创新。 2. 各种不同平台的(CPU, GPU, DSP, ARM等等)开发,移植优化等, 涉及到的语言包括C, C++, X86汇编,TI .....
分类:
编程语言 时间:
2014-10-20 00:34:25
阅读次数:
219
80x86指令系统 80x86指令系统,指令按功能可分为下面七个部分。 (1) 数据传送指令。 (2) 算术运算指令。 (3) 逻辑运算指令。 (4) 串操作指令。 (5) 控制转...
分类:
其他好文 时间:
2014-10-13 15:58:39
阅读次数:
350
编写运行于x86实模式下的16位代码是一个很复古的话题,编写能在DOS下运行的Plain Binary可执行文件是一个更复古的话题。以往,凡是需要使用x86的16位实模式的时候,作者都喜欢那NASM来编程。比如《30天自制操作系统》、《Orange's 一个操作系统的实现》、《x86汇编语言——从实...
分类:
系统相关 时间:
2014-08-24 16:35:42
阅读次数:
422
函数对于一种编程语言,就像细胞对于人一样重要。一个重要的问题是--在高级语言中的函数在底层机器语言上又是怎么实现的?(当然不同的处理器可能会有多种实现方式)在这篇文章中尝试着整理了一下在x86下函数这个概念在机器上的实现过程。主要包括传参,创建局部变量,函数调用等。(英版)...
分类:
其他好文 时间:
2014-07-28 00:05:19
阅读次数:
502