单片机汇编语言中符号 # 是什么意思

如题所述

你这回答不完全,你这只能特指在51系列的汇编中,因不同厂家的汇编就不同样,如义隆的就是用@表示后是立即数。这些符号只是一个特定的表示符,在不同的厂家芯片的汇编中这些*,#,@,%,......都有只是一个厂家在出汇编时特定的一个符号罢。要具体到那个厂家的什么单片机上并要说明这符号在什么位置上才好回答你这问题。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-09
#后面的数表示为立即数,一般就是常数,有时是地址值。本回答被提问者采纳
第2个回答  2008-10-09
简单的说就是一个立即数,常取#0H-#0FFH
第3个回答  2008-10-09
LIST p=16F84 ; PIC16F844 is the target processor

#include "P16F84.INC" ; Include header file

CBLOCK 0x10 ; Temporary storage
tempo
tptrl
tptrh
note
length
pitch
temp
dl1
dl2
ENDC

ORG 0
entrypoint goto initialise

ORG 4
intvector goto toggle

initialise ; Register set up:
clrw ; Zero.
movwf PORTA ; Ensure PORTB is zero before we enable it.
movwf PORTB ; Ensure PORTB is zero before we enable it.
bsf STATUS,RP0 ; Select Bank 1
clrf TRISB ; Port B is outputs

; Set up timer 0 for tone generation
movlw 0x02 ; Prescaler on, internal clocking, divide by 4
movwf OPTION_REG
bcf STATUS,RP0 ; Back to bank 0

; Poll for a button
wait clrf PORTB
wloop btfss PORTA,0
goto playtune0
btfss PORTA,1
goto playtune1
goto wloop

;Routines to play the tunes
playtune0 movlw 0x13
movwf PORTB
movlw 0x50
movwf tempo
movlw tune0 / 0x100
movwf tptrh
movlw tune0 % 0x100
movwf tptrl
goto playtune

playtune1 movlw 0x23
movwf PORTB
movlw 0xA0
movwf tempo
movlw tune1 / 0x100
movwf tptrh
movlw tune1 % 0x100
movwf tptrl
goto playtune

;Subroutine to play a tune
playtune call gettunedata ; Lookup note from tune table
movwf note ; Store the note code
btfsc note,7 ; Bit 7 set => end of tune
goto wait ; Back to waiting for a button press
incf tptrl,F ; Increment the tune pointer
call gettunedata ; Get the note length
movwf length ; Store it

; Play the stored note
; The tune table supports two octaves and 8 note lengths.
playnote btfsc note,6 ; Bit 6 set => rest
goto playwait ; Silence ensues...
movf note,W ; Retrieve the note
andlw 0x3F ; Mask off the pitch index
call pitchtable ; and look it up in the pitchtable
movwf pitch ; Transfer the value to Timer 0
movwf TMR0
bcf INTCON,T0IF ; Clear Timer Interrupt
bsf INTCON,T0IE ; Enable interrupts for Timer 0
bsf INTCON,GIE
playwait movf length,W ; Retrieve the note length
movwf dl1 ; and store it in delay counter 1
loop1 movf tempo,W ; This value sets the timing resolution
movwf dl2
loop2 nop ; Inner delay loop delay
nop
decfsz dl2,F
goto loop2
decfsz dl1,F ; Outer delay loop
goto loop1
bcf INTCON,T0IE ; Timer interrupts off

;Fetch next note/length pair:
incf tptrl,F ; Increment tune ptr
btfsc STATUS,Z ; Test for low byte rollover
incf tptrh,F ; Inc high byte
goto playtune ; Loop for next note

; Routine to fetch data from the tune tables
gettunedata movf tptrh,W ; Set up PCLATH for the jump
movwf PCLATH
movf tptrl,W ; Get low address of tptr
movwf PCL ; Jump off to the table entry

