找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1094|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

求指點(diǎn)下匯編語言程序,第四五六七行都報(bào)語法錯(cuò)誤

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1117375 發(fā)表于 2024-4-19 19:18 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
ORG 1000H
START:  
        MOV A, #15
        CMP A, #20
                JG greater20         
                CMP A, #10
                JGE greater10
                MOV B, #-1
greater20:
                MOV B, #1
greater10:
                MOV B, #0
END        START

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:883242 發(fā)表于 2024-4-20 04:42 | 只看該作者
如果是8051的話,第四五六七行的指令根本不存在,你不可能隨便捏造一些指令就讓編譯器去翻譯。
回復(fù)

使用道具 舉報(bào)

板凳
ID:73992 發(fā)表于 2024-4-20 17:00 | 只看該作者
51單片機(jī)數(shù)值比較:
  ORG 0000H
  LJMP        MAIN


MAIN:
  MOV        A,#0X21
  CJNE        A,#0X20,LOOP_0
  SETB        P1.1                         ;A = #0X20則        P1.1 設(shè)置為1
  LJMP         LOOP_END

LOOP_0:
  JC         LOOP_1                         ;A > #0X20則        P1.2 設(shè)置為1
  SETB        P1.2
  LJMP         LOOP_END

LOOP_1:
  JNC        LOOP_END
  SETB        P1.3                         ;A < #0X20則        P1.3 設(shè)置為1
  LJMP         LOOP_END

LOOP_END:

  LJMP        MAIN

END
回復(fù)

使用道具 舉報(bào)

地板
ID:883242 發(fā)表于 2024-4-21 20:26 | 只看該作者
lyonkon 發(fā)表于 2024-4-20 17:00
51單片機(jī)數(shù)值比較:
  ORG 0000H
  LJMP        MAIN

看得懂就回復(fù),看不懂就別說了。人家的JGE是Jump if Greater and Equal,JG是Jump if Greater,你看你都寫了些啥玩意兒

  1.         MOV          A,#0AH
  2.         SETB         C
  3.         SUBB         A,#014H
  4.         JC           ?C0001
  5.         MOV          A,#0AH
  6.         CLR          C
  7.         SUBB         A,#0AH
  8.         JC           ?C0002
  9.         MOV     B,#0FFH
  10. ?C0001:
  11.         MOV     B,#01H
  12. ?C0002:
  13.         MOV     B,#0H
復(fù)制代碼

回復(fù)

使用道具 舉報(bào)

5#
ID:73992 發(fā)表于 2024-4-24 01:52 | 只看該作者
Hephaestus 發(fā)表于 2024-4-21 20:26
看得懂就回復(fù),看不懂就別說了。人家的JGE是Jump if Greater and Equal,JG是Jump if Greater,你看你都 ...

上面的例程是cjne 指令代替 cmp指令的示例, 給樓主測試用的。不是按樓主程序?qū)懙摹?br /> ORG 0000H
START:  
                MOV A,#0X30
                CJNE        A,#0X14,ST
ST:                JNC        greater20
                CJNE        A,#0X10,greater10
                JNC        greater10
                MOV B, #-1
greater20:
                MOV B, #1
greater10:
                MOV B, #0
END     
回復(fù)

使用道具 舉報(bào)

6#
ID:195496 發(fā)表于 2024-4-24 18:11 | 只看該作者
我不記得有JG,只知道有JC,JE,JNE,好多年了,現(xiàn)在回顧一下,當(dāng)時(shí)學(xué)的還是很用心的,就是后來用的少,改用C了
回復(fù)

使用道具 舉報(bào)

7#
ID:155507 發(fā)表于 2024-4-25 09:30 | 只看該作者
他用的是8086匯編語言程序。

要是他用8051,不可能從這里開始 ORG 1000H
回復(fù)

使用道具 舉報(bào)

8#
ID:883242 發(fā)表于 2024-4-25 14:13 | 只看該作者
angmall 發(fā)表于 2024-4-25 09:30
他用的是8086匯編語言程序。

要是他用8051,不可能從這里開始 ORG 1000H

DOS程序一個(gè)segment前256個(gè)字節(jié)是程序段前綴PSP,所以要ORG 100H不是1000H。Windows程序是32位線性地址沒有這個(gè)要求。x86的寄存器是AX、BX,高低8位分別是AH、AL、BH、BL,樓主寫的是A、B。

所以你的51匯編和86匯編都沒學(xué)會,就不要發(fā)言了。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表