MCU指令問題 MCU指令正確或錯誤

發布 科技 2024-05-09
14個回答
  1. 匿名使用者2024-02-10

    這個問題的出現比較普遍,主要有幾個方面:

    如果您使用盜版系統,可能會出現這樣的問題,建議:使用正版。

    如果它不影響您的計算機或偶爾發生,請不要理會它,然後重新啟動計算機以自動消失。

    由病毒引起的病毒對計算機完全是防病毒的。

    硬體主要是由於記憶體模組不相容造成的,必要時應更換記憶體。

    系統或其他軟體。 [系統的幽靈版本容易出現此問題]。

    開啟或關閉IE、QQ、遊戲、**等,記憶體無法讀取或寫入,首先想到的可能是這個軟體的問題,(一般解決辦法是解除安裝重新安裝,公升級或替換其他版本,不行,只有解除安裝軟體,問題就可以解決)。

    1)如果系統本身有問題,驅動不是很穩定,與系統不相容或出現檔案保護,請及時安裝官方補丁。(如有必要,請重新安裝系統。 )

    2)如果某個軟體有問題,這裡主要是看開機時執行的軟體,【使用360等檢查開機時執行的軟體,刪除不需要執行的軟體】。

    3)軟體衝突,解除安裝有問題的軟體。(例如,如果在安裝或執行時發生,則需要公升級、修補、將軟體替換到其他版本或解除安裝有問題的軟體來解決問題)。

    有兩種方法可以處理它:如果它不起作用,您只能恢復或重新安裝系統

    試用命令排除。

    啟動 執行 輸入 cmd -- Enter,然後在命令提示符下輸入以下命令。

    for %1 in (%windir%\system32\*.dll) 執行 s %1 輸入。

    完成後,在輸入下方。

    for %i in (%windir%\system32\*.OCX) 執行 S %i 回車。

    如果你怕打錯,可以複製這兩個命令,然後在命令提示符後右鍵點選滑鼠,點選“貼上”,按回車鍵,耐心等待,直到螢幕滾動停止。 重新啟動計算機

    在登錄檔中執行 regedit,在 hkey local machine software、microsoft windows、currentversion、explorer、shellexecutehooks 下,應該只有乙個普通鍵,其餘的都刪除。 [如果有另乙個(預設)就不理會它,它通常是空的]。

  2. 匿名使用者2024-02-09

    J 是 Jump C 是 cy,進位,在 PSW 內部。

    JC 是 Cy=1 跳躍。

    jnc 是 cy=0 跳躍。

    jb 是 bit=1 跳轉。

    jnb 是 bit=0 跳轉。

    JBC 已 bit=1 重定向並清除。

  3. 匿名使用者2024-02-08

    這些都是位變數條件傳輸指令,具有以下函式和用法:

    jc rel ;如果 cy=1,則 PC+2+rel pc,如果 cy=0,則 PC+2 pc

    jnc rel ;如果 cy=0,則 pc+2+rel pc,如果 cy=1,則 pc+2 pc

    jb bit, rel ;如果 (bit)=1,則 PC+3+rel PC,如果 (bit)=0,則 PC+3 PC

    jnb bit, rel ;如果 (bit)=0,則 PC+3+rel PC,如果 (bit)=1,則 PC+3 PC

    jbc bit, rel ;如果 (bit)=1,則 PC+3+rel PC,並設定 (bit)=0,如果 (bit)=0,則 PC+3 PC

    這組指令的作用是,如果滿足條件,它們將被轉移到目的位址進行執行,如果不滿足條件,則依次執行下一條指令。 應特別注意目標位址在 256b 範圍內 (-128b +127b),其中下乙個指令的起始位址位於中心位置。 用組合語言編寫程式時,為了便於理解程式,往往會用標籤代替偏移量rel,匯程式設計序會自動計算偏移量位元組數並填寫指令**。

  4. 匿名使用者2024-02-07

    1. CLR 一對。

    2. mul r0、r1 錯誤,只有 mul a、b

    3. mov dptr,1050h 是錯誤的,猜測這個問題的意圖應該是 mov dptr,1050h,而 dptr 除了即時編號賦值外,只能使用 movx @dptr, a 為其賦值。

    4. mov a,@r7錯了,只能定址 r0 和 r1。

    5.加30h,20h加錯,加後只能跟a,即加a,直接

    6. MOV R1,C是錯誤的,C是位的,位元和位元組不能以這種方式傳輸。

    7. JMP @ro+DPTR錯誤,此指令只能與JMP @a+DPTR一起使用

    8. mov a,3000h 是錯誤的,a 是 8 位,並且 16 位的即時數字不能分配給

    9. MOVC @a+DPTR,A 錯誤,指令應為 MOVC A,@a+DPTR

    10、 movx a,@a+dptr

  5. 匿名使用者2024-02-06

    你指的是程式集還是 c? 如果是編譯,就要注意暫存器用錯了,有沒有加了直連號,那也不過如此,c不用想那麼多,基本也沒什麼問題

  6. 匿名使用者2024-02-05

    1.CLR A是錯誤的,CLR是位指令,對位,如:CLR C

    2. mul r0、r1 錯誤,只有 mul ab

    3. mov dptr,1050h 錯誤,dptr 有 2 個位元組,位址在 1050h 處為 8 位。

    4. mov a,@r7右邊,可以使用晶元中的位址,片外位址可以是movx

    5.加30h,20h不對,20h改為20h,20h是位址,不是即時數字。

    6. mov R1 中,C 是錯誤的,C 是位位址,而不是 8 位位元組位址。

    7. JMP @ro+dptr 是錯誤的,而不是這個命令 JMP @a+dptr

    8. mov a,3000h 錯了,3000h 是 2 位元組,只能給 dptr

    9 movc @a+dptr,錯誤,無命令 movc a,@a+pc

    10 movx a,@a+dptr 錯誤,無命令 movx a,dptr

  7. 匿名使用者2024-02-04

    1. CLR 一對。

    2、mulr0,r1

    錯了,只有 mul

    a,b3、mov

    dptr,1050h

    錯了,猜猜問題的意圖應該是mov

    DPTR、1050H 和 DPTR 除了即時編號分配外,只能使用 movx@dptr,a 進行分配。

    4、mova,@r7

    False,則只能定址 r0 和 r1。

    5、add30h,20h

    錯了,add後面只能跟a,也就是add

    a,direct

    6、movr1,c

    False,c 是位,位和位元組不能以這種方式傳輸。

    7、jmpro+dptr

    錯了,這個指令只能在jmp中使用

    a+dptr

    8、mova,#3000h

    False,a 為 8 位,16 位不能分配給 a9 和 movc

    a+dptr,a

    False,指令應該是。

    movca,@a+dptr

    10、movx

    a,@a+dptr

  8. 匿名使用者2024-02-03

    房東您好:

    首先,我想解釋一下,除非有特別的解釋,否則不可能知道這是位元組位址還是僅基於40h的位位址! 對於位元組定址,40h 在位元組定址區域,無法執行位定址,因此 mov c 的用法是錯誤的。

    所以房東可能會有疑問,40h什麼時候是位元組位址,什麼時候是位位址?

    其實很好的判斷:房東看一下以下兩個說明:

    mov c,20h

    mov a,20h

    這兩個指令看似結構相同,但實際上卻是完全相反的。 如果運算元為“c”,則接下來的 20h 表示位定址區域的 20h(即位元組定址中 24h 的最低位); 如果運算元為“a”,則位址為位元組定址的 20h。 匯程式設計序將根據運算元 c 或 a 自動確定 20h 是位元組位址還是位位址。

    位定址區的劃分如下:可位元定址區的位址從20h 2fh開始為16個位元組單位,那麼16位元組單元共有16*8=128個位位址,從最低位20h到最高位2fh,依次生成00h 7fh的128位位址。 如果新增 SFR 高階 128 位位址,則 51 計算機總共有 256 位位址。

  9. 匿名使用者2024-02-02

    mov c,40h

    mov c,然後檢視編譯結果,這兩條指令是否相同。

  10. 匿名使用者2024-02-01

    該指令中的 40h 不是 8 位數字,而是暫存器的實際位址,我暫時記不清了。

  11. 匿名使用者2024-01-31

    1.當 MCS-51 執行 MOVX @dptr,A 命令時,WR 訊號有效。 (右)。

    2.生成 wr 訊號的指令是 (d:movx @dptr,a)。

    MOVX@dptr,一條指令在引腳WR上產生負脈衝,使外部資料儲存器WE有效,允許寫入資料; 另一方面,MOVX A @dptr指令在引腳 RD 上產生負脈衝,使外部資料儲存器 OE 處於活動狀態,從而允許輸出資料。

  12. 匿名使用者2024-01-30

    呵呵,我來幫你。

    這裡有乙個演算法給你:

    1、採用環路結構:環路數為20倍,一開始設計乙個片外資料指標dptr指向1000h,在晶元內設計資料指標; R1 指向 30h; r0的指向可以切換,可以指向10h或50h;

    R2 在大於 128 的位址儲存 10 小時; R3 儲存位址少於 128 個,儲存 50 小時;

    2 Loop body:即下乙個 oh 將資料從晶元上取下,然後用 128 比對大小,如果等於 128,則儲存在指標 r1 所指的單位中; 如果它大於 128,則(切換指標 r0 指向 r2 儲存的位址)儲存在指標 r0 引用的單位中;

    如果小於 128,則(切換指標 r0 指向 r3 儲存的位址)儲存在指標 r0 所指的單位中;

    修改指標。 3 迴圈數減去 1 不等於 0,繼續迴圈,否則結束。

  13. 匿名使用者2024-01-29

    在解釋指令時,他們都說 rel 是乙個 8 位有符號補碼數,它是相對傳輸指令中的偏移量。

    在實踐中,目標寫在 sjmp 之後。

    在編譯時,編譯軟體,並計算此偏移量,將其寫入機器語言作為“8 位有符號補碼數”。

    因此,這個“8 位有符號補碼數”的偏移量與“程式設計師”無關。

    程式設計時,只需寫:sjmp 某某標記,僅此而已。

    有些書總是寫關於機器語言的文章,以展示它們有多先進。

  14. 匿名使用者2024-01-28

    PC是執行指令的位址指標,是指令的儲存位置,rel代表傳輸指令的偏移量,比如PC位址100HL0100H:

    sjmp 8 ;然後 PC <-100H+2+8 = 10Ah(十六進製)。

    也就是說,在執行指令後,將指令轉移到10ah的位址。

相關回答
4個回答2024-05-09

你的發光二極體是怎麼連線的,如果有電源串在發光二極體上,低電平會導通,如果是微控制器的輸出口,則不會導通。

18個回答2024-05-09

房東,組織 0030h。

你怎麼理解我的意思? >>>More

5個回答2024-05-09

只有 R0 和 R1 可以儲存資料和位址,@r7間接位址無效; movx a,r0 錯誤:傳入的外部資料,必須間接定址 movx a,@r0; Movx B,@dptr錯誤:只有累加器 A 可以從外部資料儲存接收資料,B 不能; MOVC A,@r0錯了: >>>More

9個回答2024-05-09

這就像讓 P1 埠控制的 8 個 LED 依次來回閃爍 3 次一樣簡單。 >>>More

10個回答2024-05-09

忽略溫度等因素的影響,可直接採用串聯電阻測量電壓的方法。 >>>More