masm32(浏览器逻辑命令)

1. masm32,浏览器逻辑命令?

AND: 逻辑与

;该指令会置 CF=OF=0; 其结果影响 SF、ZF、PF

;指令格式:

AND r/m, r/m/i

; TEST22_1.asm - 使用 AND 运算将一个数的第二、四位清零

.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

.code

main proc

mov al, 00001111b

and al, 11110101b

PrintHex al ;05 - 00000101b

ret

main endp

end main

; Test22_2.asm - 使用 AND 运算将字母转大写

.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

szText db 'Delphi', 0

.code

main proc

lea esi, szText

mov ecx, lengthof szText - 1

@@: and byte ptr [esi], 11011111b ;大写字母和小写字母只有第五位不同

inc esi

loop @B

PrintString szText ;DELPHI

ret

main endp

end main

OR: 逻辑或

;该指令会置 CF=OF=0; 其结果影响 SF、ZF、PF

;指令格式:

OR r/m, r/m/i

; Test22_3.asm - 使用 OR 运算确保一个数的第二、四位是 1

.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

.code

main proc

mov al, 11110001b

or al, 00001010b

PrintHex al ;FB - 11111011b

ret

main endp

end main

; Test22_4.asm - 使用 OR 运算将字母转小写

.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

szText db 'Delphi', 0

.code

main proc

lea esi, szText

mov ecx, lengthof szText - 1

@@: or byte ptr [esi], 00100000b ;大写字母和小写字母只有第五位不同

inc esi

loop @B

PrintString szText ;delphi

ret

main endp

end main

XOR: 逻辑异或

;该指令会置 CF=OF=0; 其结果影响 SF、ZF、PF

;指令格式:

XOR r/m, r/m/i

; Test22_5.asm - 两次和一个相同的数 XOR 恢复到原来的数

.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

.code

main proc

mov eax, 12345

xor eax, 88888888

PrintDec eax ;88892929

xor eax, 88888888

PrintDec eax ;12345

ret

main endp

end main

; Test22_6.asm - 使用 XOR 加密与解密字符串

.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

szText db 'Hello World!', 0

.code

main proc

;加密

lea esi, szText

mov ecx, lengthof szText - 1

@@: xor byte ptr [esi], 123 ;使用 123 做密码

inc esi

loop @B

PrintString szText ;显示乱码

;解密

lea esi, szText

mov ecx, lengthof szText - 1

@@: xor byte ptr [esi], 123

inc esi

loop @B

PrintString szText ;Hello World!

ret

main endp

end main

NOT: 逻辑取反

;该指令不影响 EFlags

;指令格式:

NOT r/m

; Test22_7.asm - 使用 NOT 加密与解密字符串

.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

szText db 'Hello World!', 0

.code

main proc

;加密

lea esi, szText

mov ecx, lengthof szText - 1

@@: not byte ptr [esi]

inc esi

loop @B

PrintString szText ;显示乱码

;解密

lea esi, szText

mov ecx, lengthof szText - 1

@@: not byte ptr [esi]

inc esi

loop @B

PrintString szText ;Hello World!

ret

main endp

end main

TEST: 测试逻辑与

;该指令会置 CF=OF=0; 其结果影响 SF、ZF、PF

;指令格式:

TEST r/m, r/m/i

;TEST 同 AND, 但它不修改运算数, 只改变标志寄存器; 也就是尝试 AND 的结果

;常用到它对 ZF 的影响(结果为0时ZF=1)

;TEST 之后常常跟着条件跳转指令 JZ、JNZ

; Test22_8.asm - 观察 TEST 之后的零标志位(ZF)

.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

.code

main proc

;判断字母 A 二进制(01000001)的其最后一位是否是 0, 如果是 0 那么 ZF=1

mov al, 'A'

test al, 00000001b

lahf

PrintHex ah ;02 - 00000010b (ZF=0)

;判断字母 B 二进制(01000010)的其最后一位是否是 0, 如果是 0 那么 ZF=1

mov al, 'B'

test al, 00000001b

lahf

PrintHex ah ;46 - 01000110b (ZF=1)

;判断 ecx 是否为空

mov ecx, 1

test ecx, ecx

lahf

PrintHex ah ;06 - 00000010b (ZF=0, 不为空)

xor ecx, ecx

test ecx, ecx

lahf

