appwin 模拟器软件内含调试器助记符说明。
. 光标地址进入反汇编窗口
= 设置PC寄存器地址到当前指令
G 运行在正常速度 [PC寄存器 = 地址]
使用: 地址 | 标号 [保留,长度]
使用: 地址 | 标号 [开始,结束]
保留 :开始地址到保留步数
长度:字节计数从开始地址到保留步数
结束:保留步数到结束地址
如果程序计数溢出到保留区,挂起单步执行
能在 ROM/OS/用户区 中使用代码。
例子:
G[G] C600 FA00,600
G[G] C600 F000:FFFF
GG 全速运行 [PC寄存器 = 地址]
使用: 地址 | 标号 [保留,长度]
使用: 地址 | 标号 [开始,结束]
保留 :开始地址到保留步数
长度:字节计数从开始地址到保留步数
结束:保留步数到结束地址
如果程序计数溢出到保留区,挂起单步执行
能在 ROM/OS/用户区 中使用代码。
例子:
G[G] C600 FA00,600
G[G] C600 F000:FFFF
IN 从IO区$c0xx 输入字节
KEY 设置键进行模拟
JSR 调用子段
使用: [标号|地址]
压入PC值到堆栈,调用子段标号名
NOP 清空当前指令为NOP
放一个NOP指令到当前指令
OUT 输出字节到 IO区 $c0xx
使用: [8位地址 | 16位地址 | 标号] ## [##]
输出一个字节或字到IO 地址 $c0xx
PROFILE 列表/保存 6502 辅助文件
使用: [RESET | SAVE | LIST]
没有参数复拉辅助文件
R 设置寄存器
使用: <reg> <value> | expression | symbol>
<reg> 为 A X Y PC SP 中一个
参照: OPERATORS
例子:
R PC RESET + 1
R PC $FC58
R A A1
R A $A1
R A #A1
P 单步当前指令
使用: [#]
单步, #次,到当前指令
JSR 将被单步和进入和.相与
RTS 步进出子段
步进出当前子段
热键: Ctrl-Space
T 跟踪当前指令
使用: [#]
跟踪,#次,当前指令
JSR 将 跟入子段
热键:Shift-Space
TF 保存跟踪到文件 [带显示扫描信息]
使用:"[文件名]" [v]
TL 跟踪 (带校验计数)
使用: [#]
跟踪到当前指令
带校验计数
U 反汇编指令
使用: [地址|标号]
反汇编内存
BM BMA(标记地址)的别名
使用: [地址|标号]
使用:# <地址|标号>
如果没有指定地址和标号,列表当前书签
升级指定的书签(#)
例子:
BM RESET
BM 1 HOME
BMA 增加/升级书签
使用: [地址|标号]
使用:# <地址|标号>
如果没有指定地址和标号,列表当前书签
升级指定的书签(#)
例子:
BMA RESET
BMA 1 HOME
BMC 清除(移去)书签
使用: [#|*]
清除指定的或所有的书签
BML 列表所有的书签
BMG 移动光标到书签
BMSAVE 保存书签
BRK 在BRK 或 INVALID 上调试
使用: [ON|OFF] [#|# ON|# OFF]
#为0=BRK,1=错误代码1,2=错误代码2,3=错误代码3
BRKOP 在操作码上进入调试
BP BPR的别名(断点寄存器地址)
使用:[LOAD|SAVE|RESET]
最大断点:16
设置没参数断点在PC上。
读入/保存为保留选择
BPA 增加一个断点
使用:[地址|寄存器]
如果地址设置了两个断点
1.在地址上有一个内存访问
2.PC指针到达地址
如果断点访问设置的是IO地址
如果一个断点地址在寄存器上的内存访问,地址访问,寄存器访问。
BPR 增加寄存器变量断点
使用: [A|X|Y|PC|S] [op] <range | value>
[op]有值时断点设置寄存器值
默认操作符是'=‘
参考:OPERATORS
例子:
BPR PC < D000
BPR PC = F000:FFFF PC < D000,1000
BPR A <= D5
BPR A != 01:FF
BPR X = A5
BPX 增加断点为当前指令
使用: [地址]
设置一个断点为当前PC或指定地址
BPIO 增加断点为 IO 地址 $c0xx
BPM 增加一个内存访问断点
使用: <range>
当 <range> 是以下时:
地址,长度 [地址,地址+长度]
地址:结束 [地址,结束]
BPMR 增加一个内存只读访问断点
使用: <range>
当 <range> 是以下时:
地址,长度 [地址,地址+长度]
地址:结束 [地址,结束]
BPMW 增加一个内存写入访问断点
使用: <range>
当 <range> 是以下时:
地址,长度 [地址,地址+长度]
地址:结束 [地址,结束]
BPC 清除(移去)断点
使用: [#|*]
清除指定或所有断点
例子:
BPC 1
BPD 关闭断点-仍然在列表,不激活
使用: [#[,#]|*]
关闭一个断点或所有断点预设置
例子:
BPD 1
BPEDIT 编辑断点
BPE 打开关闭的断点
使用: [#[,#]|*]
恢复关闭的一个断点或所有断点预设置
例子:
BPE 1
BPL 列表所有断点
BPSAVE 保存断点
BENCHMARK 测试这个模拟器
BW 设置/显示 RGB 为 黑白显示
COLOR 设置/显示 RGB 为彩色显示
使用: [<#>|<# RR GG BB>]
0参数:切换到'彩色'显示
1参数:保留 R G B 显示 “彩色”
4参数: 设置 R G B 显示 “彩色”
DISASM 设置/显示 反汇编视窗选择
注意:所有的参数效果在反汇编视窗
使用:[BRANCH | |CLICK|COLON|OPCODE|SPACES]
没有参数就显示当前设置
使用:BRANCH [#]
设置类型或测试字符
0 off,1 plain, 2 fancy
例子:
DISASM BRANCH 1
使用: CLICK [#]
左键点击后设置正确的键。(Alt,Control,或Shift)
0 左键点击 (不含Alt,Ctrl,Shift)
1 Alt 左键点击
2 Ctrl 左键点击
3 Alt+Ctrl 左键点击
4 Shift 左键点击
5 Shift+Alt 左键点击
6 Shift+Ctrl 左键点击
7 Shift+Ctrl+Alt 左键点击
例子:
DISASM CLICK 0 // Plain Left-click
DISASM CLICK 1 // Require Alt Left-click
DISASM CLICK 2 // Require Ctrl Left-click
DISASM CLICK 3 // Require Alt+Ctrl Left-click
使用:COLON [0|1]
显示一个克隆在这地址之后
例子:
DISASM COLON0
使用:OPCODE [0|1]
显示操作码在克隆之后
例子:
DISASM OPCODE 1
使用: SPACES [0|1]
显示空格在两个操作码之间
例子:
DISASM SPACES 0
使用:TARGET [#]
显示设置这目标类型的地址/变量。
0 off,1 仅值,2 仅地址,3 两者
例子:
DISASM TARGET 1
FONT 显示当前字体或设置一个新的字体
新调试器下使用,不常使用。
HCOLOR 设置/显示 颜色图到 Apple HGR
LOAD 读入调试器配置。
使用: ["文件"]
读入调试器配置为空文件或指定文件。
MONO 设置/显示 单色显示器的 RGB
使用: [<#>|<# RR GG BB>]
0参数:切换到'单色'显示
1参数:保留 R G B 显示 “单色”
4参数: 设置 R G B 显示 “单色”
SAVE 保存调试器配置
使用: ["文件"]
保存调试器配置为空文件或指定文件。
PWD 显示当前调试器目录,使用scripts 和 mem 读入/保存
CD 更新当前调试器目录。
RET 设置光标到子段调用
PAGEUP 向上卷动屏幕
PAGEUP256 向上卷动256个字节
PAGEUP4K 向上卷动4096个字节
PAGEDN 向下卷动屏幕
PAGEDOWN256 向下卷动256个字节
PAGEDOWN4K 向下卷动4096个字节
CYCLES 校验显示配置
使用: <abs | rel | part>
abs = 绝对值数
rel = 过去的跟踪数或断点数
part = 处理的当前指令数
RCC 复位校验记数
使用计数值 ‘cycles part'到当前指令
Z 数据
X 代码
B 列表所有的程式数据
DB 定义字节
使用: DB <地址>| <标号地址>|<标号范围>
告诉反汇编在肛码中的数据是字节
例子:
DB WNDTOP 22
DB WNDBTM 23
X WNDTOP // treat as code again
B // list all addresses viewed as data
DB2 定义字节数组,显示2字节/行
DB4 定义字节数组,显示4字节/行
DB8 定义字节数组,显示8字节/行
DW 定义地址数组
使用: DW <地址> | <标号地址>|<标号范围>
告诉这反汇编在代码中的数据是字
这数据是2字节的数据
例子:
DW NEXT1 801 //AppleSoft Basic Line#1 Pointer to Next line
DW LINE1 803 //Applesoft Basic Line#1 Line Number
X NEXT1 // treat as code again
B //list all addresses viewed as data
DW2 定义地址数组,每行显示2字
DW4 定义地址数组,每行显示4字
ASC 定义文本字符串
DA 定义字地址数组
DISK 访问磁盘驱动函数
CL 清除指定标志位
CLC 清除进位标志位
CLZ 清除为零标志位
CLI 清除关中断标志位
CLD 清除十进制标志位
CLB 清除中断标志位
CLR 清除保留标志位
CLV 清除溢出标志位
CLN 清除符号标志位
SE 设置指定标志位
SEC 设置进位标志位
SEZ 设置为零标志位
SEI 设置关中断标志位
SED 设置十进制标志位
SEB 设置中断标志位
SER 设置保留标志位
SEV 设置溢出标志位
SEN 设置符号标志位
? 列出所有可用命令
HELP 帮助指定命令
VERSION 显示模拟器和调试器版本
使用:[*]
* 显示扩展内部结构
MD1 在最小内存区1显示十六进制数据
MD2 在最小内存区2显示十六进制数据
MA1 在最小内存区1显示 ASCII 文本
使用:<地址|标号>
在最小内存区显示 ASCII 文本
高亮ASCII 控制字符
常规ASCII字符
使用:<地址|标号>
在最小内存区显示 ASCII 文本
反显APPLE控制字符
常规APPLE字符
MA2 在最小内存区2显示 ASCII 文本
使用:<地址|标号>
在最小内存区显示 ASCII 文本
高亮ASCII 控制字符
常规ASCII字符
使用:<地址|标号>
在最小内存区显示 ASCII 文本
反显APPLE控制字符
常规APPLE字符