夢雨天涯
微信hui530527 &
級別: 網(wǎng)絡(luò)英雄
![]() |
圖片:
![]()
圖片:
![]() 如圖,按照先建立指針,指針地址變化,然后賦值內(nèi)容到指針,有&和*號,就是沒辦法成功。 注意以下問題 第1指定指針只能開機(jī)指定一次 第2指針不能賦值,只能做加減法 第3,需要指定地址后,才能延時賦值,要不然會出錯 [ 此帖被夢雨天涯在2025-02-26 15:43重新編輯 ] |
|
---|---|---|
|
夢雨天涯
微信hui530527 &
級別: 網(wǎng)絡(luò)英雄
![]() |
第1指定指針只能開機(jī)指定一次 第2指針不能賦值,只能做加減法 第3,需要指定地址后,才能延時賦值,要不然會出錯 ![]() |
|
---|---|---|
|
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主
![]() ![]() ![]() ![]() |
第1條,不對。指針可以多次指定,不過是跟雙線圈一樣,要注意不要有沖突; 第2條,不對。指針可以賦值,但是要按照他固定的格式來賦值。如監(jiān)控所示的16#08000064就是VD100寄存器對應(yīng)的指針。這樣賦值太抽象了,所以在寄存器前邊加&符號,自動把地址轉(zhuǎn)換成16#08000064,不需要自己來做這個轉(zhuǎn)換(不過如果必須經(jīng)過轉(zhuǎn)換才賦值給指針,那么會對理解指針格式有更好的幫助,反而不容易出錯了)。 如果直接對指針進(jìn)行MOV賦值,寫入到這個指針的是寄存器內(nèi)的數(shù)值,導(dǎo)致其格式受損,指針失效。 加法、減法就是在16#08000064基礎(chǔ)上進(jìn)行操作,比如加4就是讓指針變?yōu)?6#08000068,指向VD104,從而實(shí)現(xiàn)了指針地址的改變。 第3條,對的。需要先制定地址再進(jìn)行賦值,不然賦值到哪去呢? |
---|---|
|
donxlr
級別: 探索解密
![]() |
圖片:
![]()
圖片:
![]() 傳送指針用 MOV_DW,AC1,AC2,AC3 計(jì)算用DW相關(guān)的計(jì)算,引用的時候直接*AC1就行了,指令需要什么類型自動識別什么類型,不需要特意去寫B(tài) W D |
---|---|
|
donxlr
級別: 探索解密
![]() |
指針正常無法直接尋址bool,如果引用里面的bool,需要先將字節(jié)解析成temp變量,再在引用引用結(jié)束的時候重新寫回引用的byte |
---|---|
|
ludens
級別: 正式會員
![]() |
第一步&VB100取了VB100的地址存在VD10里 第二步相當(dāng)于又把4寫入了VD10,那么這個時候VD10里已經(jīng)不存在VB100的指針了 那么第三步,再使用*VD10對VD10解引用,一定是不能正確指向VB100的 [ 此帖被ludens在2025-02-14 20:04重新編輯 ] |
---|---|
|