测试修改cmd背景颜色,输入输出整数,输出字符串,打印内存内容等函数。

;// 测试 Irvine32 库
;// Clrscr              清空控制台
;// Crlf                输出回车换行
;// DumpMem             打印内存内容
;// ReadInt             输入32位整数
;// SetTextColor        设置背景和字体颜色
;// WaitMsg             暂停执行,输出等待信息
;// WriteBin            输出整数(二进制)
;// WriteHex            输出整数(十六进制)
;// WriteString         输出字符串include Irvine32.inc.data
COUNT = 4                                              ;// 循环输入4个整数
BlueTextOnGray = blue + (lightGray * 16)              ;// 灰底蓝字
DefaultColor = lightGray + (black * 16)                   ;// 黑底灰字arrayD SDWORD 12345678h, 1A4B2000h, 3434h, 7AB9h        ;// 有符号32位数组
prompt BYTE "Enter a 32-bit signed integer: ", 0      ;// 提示输入.code
main PROC;// 设置灰底蓝字
mov eax, BlueTextOnGray
call SetTextColor
call Clrscr;// 内存输出:esi 是内存地址;ebx 是单个元素的字节大小;ecx 是元素个数
mov esi, offset arrayD
mov ebx, type arrayD
mov ecx, lengthof arrayD
call DumpMem;// 循环 COUNT 次,输入32位整数,依次输出十进制、十六进制、二进制形式
call Crlf
mov ecx, COUNT
L1:
mov edx, offset prompt
call WriteString
call ReadInt                ;// 读取整数到 eax
call Crlfcall WriteInt              ;// 输出 eax 中的整数
call Crlf
call WriteHex
call Crlf
call WriteBin
call Crlf
call Crlfloop L1call WaitMsg;// 恢复默认背景颜色和字体颜色
mov eax, DefaultColor
call SetTextColor
call Clrscrexit
main ENDP
END main

随机数测试

include Irvine32.incTAB = 9                 ;// TAB 的 ASCII 码.code
main PROC
call Randomize          ;// 初始化随机数种子
call Rand1
call Rand2
exit
main ENDP;// 生成10个随机数
Rand1 PROC
mov ecx, 10
L1:
call Random32           ;// 生成随机整数,保存到 eax
call WriteDec
mov al, TAB
call WriteChar          ;// 输出TAB
loop L1
call Crlf               ;// 回车换行
ret
Rand1 ENDP;// 生成10个 -50 到 +49 的随机数
Rand2 PROC
mov ecx, 10
L1:
mov eax, 100            ;// 数值范围 0~99
call RandomRange        ;// 生成随机整数
sub eax, 50
call WriteInt
mov al, TAB
call WriteChar
loop L1
call Crlf
ret
Rand2 ENDPend main

【Win32汇编】测试Irvine32库相关推荐

  1. win32 汇编基础概念整理

    一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...

  2. win32汇编基础概念

    一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...

  3. win32汇编琢石成器第三章笔记

    这章主要还是讲一些masm这个编译器所适用的一些语法,和win32汇编语法 目录) 第三章 完整的程序结构 3.1.1 3.1.2段 3.1.4注释和换行 3.2.2调用函数 3.2.3API中的等值 ...

  4. Win10系统VS2022开发环境中(X86)Win32汇编(MASM32)环境配置和一些示例源码及解释

    抱歉,还是只能用米国的软件以及技术以及等等等等......,所以各位勿怪. 如果配置完成,在vs2022调试环境下正确编译运行后,可以看到如下画面: 在VS022中开发学习汇编必然很方便. 这里可以下 ...

  5. Win32汇编环境配置

    放假了,发现自己知识面窄,趁有时间就打算折腾下Win32汇编.其实在学校也上过汇编课,是基于dos的.那时老师不务正业,老跟我们讲政治经济文化,唯独不怎么讲课;再加上自己的问题,导致了dos汇编学得好 ...

  6. 【Win32汇编】学习Win32汇编

    学习Win32汇编(Windows下的32位汇编) 第一个程序Hello world 控制台输出(新建Console App工程) Debug输出(新建Win32 App工程) 后面代码的头文件在这里 ...

  7. Win32汇编学习——windows汇编语法(小甲鱼教程)

    Win32汇编学习--windows汇编语法(小甲鱼教程) 1)指令集 .386 语句是汇编语句的伪指令,类似指令有:.8086 . .186  ..286  ..386/.386p  . .486/ ...

  8. 选择“Win32汇编”的三大理由?

    选择Win32汇编的理由是什么呢? 在DOS时代,学习汇编就是学习系统底层编程的代名词,仅要成为一名入门级的汇编程序员,就需要学习从CPU结构.CPU工作方式.各种硬件的编程方法到DOS工作方式等范围 ...

  9. Win32 汇编环境和入门程序图解

    一 安装 在安装的最后,执行VBS脚本,在桌面建立快捷方式:执行快捷方式,会调入Win32汇编的编辑器qeditor.exe,进入到开发环境 二 构建Hello World程序 ;.386是伪指令 告 ...

最新文章

  1. [Android Pro] 有关Broadcast作为内部类时注册的一些问题
  2. Science首发奥密克戎突刺蛋白分子水平分析,揭秘2大传染性增强原因,柳叶刀:全球大流行有望3月结束...
  3. Failure [DELETE_FAILED_INTERNAL_ERROR]的解决办法
  4. 冒犯了,问大家一个问题,会linux的进来帮我解决一下
  5. 修改Linux中的用户名
  6. in作为介词的用法_英语中in/on/at/to/from/by/with/for/about/after/before的用法
  7. 蜂鸣器音乐代码 天空之城_潮玩 | 艺术展览,乐队live现场,网红小黑泥,贩卖“美好”的市集……一场未来公共生活,天空之城和你一起探索!...
  8. java中读取单个字符_如何使用Java中的Scanner类读取单个字符?
  9. 数组,三种初始化和内存分析
  10. Linux内核驱动如何编写?我们先从字符驱动入门开始
  11. 7-5 素数判断 (10 分)
  12. java quartz TriggerBuilder
  13. Redis 6.0 源码阅读笔记(1) -- Redis 服务端启动及命令执行
  14. ipython 安装_IPYTHON安装.DOC
  15. Android模拟点击
  16. VScode输入感叹号时,没有出现模板
  17. K_A02_001 基于单片机驱动4位数码管模块(74HC595) 0-3滚动+ 时钟显示
  18. nobody用户介绍
  19. 《数据结构》11-散列1 电话聊天狂人
  20. 微信小程序如何在后端获取openId?

热门文章

  1. python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...
  2. HighNewTech:低代码(0代码/无代码,无需代码)开发的简介以及如何选择最合适的低代码开发工具
  3. 成功解决TypeError: ufunc 'sqrt' not supported for the input types, and the inputs could not be safely co
  4. 成功解决ValueError: setting an array element with a sequence.
  5. TF之p2p:基于TF利用p2p模型部分代码实现提高图像的分辨率
  6. NLP:两种方法(自定义函数和封装函数)实现提取两人对话内容(***分隔txt文档),并各自保存为txt文档
  7. Py:递归求解汉诺塔,简单的几行编程可以搞定很高层的三柱汉诺塔游戏
  8. CV:Win10下深度学习框架安装之Tensorflow/tensorflow_gpu+Cuda+Cudnn(最清楚/最快捷)之详细攻略(图文教程)
  9. Linux绝对路径和相对路径简单介绍
  10. I-string_2019牛客暑期多校训练营(第四场)