; Pitch lookup function
pitchtable clrf PCLATH ; Clear PCLATH for zero page
addwf PCL,F
retlw 0x11 ;C5 // Midi Code 60
retlw 0x1F ;C#
retlw 0x2B ;D
retlw 0x37 ;D#
retlw 0x42 ;E
retlw 0x4D ;F
retlw 0x57 ;F#
retlw 0x61 ;G
retlw 0x6A ;G#
retlw 0x72 ;A (440)
retlw 0x7A ;Bb
retlw 0x81 ;B
retlw 0x89 ;C6 // Midi Code 72
retlw 0x8F ;Db
retlw 0x96 ;D
retlw 0x9C ;Eb
retlw 0xA1 ;E
retlw 0xA7 ;F
retlw 0xAC ;F#
retlw 0xB0 ;G
retlw 0xB5 ;Ab
retlw 0xB9 ;A (880)
retlw 0xBD ;Bb
retlw 0xC1 ;B
retlw 0xC4 ;C7 // Midi Code 84
retlw 0xC8 ;Db
retlw 0xCB ;D
retlw 0xCE ;Eb
retlw 0xD1 ;E
retlw 0xD3 ;F
retlw 0xD6 ;F#
retlw 0xD8 ;G
retlw 0xDA ;Ab
retlw 0xDC ;A (1760)
retlw 0xDE ;Bb
retlw 0xE0 ;
retlw 0xE2 ;C8 // Midi Code 96

;Interrupt service - toggle the drive polarity to the sounder
;Note that this does not preserve the status bits - be careful,
;and that there is an assumption we are addressing bank 0.
toggle movwf temp
movf pitch,W
movwf TMR0
movf PORTB,W
xorlw 0x0F
movwf PORTB
bcf INTCON,T0IF
movf temp,w
retfie

;Tune Tables
;Must be on even byte boundary

org 0x0080

; Tune 0 Data
; Bach 'Badinerie' from Suite No 2
tune0 retlw 0x17 ;B
retlw 0x78 ;240
retlw 0x1A ;D
retlw 0x3C ;120
retlw 0x17 ;B
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x78 ;240
retlw 0x17 ;B
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x0E ;D
retlw 0x78 ;240
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x0E ;D
retlw 0x3C ;120
retlw 0x0B ;B
retlw 0xF0 ;480
retlw 0x06 ;F#
retlw 0x3C ;120
retlw 0x0B ;B
retlw 0x3C ;120
retlw 0x0E ;D
retlw 0x3C ;120
retlw 0x0B ;B
retlw 0x3C ;120
retlw 0x0D ;C#
retlw 0x3C ;120
retlw 0x0B ;B
retlw 0x3C ;120
retlw 0x0D ;C#
retlw 0x3C ;120
retlw 0x0B ;B
retlw 0x3C ;120
retlw 0x0A ;A#
retlw 0x3C ;120
retlw 0x0D ;C#
retlw 0x3C ;120
retlw 0x10 ;E
retlw 0x3C ;120
retlw 0x0D ;C#
retlw 0x3C ;120
retlw 0x0E ;D
retlw 0x78 ;240
retlw 0x0B ;B
retlw 0x78 ;240
retlw 0x17 ;B
retlw 0x78 ;240
retlw 0x1A ;D
retlw 0x3C ;120
retlw 0x17 ;B
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x78 ;240
retlw 0x17 ;B
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x0E ;D
retlw 0x78 ;240
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x0E ;D
retlw 0x3C ;120
retlw 0x0B ;B
retlw 0xF0 ;480
retlw 0x0E ;D
retlw 0x78 ;240
retlw 0x0E ;D
retlw 0x78 ;240
retlw 0x0E ;D
retlw 0x78 ;240
retlw 0x0E ;D
retlw 0x78 ;240
retlw 0x17 ;B
retlw 0x78 ;240
retlw 0x0E ;D
retlw 0x78 ;240
retlw 0x10 ;E
retlw 0x3C ;60
retlw 0x0E ;D
retlw 0x3C ;30
retlw 0x0D ;C#
retlw 0x78 ;240
retlw 0x12 ;F#
retlw 0x78 ;240
retlw 0x12 ;F#
retlw 0x78 ;240
retlw 0x12 ;F#
retlw 0x78 ;240
retlw 0x12 ;F#
retlw 0x78 ;240
retlw 0x1A ;D
retlw 0x78 ;240
retlw 0x12 ;F#
retlw 0x78 ;220
retlw 0x12 ;F#
retlw 0x3C ;30
retlw 0x14 ;G#
retlw 0x3C ;65
retlw 0x11 ;F
retlw 0x78 ;270
retlw 0x0D ;C#
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x15 ;A
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x14 ;G#
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x14 ;G#
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x11 ;F
retlw 0x3C ;120
retlw 0x14 ;G#
retlw 0x3C ;120
retlw 0x17 ;B
retlw 0x3C ;120
retlw 0x14 ;G#
retlw 0x3C ;120
retlw 0x15 ;A
retlw 0x3C ;120
retlw 0x14 ;G#
retlw 0x3C ;120
retlw 0x15 ;A
retlw 0x3C ;120
retlw 0x14 ;G#
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x15 ;A
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x11 ;F
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x17 ;B
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x11 ;F
retlw 0x39 ;115
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x19 ;C#
retlw 0x3E ;125
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x11 ;F
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x39 ;115
retlw 0x1A ;D
retlw 0x3E ;125
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x11 ;F
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;120
retlw 0x1A ;D
retlw 0x3C ;120
retlw 0x19 ;C#
retlw 0x3C ;120
retlw 0x17 ;B
retlw 0x3C ;120
retlw 0x19 ;C#
retlw 0x3C ;120
retlw 0x15 ;A
retlw 0x3C ;120
retlw 0x14 ;G#
retlw 0x3C ;120
retlw 0x12 ;F#
retlw 0x3C ;130
retlw 0x15 ;A
retlw 0x78 ;210
retlw 0x14 ;G#
retlw 0x3C
retlw 0x12 ;F#
retlw 0x3C ;
retlw 0x12 ;F#
retlw 0xE0 ;480
retlw 0xFF
retlw 0

