x86汇编语言(三)

指针
一个变量包含另一个变量的地址,则称该变量为指针。汇编语言中的32位代码如下所示:
.data
arrayB byte 10h,20h,30h,40h
ptrB dword arrayB
或者使用offset运算符:
.data
arrayB byte 10h,20h,30h,40h
ptrB dword offset arrayB
ptrB包含arrayB的偏移量
指针使用示例
.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode:DWORD

	pbyte typedef ptr byte
	pword typedef ptr word
	pdword typedef ptr dword
.data
	arrayB byte 10h,20h,30h
	arrayW word 1,2,3,4
	arrayD dword 4,5,6
	ptr1 pbyte arrayB
	ptr2 pdword arrayW
	ptr3 dword arrayD

	ptrB dword offset arrayB
.code
main PROC
	mov ax,type ptr1
	mov esi,ptr1
	mov al,[esi]
	mov eax,ptr3
	mov ebx,[eax+4]
	mov edx,ptr2
	mov bx,[edx]

	mov al,arrayB
	mov al,[arrayB +1]
	mov al,[arrayB]
	mov esi,ptrB
	mov al,[esi+2]
	mov ax,[esi]
	INVOKE EXITPROCESS,0
	main ENDP
END main


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值