一、基础
信息以字节为单位存储,即Byte。
1个Byte有8个bit,从高到低是7 6 5 4 3 2 1 0。
第7最高,叫MSB,Most Significant Bit。
第0最低,叫LSB,Least XX。
32位CPU一次操作可以处理32bit个二进制位。因此需要比字节更大的单位。
比如:字(16bit)、双字(32bit)
如果超过了1个Byte,就有个存储顺序的问题。
Inter存一个字,比如0x60 25,存的时候是0x25 0x60的顺序,这是little endian的方式。
Inter不要求字的地址是偶数,如果是偶数,则是一个对准字,如果不是,则称为未对准字。
对应的有big endian方式。在编程前这是首先应该搞清楚的问题。
数据表示
有符号整数用补码。如果用一个字表示一个数,当然有范围问题。
无符号数0~65535
有符号:-32768 ~ 32767
存正整数正常存,存负整数时保存的是数的绝对值取反加1。比如,保存-466,
0000 0001 1101 0010 = 446
1111 1110 0010 1101 取反
1 加1
----------
1111 1110 0010 1110 实际保存的数,按照little endian保存,则0010 1110在前,1111 1110在后。
字符表示需要有一个映射表,ASCII最常用。用7个bit来表示字符。
汉字表示,中国是GB2312-80标准。用两个Byte表示一个汉字。标准映射了了6763个汉字,分成94个区,每区94个位,编号从0xA0开始,不占有ASCII 0x00~0x7F。每个汉字有唯一的区码和位码。
UNicode是另一种字符映射,它将全世界的字符都包括进来,也使用2个Byte。
BCD码,目的是将数据的输入和输出变得简单。存466时,如果用一个字,则
466 = 0001 1101 0010 = 0x01 D2
如果用BCD,则之间看成 0x04 0x66分别进行保存就行了,这是压缩BCD码。
如果不压缩,则看成0x04 0x06 0x06分别保存。
Inter系列CPU支持BCD形式数字处理的指令。
分享到:
相关推荐
**标题:“win32汇编笔记精华”** **概述:** 在计算机科学的世界里,汇编语言是一种低级编程语言,它与机器语言密切相关,直接对应于计算机硬件的指令集。Win32汇编,顾名思义,是应用于Windows 32位操作系统的...
【汇编语言学习整理笔记】 汇编语言,作为计算机科学的基础,是计算机系统与程序员之间的桥梁,它是一种低级编程语言,直接对应机器指令。在Windows环境下,特别是win32平台,汇编语言的应用主要集中在系统级编程、...
### 达内2013年Win32编程课堂笔记概览 #### 一、编译与连接过程 在Windows编程环境下,特别是针对Win32应用程序开发时,开发者需要了解编译器和连接器的工作原理。编译过程是将源代码(.c或.cpp文件)转换成汇编...
【标题】中的“一个迷你的com通讯程序,是用win32asm写的 功能全面.zip”揭示...总的来说,这款程序是一个深入学习Win32汇编语言和COM通信技术的宝贵资源,对于想要提升底层编程技能的开发者来说,具有很高的学习价值。
9. **内核.txt**:这部分可能涉及操作系统内核的汇编编程,比如设备驱动、中断处理、内存管理等,是高级汇编学习者探索的领域。 10. **oop.txt**:虽然汇编语言通常不用于实现面向对象编程,但这个文件可能探讨了...
标题中的“wav.zip_wav”表明这是一个包含与WAV...这个压缩包可能包含了一个示例程序或源代码,演示了如何用Win32汇编实现键盘模拟和播放WAV音频,对于学习汇编语言和Windows编程的初学者来说,这样的资源非常有价值。
VC++6.0虽然是一款较老的开发工具,但它支持创建Windows驱动程序,特别是早期的Win32驱动。开发者需要了解如何配置项目设置,选择正确的工程模板,并使用特定的编译器选项来构建驱动程序。 在游戏开发领域,驱动...
API Hook基本原理和实现.doc Delphi 消息机制学习笔记.doc Delphi编写Ping程序.doc Win32调试API学习心得.doc 簡單的Windows API示例.doc 数字信号处理器.pdf 处理器的结构.doc 汇编语言...
描述中提到“win32汇编编写”表示这款应用是使用Win32 API(应用程序接口)和汇编语言编写的。汇编语言是一种低级编程语言,程序员可以直接控制硬件的功能,因此用汇编编写的程序往往更高效,但编写难度也相对较大。...
[Trial version] 《COM 原理与应用》学习笔记 - 第一部分 COM原理.htm [Trial version] 附录D 通过崩溃地址找出出错的代码行 [Trial version] 如何通过崩溃地址找到出错的代码行.htm [Trial version] 附录E 堆栈...
以上就是从《国嵌笔记》中提炼出来的知识点,涵盖了嵌入式系统开发的基础和进阶内容,涉及网络服务配置、交叉编译工具链安装、ARM架构编程、Bootloader设计等多个方面,为学习者提供了全面深入的学习资料。
### WinAVR与AvrX开发笔记概览 #### 一、WinAVR简介与安装 **WinAVR**是一款广泛应用于AVR单片机开发的工具包,它集成了GCC编译器、汇编器以及其他必要的开发工具,使得开发者能够在Windows环境下轻松地进行AVR...
W.Richard.Stevens的UNP我算是认真看过加了不少旁注,APUE就没有那么认真了,而卷II的一半认真看过,写过读书笔记,卷III就没有看一页。道格拉斯的卷I、卷III是认真看过几遍,卷II就只断续看过。而很多技术文章,...
在Windows系统中,通常使用WinUSB、USB HID类驱动或自定义USB设备驱动进行编程。USB编程需要理解USB协议栈、设备类规范以及相关的API调用。 2. **CH9328**:CH9328是一款USB到串行接口控制器,由中芯国际集成电路...