读书笔记——Windows环境下32位汇编语言程序设计(9)ANSII字符大小写转大写
来源:互联网 发布:软件质量计划 编辑:程序博客网 时间:2024/05/16 01:36
在罗云彬的《Windows环境下32位汇编语言程序设计》中第321页
....constszAllowedChardb'0123456789ABCDEFabcdef',08h....code_ProcEdit proc uses ebx edi esi hWnd,uMsg,wParam,lParam mov eax,uMsg .if uMsg == WM_CHAR mov eax,wParam mov edi,offset szAllowedChar mov ecx,sizeof szAllowedChar repnz scasb .if ZERO? .if al > '9' and al,not 20h .endif invoke CallWindowProc,lpOldProcEdit,hWnd,uMsg,eax,lParam ret .endif .else invoke CallWindowProc,lpOldProcEdit,hWnd,uMsg,wParam,lParam ret .endif xor eax,eax ret_ProcEdit endp...主要功能代码为
repnzscasb.ifZERO?.ifal > '9'andal,not 20h.endifinvokeCallWindowProc,lpOldProcEdit,hWnd,uMsg,eax,lParamret.endif
它限制了输入的字符必须为szAllowedChar中定义的,为0~9,A~F,a~f和退格。其他的字符因为不满足条件而不予处理。
其中
andal,not 20h实现了所有的大小写都转为大写。
--------------------------------------------------------------
一个疑问:
这个字符串定义里,没有使用一个逗号和0来表示结尾。
参照这本书对于变量定义的讲解和网络上一篇文章(http://www.cnblogs.com/del/archive/2010/04/04/1704296.html)
我觉得很是困惑。在代码里调整了一下定义的位置,也未见明确的错误。
这个不是很理解。难道说“,0”不是必需的?
0 0
- 读书笔记——Windows环境下32位汇编语言程序设计(9)ANSII字符大小写转大写
- 读书笔记——Windows环境下32位汇编语言程序设计(2)配置环境
- 读书笔记——Windows环境下32位汇编语言程序设计(3)一些基础知识
- 读书笔记——Windows环境下32位汇编语言程序设计(5)模态对话框
- 读书笔记——Windows环境下32位汇编语言程序设计(13)关于EXCEPTION_DEBUG_INFO结构体
- 读书笔记——Windows环境下32位汇编语言程序设计(6)使用浮点指令进行64位除法
- 读书笔记——Windows环境下32位汇编语言程序设计(3)求复数模的子程序
- Windows环境下32位汇编语言程序设计
- Windows环境下32位汇编语言程序设计
- Windows环境下32位汇编语言程序设计
- 《Windows环境下32位汇编语言程序设计(第2版)》-chapter4-9部分知识点
- Windows环境下32位汇编语言程序设计(典藏版)
- Windows 环境下32位汇编语言程序设计 Makefile文件定义
- Windows环境下32位汇编语言程序设计 读书体会
- 《Windows环境下32位汇编语言程序设计(罗云彬)》下载地址
- Windows环境下32位汇编语言程序设计(典藏版)(含CD光盘1张)
- 《Windows环境下32位汇编语言程序设计(第2版)》-chapter1&2&3
- 《Windows环境下32位汇编语言程序设计(第2版)》-chapter3补
- IE6重复字符BUG
- stm32f10看门狗程序频繁复位程序无法烧写成功
- win7下载Spring源码
- “本地游戏管理程序” 源码分享
- C#数组 一维数组、二维数组、三维数组
- 读书笔记——Windows环境下32位汇编语言程序设计(9)ANSII字符大小写转大写
- cocos2d-x c++ 和 java互调
- 桥梁模式
- tomcat(一) 概览
- 在ios上获取wifi的相关信息
- canvas例子一弹跳小球
- 【第二版】五子?棋(带AI、悔 棋)程序+源码【控制台版】
- 【题目】C++异常处理分析
- 网络机器人