PrintHex ah ;06 - 01000110b (ZF=1, 为空)

ret

main endp

end main

; Test22_9.asm - 判断字符串中每个字符的二进制位的最后一位是 1 还是 0

.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

szText db 'Delphi', 0

.code

main proc

;清空两个寄存器用于计数

xor eax, eax

xor edx, edx

lea esi, szText ;字符串地址

mov ecx, lengthof szText - 1 ;字符串长度

L1: test byte ptr [esi], 00000001b ;循环测试每个字符的最后一位是 1 还是 0

jz L2 ;如果是 0 则跳到 L2 给 edx+1

inc eax ;反之给 eax+1

jmp L3

L2: inc edx

L3: inc esi

loop L1

PrintDec eax ;2 - 这是最后一位是 1 的字符的个数: e、i

PrintDec edx ;4 - 这是最后一位是 0 的字符的个数: D、l、p、h

ret

main endp

end main

免责声明:本文作者:“游客”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(32)
笔记本降温(华为笔记本散热技巧)
上一篇 2023年11月19日
小米手机发布会直播(怎么参加雷军的发布会
下一篇 2023年11月19日

相关推荐

  • 笔记本如何刻录光盘(刻录光盘的方法和步骤有哪些)

    选择“类似于USB闪存驱动器”,适用于CD-RW这种可重写光盘,点击下一步,开始格式化光盘。格式化完成后,窗口自动关闭,双击光驱图标,打开一个空窗口,将需要刻录的内容拖动到空白区域。刻录完成后弹出光盘就可以了。...

    2023年11月02日
  • cfd(cfd分析是什么)

    计算流体力学发展到今天,基本理论和数值算法已较为成熟,已经形成了一套较为规范的数值分析方法流程。大多数商业CFD软件也基本是采用类似的思路来进行设计,这些软件通常由具有成熟的处理流体问题的数值算法,用于输入问题参数的友好的用户图形界面和必要的...

    2023年11月02日
  • 苹果激活时间查询(怎么查苹果手机的激活时间)

    进入苹果官网之后选择技术支持,技术支持里面有一个查询保证服务的选项,点击立即查看之后进入查询界面,输入手机的序列号和代码之后就可以查看激活日期了。...

    2023年11月08日
  • tm2009下载(夫妻间上厕所需要回避吗)

    在上厕所的时候关门,不仅是对别人的尊重,也是对自己隐私部位的一种保护,还有一个重要的原因,正是这个原因让我从此以后哪怕在家上厕所的时候没有人,我也要将厕所的门关上。...

    2023年11月10日
  • 中关村报价手机(中关村买手机攻略)

    回答如下:中关村是北京市海淀区的一个科技产业聚集区,被誉为中国的硅谷,有众多的电子产品销售商和服务商。如果你想在中关村购买手机,可以按照以下攻略进行:...

    2023年11月14日
  • 有什么好的杀毒软件(PC端有哪些比较厉害的杀毒软件)

    在这个飞速发展的时代里,电脑已经走进千家万户。同时电脑病毒也慢慢的出现在大家的眼中,而杀毒软件也是非常之多。下面小编来介绍几种还可以的电脑杀毒软件:一、360杀毒软件...

    2023年11月16日
  • 口碑营销公司(营信地产口碑怎么样)

    营信地产是一家以房地产营销代理、投资顾问为主的公司。主要从事商业地产代理销售业务,专注于商业地产领域,提供项目营销策划,营销推广,销售执行以及项目团队组建等服务。...

    2023年11月18日
  • 安卓手机刷机教程(安卓手机怎么刷机)

    给安卓手机刷机,首先将手机处于关机状态。按住音量下+电源键开机,进入Recovery模式,然后选择第三项,然后进入选择yes,进行数据清除,选择Recovery模式中的第四项,进行清除系统缓存数据选项,进入后选择yes进行清除。再选择第五项从...

    2023年11月19日
  • 长帝ck-25b(长帝电烤箱cktf和trtf的区别)

    不同点是TRTF38,38升容量,长方体内胆,带有解冻/烘焙/发酵等功能;CKTF-25G,30L热风循环...

    2023年11月25日
  • 忧化大师(班级优化大师怎么换其他动物头像)

    进入个人资料页面:在应用的主界面或菜单中,找到个人资料页面。通常可以通过点击头像或个人信息图标来进入。...

    2023年12月02日
返回顶部