汇编语言 基于x86处理器(机械工业出版社) 实验P352 T9

这篇博客介绍了如何创建一个汇编语言宏,该宏用于根据给定的方向(右移R或左移L)和位数,对32位整数数组进行移位操作。在小端模式下,博主提供了宏定义和测试代码示例,以展示宏的功能。
摘要由CSDN通过智能技术生成

移位多个双字
任务:创建一个宏,使用SHRD和SHLD指令,将一个32位整数数组向任意方向移动可变位数。同时,编写程序对宏进行测试,把同一个数组向两个方向移动并显示结果。假设数组的存储模式为小端模式。示例宏声明如下:
mShiftDoublewords MACRO arrayName, direction, numberofBits
Parameters:
arrayName Name of the array
direction Right (R) or Left (L)
numberOfBits Number of bit positions to shift

具体看带注释的代码吧~~

TITLE Hello World!             
      

option casemap:none			;大小写敏感

includelib ucrt.lib		;引入静态数据链接库,相当于#include <stdio.h>
includelib legacy_stdio_definitions.lib
INCLUDELIB kernel32.lib		;ExitProcess

.model flat,stdcall			;flat:存储模式(平坦内存模式)
							;stdcall:语言类型(从右向左压栈)
 
printf    PROTO  C : dword,:vararg		;声明需要使用的函数头,函数不由被调用者清栈,而是由调用者负责清栈 

ExitProcess PROTO,			;exit program 
			dwExitCode:DWORD;return code

CAL MACRO arrayName, direction, numberofBits   ;宏指令,传入三个参数&
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值