; Tune 1
; Mozart Eine Klein Nachtmusik

tune1

retlw 0x13 ;G
retlw 0x43 ;538
retlw 0x40 ;REST
retlw 0x4D ;617
retlw 0x0E ;D
retlw 0x18 ;193
retlw 0x40 ;REST
retlw 0x1D ;232
retlw 0x13 ;G
retlw 0x3E ;498
retlw 0x40 ;REST
retlw 0x48 ;582
retlw 0x0E ;D
retlw 0x1B ;218
retlw 0x40 ;REST
retlw 0x18 ;192
retlw 0x13 ;G
retlw 0x15 ;168
retlw 0x40 ;REST
retlw 0x19 ;207
retlw 0x0E ;D
retlw 0x15 ;168
retlw 0x40 ;REST
retlw 0x15 ;172
retlw 0x13 ;G
retlw 0x17 ;188
retlw 0x40 ;REST
retlw 0x18 ;197
retlw 0x17 ;B
retlw 0x17 ;188
retlw 0x40 ;REST
retlw 0x1B ;222
retlw 0x1A ;D
retlw 0x3B ;478
retlw 0x40 ;REST
retlw 0x83 ;1052
retlw 0x18 ;C
retlw 0x47 ;568
retlw 0x40 ;REST
retlw 0x4A ;597
retlw 0x15 ;A
retlw 0x15 ;168
retlw 0x40 ;REST
retlw 0x1D ;237
retlw 0x18 ;C
retlw 0x3C ;483
retlw 0x40 ;REST
retlw 0x52 ;657
retlw 0x15 ;A
retlw 0x16 ;183
retlw 0x40 ;REST
retlw 0x16 ;177
retlw 0x18 ;C
retlw 0x1C ;228
retlw 0x40 ;REST
retlw 0x12 ;147
retlw 0x15 ;A
retlw 0x16 ;183
retlw 0x40 ;REST
retlw 0x18 ;197
retlw 0x12 ;F#
retlw 0x18 ;198
retlw 0x40 ;REST
retlw 0x14 ;167
retlw 0x15 ;A
retlw 0x1D ;238
retlw 0x40 ;REST
retlw 0x18 ;192
retlw 0x0E ;D
retlw 0x39 ;458
retlw 0x40 ;REST
retlw 0x82 ;1042
retlw 0x13 ;G
retlw 0x27 ;313
retlw 0x40 ;REST
retlw 0x3E ;497
retlw 0x13 ;G
retlw 0x6B ;858
retlw 0x40 ;REST
retlw 0x1E ;242
retlw 0x17 ;B
retlw 0x31 ;395
retlw 0x15 ;A
retlw 0x21 ;268
retlw 0x40 ;REST
retlw 0x07 ;57
retlw 0x13 ;G
retlw 0x16 ;183
retlw 0x40 ;REST
retlw 0x18 ;197
retlw 0x13 ;G
retlw 0x16 ;180
retlw 0x15 ;A
retlw 0x13 ;155
retlw 0x13 ;G
retlw 0x12 ;145
retlw 0x12 ;F#
retlw 0x10 ;133
retlw 0x40 ;REST
retlw 0x22 ;272
retlw 0x12 ;F#
retlw 0x68 ;833
retlw 0x40 ;REST
retlw 0x1F ;252
retlw 0x15 ;A
retlw 0x2C ;355
retlw 0x18 ;C
retlw 0x1B ;218
retlw 0x40 ;REST
retlw 0x14 ;162
retlw 0x12 ;F#
retlw 0x13 ;158
retlw 0x40 ;REST
retlw 0x19 ;202
retlw 0x15 ;A
retlw 0x2F ;380
retlw 0x13 ;G
retlw 0x13 ;158
retlw 0x40 ;REST
retlw 0x22 ;272
retlw 0x13 ;G
retlw 0x78 ;963
retlw 0x40 ;REST
retlw 0x1D ;237
retlw 0x17 ;B
retlw 0x2A ;343
retlw 0x40 ;REST
retlw 0x03 ;27
retlw 0x15 ;A
retlw 0x22 ;278
retlw 0x40 ;REST
retlw 0x0C ;102
retlw 0x13 ;G
retlw 0x16 ;183
retlw 0x40 ;REST
retlw 0x1A ;212
retlw 0x13 ;G
retlw 0x19 ;205
retlw 0x15 ;A
retlw 0x12 ;150
retlw 0x13 ;G
retlw 0x11 ;140
retlw 0x12 ;F#
retlw 0x12 ;148
retlw 0x40 ;REST
retlw 0x1F ;252
retlw 0x12 ;F#
retlw 0x5B ;728
retlw 0x40 ;REST
retlw 0x27 ;317
retlw 0x15 ;A
retlw 0x2D ;365
retlw 0x18 ;C
retlw 0x1A ;208
retlw 0x40 ;REST
retlw 0x13 ;152
retlw 0x12 ;F#
retlw 0x14 ;163
retlw 0x40 ;REST
retlw 0x19 ;207
retlw 0x13 ;G
retlw 0x14 ;163
retlw 0x40 ;REST
retlw 0x19 ;207
retlw 0x13 ;G
retlw 0x13 ;153
retlw 0x40 ;REST
retlw 0x1A ;212
retlw 0x13 ;G
retlw 0x1C ;225
retlw 0x12 ;F#
retlw 0x15 ;175
retlw 0x10 ;E
retlw 0x1E ;240
retlw 0x12 ;F#
retlw 0x12 ;150
retlw 0x13 ;G
retlw 0x18 ;198
retlw 0x40 ;REST
retlw 0x16 ;177
retlw 0x13 ;G
retlw 0x10 ;128
retlw 0x40 ;REST
retlw 0x23 ;287
retlw 0x17 ;B
retlw 0x17 ;190
retlw 0x15 ;A
retlw 0x0D ;105
retlw 0x13 ;G
retlw 0x1F ;255
retlw 0x15 ;A
retlw 0x0F ;125
retlw 0x17 ;B
retlw 0x18 ;193
retlw 0x40 ;REST
retlw 0x1A ;212
retlw 0x17 ;B
retlw 0x10 ;128
retlw 0x40 ;REST
retlw 0x20 ;257
retlw 0x1A ;D
retlw 0x19 ;200
retlw 0x18 ;C
retlw 0x0F ;125
retlw 0x17 ;B
retlw 0x1F ;250
retlw 0x18 ;C
retlw 0x10 ;135
retlw 0x1A ;D
retlw 0x59 ;713
retlw 0x40 ;REST
retlw 0x7B ;987
retlw 0x0E ;D
retlw 0xBA ;1495
retlw 0x10 ;E
retlw 0x7C ;998
retlw 0x40 ;REST
retlw 0x48 ;577
retlw 0x0E ;D
retlw 0x19 ;205
retlw 0x0C ;C
retlw 0x16 ;183
retlw 0x40 ;REST
retlw 0x31 ;397
retlw 0x0C ;C
retlw 0x14 ;163
retlw 0x40 ;REST
retlw 0x4C ;612
retlw 0x0C ;C
retlw 0x17 ;190
retlw 0x0B ;B
retlw 0x12 ;148
retlw 0x40 ;REST
retlw 0x39 ;457
retlw 0x0B ;B
retlw 0x13 ;153
retlw 0x40 ;REST
retlw 0x43 ;537
retlw 0x0B ;B
retlw 0x17 ;190
retlw 0x09 ;A
retlw 0x13 ;153
retlw 0x40 ;REST
retlw 0x37 ;447
retlw 0x09 ;A
retlw 0x16 ;178
retlw 0x40 ;REST
retlw 0x41 ;522
retlw 0x07 ;G
retlw 0x2E ;375
retlw 0x06 ;F#
retlw 0x33 ;410
retlw 0x04 ;E
retlw 0x2D ;363
retlw 0x40 ;REST
retlw 0x01 ;12
retlw 0x06 ;F#
retlw 0x35 ;428
retlw 0x40 ;REST
retlw 0x02 ;22
retlw 0x07 ;G
retlw 0x16 ;178
retlw 0x40 ;REST
retlw 0x50 ;642
retlw 0x09 ;A
retlw 0x10 ;133
retlw 0x40 ;REST
retlw 0x4C ;612
retlw 0x0B ;B
retlw 0x0E ;113
retlw 0x40 ;REST
retlw 0xB4 ;1442
retlw 0x0E ;D
retlw 0xBA ;1495
retlw 0x10 ;E
retlw 0x82 ;1043
retlw 0x40 ;REST
retlw 0x39 ;462
retlw 0x0E ;D
retlw 0x2D ;360
retlw 0x0C ;C
retlw 0x16 ;178
retlw 0x40 ;REST
retlw 0x1E ;242
retlw 0x0C ;C
retlw 0x10 ;128
retlw 0x40 ;REST
retlw 0x1F ;252
retlw 0x0C ;C
retlw 0x10 ;133
retlw 0x40 ;REST
retlw 0x1C ;227
retlw 0x0C ;C
retlw 0x2C ;355
retlw 0x0B ;B
retlw 0x13 ;153
retlw 0x40 ;REST
retlw 0x1E ;247
retlw 0x0B ;B
retlw 0x0D ;108
retlw 0x40 ;REST
retlw 0x23 ;282
retlw 0x0B ;B
retlw 0x10 ;133
retlw 0x40 ;REST
retlw 0x1E ;247
retlw 0x0B ;B
retlw 0x2F ;380
retlw 0x09 ;A
retlw 0x13 ;158
retlw 0x40 ;REST
retlw 0x1B ;222
retlw 0x09 ;A
retlw 0x13 ;153
retlw 0x40 ;REST
retlw 0x1E ;242
retlw 0x09 ;A
retlw 0x10 ;128
retlw 0x40 ;REST
retlw 0x23 ;282
retlw 0x07 ;G
retlw 0x2B ;350
retlw 0x06 ;F#
retlw 0x2F ;380
retlw 0x04 ;E
retlw 0x31 ;395
retlw 0x06 ;F#
retlw 0x35 ;428
retlw 0x40 ;REST
retlw 0x05 ;47
retlw 0x07 ;G
retlw 0xB4 ;468
retlw 0xFF

