欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 學習51單片機匯編,一個編譯錯誤,求指正 [打印本頁]

作者: holikey    時間: 2020-6-28 21:04
標題: 學習51單片機匯編,一個編譯錯誤,求指正
把demo.asm最后定義表的指令注釋可以編譯鏈接,
打開注釋可以編譯,鏈接有錯誤,不清楚哪里問題,設置已經是最大內存程序空間模型了,
哪位有空幫看下。。。
  1. $include (delay.inc)
  2. org 0x00
  3. ajmp start

  4. org 0x0b
  5. ajmp time0_isr

  6. org 0x30
  7. ;********************************main****************************************
  8. start:
  9.         mov 30h,#0h
  10.     acall time0_init
  11.         
  12.         acall uart_init
  13.         
  14. loop:nop
  15.         ajmp loop
  16. ;****************************************************************************
  17.         
  18.         
  19.         
  20.         
  21.         
  22. ;*****************************************
  23. ;funtion name: time0_isr
  24. ;describe:
  25. ;*****************************************
  26. time0_isr:
  27.         push acc
  28.         push psw
  29.         inc 30h
  30.         mov a,30h
  31.         cjne a,#20,t0_ret
  32.         cpl p1.0
  33.         mov sbuf,#0xaa    ;----------tx 0xaa
  34.         mov 30h,#0h
  35.         t0_ret:        
  36.             mov th0,#0x3c
  37.                 mov tl0,#0xb0
  38.                 pop psw
  39.                 pop acc
  40.         reti
  41.         

  42.         
  43. ;*****************************************
  44. ;funtion name: uart_init
  45. ;describe:
  46. ;*****************************************
  47. uart_init:    ;4800 ;boud = t1/32
  48.     mov scon,#0x50  ;uart mode:01
  49.         anl tmod,#0x0f
  50.         orl tmod,#0x20  ;t1 mode2
  51.         mov pcon,#0x80  ;double boud
  52.         mov th1,#0xf3   ;8bits auto load
  53.         mov tl1,#0xf3
  54.         clr es
  55.         setb ea
  56.         setb tr1
  57.         ret
  58. org 0xc800 ;50k start
  59. db  0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71        

  60. end
復制代碼

5_查表-編譯有錯誤.rar

21.38 KB, 下載次數: 4


作者: csmyldl    時間: 2020-6-29 07:39
org 0xc800 ;50k start  與選擇的單片機有關,最大存儲器是多大,8K地址是0x1FFF,DB所定義的是顯示段碼,貼出來的程序未看到用到,若真要用,只需在DB前加一個標號就可以了,應用時直接用標號地址,不必固定定義到C800H地址
作者: csmyldl    時間: 2020-6-29 07:41
實際其原因是所定義的地址超過了ROM的最大地址
作者: holikey    時間: 2020-6-29 11:28
csmyldl 發表于 2020-6-29 07:39
org 0xc800 ;50k start  與選擇的單片機有關,最大存儲器是多大,8K地址是0x1FFF,DB所定義的是顯示段碼,貼 ...

單片機stc89c816,程序空間62k,嗯,那個是段碼,我試著點數碼管的,但發現org定義在2k后面就會報錯,不知道是我設置不對還是代碼不對
作者: holikey    時間: 2020-6-29 11:29
csmyldl 發表于 2020-6-29 07:41
實際其原因是所定義的地址超過了ROM的最大地址

我猜也是這個原因,但是不知道怎么改
作者: holikey    時間: 2020-6-29 11:42
holikey 發表于 2020-6-29 11:28
單片機stc89c816,程序空間62k,嗯,那個是段碼,我試著點數碼管的,但發現org定義在2k后面就會報錯,不知 ...

stc89c516,打錯了,額
作者: 單片機愛好者223    時間: 2020-6-30 13:44
編譯器沒有和諧,代碼限制2K
作者: holikey    時間: 2020-7-1 10:01
找到原因了,設置偏上rom到0x7fff的選項不能打鉤,只選最大64krom模型就行了
作者: 烈火    時間: 2020-7-1 10:14
哦!在設置偏上rom到0x7fff的選項不能選上,只要選最大64krom模型就行了




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1