在 masm32.inc 中有这样几个函数的声明:
 
byt2bin_ex  PROTO :BYTE, :DWORD
wrd2bin_ex  PROTO :WORD, :DWORD
dw2bin_ex   PROTO :DWORD, :DWORD
dw2hex_ex   PROTO :DWORD, :DWORD
bin2byte_ex PROTO :DWORD

--------------------------------------------------------------------------------------------------------------

.386
.model flat, stdcall

include    windows.inc
include    kernel32.inc
include    masm32.inc
include    debug.inc
includelib kernel32.lib
includelib masm32.lib
includelib debug.lib

.data
    szBin db 8 dup(0), 0  ;这是接收二进制字符串的缓冲区
    bVal  db 3
    wVal  dw 3
    szHex db 8 dup(0), 0  ;这是接收十六进制字符串的缓冲区
    dwVal dd 255
    szTxt1 db '00000010', 0
    szTxt2 db '01111011', 0
    szTxt3 db '11111111', 0

.code
main proc
;------------------------------------------------------------------------------------------------
    ;查看数字的二进制信息
    invoke byt2bin_ex, 2, addr szBin
    PrintString szBin ;00000010
   
    ;查看变量 bVal 的二进制信息
    invoke byt2bin_ex, bVal, addr szBin
    PrintString szBin ;00000011
   
    ;查看寄存器 al 的二进制信息
    mov al, 0feh
    invoke byt2bin_ex, al, addr szBin
    PrintString szBin ;11111110
    PrintLine
;------------------------------------------------------------------------------------------------   
    ;查看数字的二进制信息
    invoke wrd2bin_ex, 2, addr szBin
    PrintString szBin ;0000000000000010
   
    ;查看变量 wVal 的二进制信息
    invoke wrd2bin_ex, wVal, addr szBin
    PrintString szBin ;0000000000000011
   
    ;查看寄存器 ax 的二进制信息
    mov ax, 0fffeh
    invoke wrd2bin_ex, ax, addr szBin
    PrintString szBin ;1111111111111110
    PrintLine
;------------------------------------------------------------------------------------------------   
    ;查看数字的十六进制信息
    invoke dw2hex_ex, 16, addr szHex
    PrintString szHex ;00000010
   
    ;查看变量 dwVal 的十六进制信息
    invoke dw2hex_ex, dwVal, addr szHex
    PrintString szHex ;000000FF
   
    ;查看寄存器 eax 的十六进制信息
    mov eax, 2694881440
    invoke dw2hex_ex, eax, addr szHex
    PrintString szHex ;A0A0A0A0
;------------------------------------------------------------------------------------------------
    invoke bin2byte_ex, addr szTxt1
    PrintDec eax  ;2
   
    invoke bin2byte_ex, addr szTxt2
    PrintDec eax  ;123
  
    invoke bin2byte_ex, addr szTxt3
    PrintDec eax  ;255
    PrintLine
;------------------------------------------------------------------------------------------------
    lahf  ;LAHF 指令是把 EFLAGS 寄存器的低字节读入 AH
    invoke byt2bin_ex, ah, addr szBin
    PrintString szBin  ;01000110-----EFlage的低8位
ret
main endp
end main

-------------------------------------------------------------------------------------------------------------------------------------------------

szBin = 00000010 (Test.asm, 28)
szBin = 00000011 (Test.asm, 32)
szBin = 11111110 (Test.asm, 37)
----------------------------------------
szBin = 0000000000000010 (Test.asm, 42)
szBin = 0011000000110000 (Test.asm, 46)
szBin = 1111111111111110 (Test.asm, 51)
----------------------------------------
szHex = 00000010 (Test.asm, 56)
szHex = 000000FF (Test.asm, 60)
szHex = A0A0A0A0 (Test.asm, 65)
eax = 2 (Test.asm, 68)
eax = 123 (Test.asm, 71)
eax = 255 (Test.asm, 74)
----------------------------------------
szBin = 00000110 (Test.asm, 79)

所以大家以后多看看头文件  给我们提供了哪些比较方便的东东哦