END
第4个回答  2008-10-09
解释说明的意思,汇编时不被编译

汇编语言里#是什么意思 比如MOV A , #21H
汇编语言中的“#”代表的是寻址方式为立即寻址。比如指令: MOV A,#21H MOV意思是单片机片内RAM之间传送,该指令的意思是:将值21H送给寄存器A中暂存;如果把“#”去掉,MOV A,21H该指令寻址方式变了,为直接寻址,21H就不是值了,而变成了一个地址,意思为:将21H这个地址里面中的内容送给寄存器A中...

单片机汇编语言编程中#和@是是什么意思
差不多是你说的意思,#表示是一个立即数,或者是一个地址指针 如#tab 就是tab这个表格的首地址 而#12h,则表示为十六进制12 是间接寻址用的,可以理解为取地址,一般后面为R0-R7 希望能给你带来帮助

汇编语言中MOV时#和@如何使用
不知你指的这二个符号是在什么机器上用的时候。如是在51单片机中用它们都有准确的名字,# 号叫立即符,它表示它后跟的是一个立即数,这个数是死的,写程序时就固定了,不可变的了。@号叫间接符,实际上的意思就是指它后跟的是一个地址指针,内的数是一个地址,操作时只是对这个地址内的数进行...

单片机汇编语言中符号 # 是什么意思
你这回答不完全,你这只能特指在51系列的汇编中,因不同厂家的汇编就不同样,如义隆的就是用@表示后是立即数。这些符号只是一个特定的表示符,在不同的厂家芯片的汇编中这些*,#,@,%,...都有只是一个厂家在出汇编时特定的一个符号罢。要具体到那个厂家的什么单片机上并要说明这符号在什么位置上...

