6502单片机编程--伪指令1
1. 定义字节
在字节前加 $, 代表是十六进制
在字节前加 @, 代表是二进制
在字节前什么都不加,代表是十进制
例如
.ORG $0000
.DB $30,$31,$32
我们编译一下,选择 查看-内存窗口,发现地址0000开始的内容是 30 31 32
例如
.ORG $0000
.DB @00110000,@00110001,@00110010
我们编译一下,选择 查看-内存窗口,发现地址0000开始的内容是 30 31 32
例如
.ORG $0000
.DB 48,49,50
我们编译一下,选择 查看-内存窗口,发现地址0000开始的内容是 30 31 32
2. 定义字符串或汉字
例如
.ORG $0000
.DB "HELLO WORLD"
.DB "你好啊"
一般我们都在.DB 前加一个标号,这样我们在程序中就可以用这些标号
例如,我们在屏幕上显示"HELLO WORLD"
.ORG $2000
LCD_BUFFER = $02C0
STR:.DB "HELLO WORLD",0
L1:LDA STR - 1, X
.DB $00,$15,$8A
.DB $00,$08,$C0
这个程序中,STR就是字符串的首地址
.STR 伪指令该指令比较适合定义字符串或汉字
该指令会自动算出当前定义的字符串或汉字的长度,并且放在第1个字节
例如
.ORG $0000
.STR "HELLO"
我们编译一下,选择
第一个字节是字符串的长度
我个人认为这很有用,比如我显示"HELLO WORLD"到屏幕上
.ORG $0000
LCD_BUFFER = $02C0
STR:.STR "HELLO WORLD"
L1: LDA STR,X
.DB $00,$15,$8A
.DB $00,$08,$C0
以前我们还要算出字符串长度,然后送寄存器X,这里我们不需要算了,因为字符串长度是第一个字节了是不是好多了.
评论