Win32ASM学习[8]: 进制转换的库函数相关推荐

  1. Java学习笔记 --- 进制转换

    一.进制 1.1.二进制:0,1表示,满2进1,以0b或者0B开头. 1.2.八进制:0-7,满8进1,以数字0开头. 1.3.十进制:0-9,满10进1 1.4.十六进制:0-9及A(10)-F(1 ...

  2. 学习笔记7-C语言-进制转换、原返补、位运算、函数

    进制转换 为什么要使用二.八进制.十六进制?因为现在的CPU只能识别高低两种电流,因此只能对二进制数据进行运算二进制数据虽然可以直接被cpu识别,但不方便人们书写.记录,所以把二进制数据转换成八进制是 ...

  3. 数据结构学习笔记:利用栈实现进制转换

    数据结构学习笔记:利用栈实现进制转换 一.除基倒取余法示意图 二.编写十进制转换成二进制Python程序 1.源代码 2.运行结果 其实Python提供了一

  4. 从0开始学习C语言————数组、进制转换、函数

    数组: 什么是数组: 变量的组合,是一种批量定义变量的方式 定义: 类型 数组名[数量]; int num1,num2,num3,num4,num5; int arr[5]; 使用:数组名[下标]; ...

  5. 西门子PLC1200学习之进制的转换

    西门子PLC1200学习之进制的转换 四种进制: 二进制:由0.1组成: 十进制:由0~9组成: 十六进制:由0~9.A.B.C.D.E.F组成:(主要用来在表达特别大的二进制时,防止写错而用十六进制 ...

  6. 第一课——进制转换学习实例

    第一课(趣味二进制--修改植物大战僵尸数据) 任务介绍 学习目标 知识需求 需求工具 第一步--修改关卡 第二步--修改金钱 枯燥无味的填充知识总是让人厌倦,怎样去开心的学习.让学习成为一种兴趣是我想 ...

  7. C1任务1:进制转换 学习与技巧总结

    系列文章目录 C1 任务-01:进制转换 C1 任务-02:信息单位 C1 任务-03:数据校验 C1 任务-04:多媒体基础参数 C1 任务-05:HTTP 文章目录 系列文章目录 前言 一.进制定 ...

  8. python学习-综合练习三(斐波那契数列、阿姆斯特朗数、//和/、十进制转二进制bin、八进制oct、十六进制hex、进制转换源码、python中::和:的区别)

    文章目录 斐波那契数列 阿姆斯特朗数 十进制转二进制bin.八进制oct.十六进制hex 补充进制转换源码 python中::和:的区别 说明:本篇博文的知识点大部分来自 Python3 实例 斐波那 ...

  9. python的用算法进制转换详解_学习python第五天进制转换

    6.进制之间的转换(重要) 二进制:满二进一 范围:0.1符号:0b例如:0b10...[注意]计算机只能识别二进制数据 八进制:满八进一 范围:0~7符号:0o例如:0o66 十进制:满十进一 范围 ...

最新文章

  1. SOA与云计算相结合推动企业发展
  2. 在组件之间实现事务和异步提交事务(NET2.0)
  3. 一天搞定CSS(扩展):CSS Hack
  4. C#实现局域网UDP广播--
  5. 响应式Web设计——最佳指南
  6. ffmpeg转码_音视频处理神器FFmpeg
  7. 统计相关系数r与r2的区别_什么是相关系数? 统计解释中的r值
  8. java获取当前日期时间_Java日期时间API系列10-----Jdk8中的DateTimeFormatter
  9. 想不到吧,这些都是 Go 语言的语法糖
  10. 案例展示自定义C函数的实现过程
  11. 创建选修专业表oracle,数据库及数据表的创建与删除 (Oracle实验)
  12. MediaInfo源代码分析 3:Open()函数
  13. javascript 正则
  14. Nginx高可用极速实战:通过KeepAlived与华为云虚拟IP实现
  15. vb改变字形的代码是什么_求VB中调整字体颜色代码
  16. vdbench多主机运行指导
  17. 好像有点看不懂,脑洞
  18. unity通过点击按钮获取手机验证码
  19. repo的安装和使用
  20. JavaScript---网络编程(8)-DHTML技术演示(1)

热门文章

  1. 最早的齿轮计算机,世界最古老“计算机”出土后110年,科学家终于解开它的秘密...
  2. hadoop伪分布式搭建 java_hadoop2.2.0伪分布式搭建
  3. php正则替换p闭合标签,php正则替换标签的实现方法
  4. 前后端分手大师——MVVM 模式
  5. [译] 帮助你成为一名成功的 Web 开发工程师的 21 步
  6. 3. HTML中的容器标签
  7. BZOJ1706奶牛接力跑
  8. javascript中令人迷惑的this
  9. console.log打印没有效果
  10. PotPlayer安装与配置