#data和direct在汇编语言中的区别?
在单片机汇编语言中,#data指的是8位立即数,“#”为立即数的前缀符号;direct指的是8位内部数据单元的地址,可以是内部RAM单元地址00H~0FFH,也可以是一个专用寄存器地址,如I\/O端口、控制寄存器、状态寄存器等。

单片机中#0FFH什么意思
0FFH是单片机汇编语言程序中一个8位二进制数的16进制表示方法,#表示这是一个数字,0是汇编语言的规定,即当16进制数的高位数大于9时,前面要加0,FF是这个16进制数的数值,即255,H是16进制数的尾缀。

汇编语言里面#00fh是什么意思啊
在51单片机汇编语言中,数据前加井号代表这个数是立即数,也就是说是纯粹的数据,比如#00fh就是双字节十六进制数,一般代表一个地址。

单片机汇编程序 看不懂了
JMP FUWU2 START: SETB EA SETB EX0 ;开启外部中断0中断 SETB EX1 MOV R1,#OF0H设置初始值 MOV R2,#OF2H MOV R3,#OF3H MOV R4,#OF3H LOOP0: MOV TMOD,#10H设置中断工作方式 MOV TH1,#00H中断计时器复位。清冷 MOV TL1,#00H SETB TR1 计时器开始 JNB TF1,$ 等中断 CLR TF1 SETB...

在用汇编语言给单片机编程时,CLR C SUBB A,#0是什么意思
这两行应该是分开写的。是两条汇编语句;CLR C 清楚进位标志 SUBB A,#0 将累加器A中的数据与0进行比较

请问单片机的汇编语言里的“MOV B,#08H”和符号“$”表示什么意思...
MOV B,#08H;给B寄存器赋值08H.具体B寄存器的数值去做什么要看上下程序的处理.表示自身.

相似回答