【Win32汇编】测试Irvine32库
测试修改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库相关推荐
- win32 汇编基础概念整理
一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...
- win32汇编基础概念
一.关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,EBP等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会. EAX是 ...
- win32汇编琢石成器第三章笔记
这章主要还是讲一些masm这个编译器所适用的一些语法,和win32汇编语法 目录) 第三章 完整的程序结构 3.1.1 3.1.2段 3.1.4注释和换行 3.2.2调用函数 3.2.3API中的等值 ...
- Win10系统VS2022开发环境中(X86)Win32汇编(MASM32)环境配置和一些示例源码及解释
抱歉,还是只能用米国的软件以及技术以及等等等等......,所以各位勿怪. 如果配置完成,在vs2022调试环境下正确编译运行后,可以看到如下画面: 在VS022中开发学习汇编必然很方便. 这里可以下 ...
- Win32汇编环境配置
放假了,发现自己知识面窄,趁有时间就打算折腾下Win32汇编.其实在学校也上过汇编课,是基于dos的.那时老师不务正业,老跟我们讲政治经济文化,唯独不怎么讲课;再加上自己的问题,导致了dos汇编学得好 ...
- 【Win32汇编】学习Win32汇编
学习Win32汇编(Windows下的32位汇编) 第一个程序Hello world 控制台输出(新建Console App工程) Debug输出(新建Win32 App工程) 后面代码的头文件在这里 ...
- Win32汇编学习——windows汇编语法(小甲鱼教程)
Win32汇编学习--windows汇编语法(小甲鱼教程) 1)指令集 .386 语句是汇编语句的伪指令,类似指令有:.8086 . .186 ..286 ..386/.386p . .486/ ...
- 选择“Win32汇编”的三大理由?
选择Win32汇编的理由是什么呢? 在DOS时代,学习汇编就是学习系统底层编程的代名词,仅要成为一名入门级的汇编程序员,就需要学习从CPU结构.CPU工作方式.各种硬件的编程方法到DOS工作方式等范围 ...
- Win32 汇编环境和入门程序图解
一 安装 在安装的最后,执行VBS脚本,在桌面建立快捷方式:执行快捷方式,会调入Win32汇编的编辑器qeditor.exe,进入到开发环境 二 构建Hello World程序 ;.386是伪指令 告 ...
最新文章
- [Android Pro] 有关Broadcast作为内部类时注册的一些问题
- Science首发奥密克戎突刺蛋白分子水平分析,揭秘2大传染性增强原因,柳叶刀:全球大流行有望3月结束...
- Failure [DELETE_FAILED_INTERNAL_ERROR]的解决办法
- 冒犯了,问大家一个问题,会linux的进来帮我解决一下
- 修改Linux中的用户名
- in作为介词的用法_英语中in/on/at/to/from/by/with/for/about/after/before的用法
- 蜂鸣器音乐代码 天空之城_潮玩 | 艺术展览,乐队live现场,网红小黑泥,贩卖“美好”的市集……一场未来公共生活,天空之城和你一起探索!...
- java中读取单个字符_如何使用Java中的Scanner类读取单个字符?
- 数组,三种初始化和内存分析
- Linux内核驱动如何编写?我们先从字符驱动入门开始
- 7-5 素数判断 (10 分)
- java quartz TriggerBuilder
- Redis 6.0 源码阅读笔记(1) -- Redis 服务端启动及命令执行
- ipython 安装_IPYTHON安装.DOC
- Android模拟点击
- VScode输入感叹号时,没有出现模板
- K_A02_001 基于单片机驱动4位数码管模块(74HC595) 0-3滚动+ 时钟显示
- nobody用户介绍
- 《数据结构》11-散列1 电话聊天狂人
- 微信小程序如何在后端获取openId?
热门文章
- python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...
- HighNewTech:低代码(0代码/无代码,无需代码)开发的简介以及如何选择最合适的低代码开发工具
- 成功解决TypeError: ufunc 'sqrt' not supported for the input types, and the inputs could not be safely co
- 成功解决ValueError: setting an array element with a sequence.
- TF之p2p:基于TF利用p2p模型部分代码实现提高图像的分辨率
- NLP:两种方法(自定义函数和封装函数)实现提取两人对话内容(***分隔txt文档),并各自保存为txt文档
- Py:递归求解汉诺塔,简单的几行编程可以搞定很高层的三柱汉诺塔游戏
- CV:Win10下深度学习框架安装之Tensorflow/tensorflow_gpu+Cuda+Cudnn(最清楚/最快捷)之详细攻略(图文教程)
- Linux绝对路径和相对路径简单介绍
- I-string_2019牛客暑期多校训练营(第四场)