几个c++语句的汇编实现(H1指令)

本文展示了一系列内存操作指令及指针的使用方法,通过具体的示例解释了如何利用不同的指针层级进行内存读写,包括直接内存访问、间接寻址及多重间接寻址等高级技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

;*p = 5
ldc 5 ;
push
ldp;load p's value
sti;save 5 to mem[p's value]
ldi;get the value
dout
ldc '\n'
aout
;*** q = 10
ldc 10
push
ld q;ac = 17 *q's addr
ldi;ac = 18 **q's addr
ldi;ac = 19 ***q's addr
sti;save 10 to ***q,this address is result
;x = ***q
ldi;ldresult,***q's value
stx;x = ***q;
ld x;
dout
ldc '\n'
aout
;*(p+1) = 6
ldc 6
push
ld p + 1;load (p+1)'s value,should be 81
sti; save 6 to *(p+1)
ldi;*(p+1).value,get the value
dout;check the value if 6
ldc '\n'
aout
;*p = *p +1

ld p;80
ldi;addr 80 value: should be 5
add @1
push
ld p
sti;save *p+1 to *p
ld p
ldi;addr 80 value: should be 6
dout
ldc '\n'
aout
;r = p
ld p;ac = p's addr
st r
ld r
dout
halt
p:dw80
dw81
q:dw * + 1;*q is next address.(* + 1)
dw* + 1;**q is next address.(* + 1)
dw * + 1;***q is next address.(* + 1 = result)
result:dw0
x:dw 0
r:dw 0
@1:dw 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值