`
helloyesyes
  • 浏览: 1310190 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

Win32汇编学习笔记(一)

阅读更多

一、基础

信息以字节为单位存储,即Byte

1Byte8bit,从高到低是7 6 5 4 3 2 1 0

7最高,叫MSBMost Significant Bit

0最低,叫LSBLeast XX

32CPU一次操作可以处理32bit个二进制位。因此需要比字节更大的单位。

比如:字(16bit)、双字(32bit)

如果超过了1Byte,就有个存储顺序的问题。

Inter存一个字,比如0x60 25,存的时候是0x25 0x60的顺序,这是little endian的方式。

Inter不要求字的地址是偶数,如果是偶数,则是一个对准字,如果不是,则称为未对准字。

对应的有big endian方式。在编程前这是首先应该搞清楚的问题。

数据表示

有符号整数用补码。如果用一个字表示一个数,当然有范围问题。

无符号数065535

有符号:-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最常用。用7bit来表示字符。

汉字表示,中国是GB2312-80标准。用两个Byte表示一个汉字。标准映射了了6763个汉字,分成94个区,每区94个位,编号从0xA0开始,不占有ASCII 0x000x7F。每个汉字有唯一的区码和位码。

UNicode是另一种字符映射,它将全世界的字符都包括进来,也使用2Byte

BCD码,目的是将数据的输入和输出变得简单。存466时,如果用一个字,则

466 0001 1101 0010 0x01 D2

如果用BCD,则之间看成 0x04 0x66分别进行保存就行了,这是压缩BCD码。

如果不压缩,则看成0x04 0x06 0x06分别保存。

Inter系列CPU支持BCD形式数字处理的指令。

分享到:
评论

相关推荐

    win32 汇编笔记精华

    **标题:“win32汇编笔记精华”** **概述:** 在计算机科学的世界里,汇编语言是一种低级编程语言,它与机器语言密切相关,直接对应于计算机硬件的指令集。Win32汇编,顾名思义,是应用于Windows 32位操作系统的...

    Win32程序设计学习笔记.pdf

    ### Win32程序设计学习笔记知识点概述 #### 1. 背景知识 - **保护模式下的内存管理**:在保护模式下,处理器能够利用32位寄存器访问4GB的内存空间,不再受限于16位寄存器的20位地址空间。为了实现这种内存访问方式...

    我的关于汇编语言学习整理笔记

    【汇编语言学习整理笔记】 汇编语言,作为计算机科学的基础,是计算机系统与程序员之间的桥梁,它是一种低级编程语言,直接对应机器指令。在Windows环境下,特别是win32平台,汇编语言的应用主要集中在系统级编程、...

    达内2013年win32编程课堂笔记

    ### 达内2013年Win32编程课堂笔记概览 #### 一、编译与连接过程 在Windows编程环境下,特别是针对Win32应用程序开发时,开发者需要了解编译器和连接器的工作原理。编译过程是将源代码(.c或.cpp文件)转换成汇编...

    一个迷你的com通讯程序,是用win32asm写的 功能全面.zip

    【标题】中的“一个迷你的com通讯程序,是用win32asm写的 功能全面.zip”揭示...总的来说,这款程序是一个深入学习Win32汇编语言和COM通信技术的宝贵资源,对于想要提升底层编程技能的开发者来说,具有很高的学习价值。

    汇编语言教程大全(史上最全).zip

    9. **内核.txt**:这部分可能涉及操作系统内核的汇编编程,比如设备驱动、中断处理、内存管理等,是高级汇编学习者探索的领域。 10. **oop.txt**:虽然汇编语言通常不用于实现面向对象编程,但这个文件可能探讨了...

    wav.zip_wav

    标题中的“wav.zip_wav”表明这是一个包含与WAV...这个压缩包可能包含了一个示例程序或源代码,演示了如何用Win32汇编实现键盘模拟和播放WAV音频,对于学习汇编语言和Windows编程的初学者来说,这样的资源非常有价值。

    驱动学习笔记

    VC++6.0虽然是一款较老的开发工具,但它支持创建Windows驱动程序,特别是早期的Win32驱动。开发者需要了解如何配置项目设置,选择正确的工程模板,并使用特定的编译器选项来构建驱动程序。 在游戏开发领域,驱动...

    双旗的Windows编程学习资料包.rar

    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开发笔记(Namey_Niu).pdf

    ### WinAVR与AvrX开发笔记概览 #### 一、WinAVR简介与安装 **WinAVR**是一款广泛应用于AVR单片机开发的工具包,它集成了GCC编译器、汇编器以及其他必要的开发工具,使得开发者能够在Windows环境下轻松地进行AVR...

    Shellcoder’s Handbook: Discovering and exploiting Security Holes---中文CHM

    W.Richard.Stevens的UNP我算是认真看过加了不少旁注,APUE就没有那么认真了,而卷II的一半认真看过,写过读书笔记,卷III就没有看一页。道格拉斯的卷I、卷III是认真看过几遍,卷II就只断续看过。而很多技术文章,...

    USBGL20200709_USB编程_CH9328_ch9328通信协议_ch9328键盘_USB键盘_源码.zip

    在Windows系统中,通常使用WinUSB、USB HID类驱动或自定义USB设备驱动进行编程。USB编程需要理解USB协议栈、设备类规范以及相关的API调用。 2. **CH9328**:CH9328是一款USB到串行接口控制器,由中芯国际集成电路...

Global site tag (gtag.js) - Google Analytics