APPLEWIN 模拟器中的调试器命令说明。

Peirre2年前苹果II460

调试器的关键字集合:

+++++++++++++++++++++++++++++++++++++++++++

. = ?@ A asc b bench bechmark bload bm bmc bml bmsave bp bw

calc cd cl clb clc cld cli cln clr clv clz code code1 code2 color console

cycles d da data data1 data2 db db2 db4 db8 dgr dgr1 dgr2 dhgr

dhgr1 dhgr2 disasm disk dw dw2 dw4 echo f font g gg gr gr1 gr2

hcolor help hgr hgr1 ghr2 in input jsr key load m m1 m2 ma1 ma2 mc

md1 md2 mdb me me16 me8 meb mew mm mono motd ms mt1 mt2

nop ntsc out p p0 p1 p2 p3 p4 pagedn pagedown256 pagedown4k

pageup pageup256 pageup4k pop ppop print printf profile push pwd

r rb rc rcc rd register ret ri rn rr rts run rv rz s save sb sc sd se seb sec

sed sei sen ser sev sez sh si sn source source1 source2 sr sv sym symasm

symbasic symdos symdos33 syminfo symlist symmain sympro symprodos

symsrc symsrc2 symuser symuser2 sync sz t text text1 text2 text40 text41

text42 text80 text81 text82 tf tl trace tsave u version videoinfo w wa wc

wd we win window wl wsave x z zap zp zp0 zp1 zp2 zp3 zp4 zp5 zp6 zp7

zpa zpc zpd zpe zpl zpsave \

++++++++++++++++++++++++++++++++++++++++++++

.    光标地址进入反汇编窗口


=  设置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字符


====== 未完待继

2.png

相关文章

关于apple ii /e 相关的网站。会陆续减少。

念青小筑 http://www.nianqing.net/apple2/index.htm学习apple ii /e  6502汇编语言的个人网站。骨灰集散地 http://boneash....

BASIC 启蒙系列

BASIC 启蒙系列

提到电脑不得不说BASIC这语言,APPLE上的起始高级语言,很容易上手。还可以提一下的LOGO语言。小朋友的计算机绘图学习工具,不到一个月就会了,走个过程吧。从字符计算机走向图形计算机的一个教学软件...

用过磁碟机没,早期的软驱使用软盘,总概从硬到软。

用过磁碟机没,早期的软驱使用软盘,总概从硬到软。

说起软驱和软盘,在市场上停留和滞销了很久。说起来没太大的作用,因为有光盘和U盘,数据存量比软盘大。现在的工厂上的工业数据文件,如绣花机就使用软盘作绣花机资料,还有类似的相关工业产业也一样。软盘可以磁盘...

特洛依城的飞车故事。

特洛依城的飞车故事。

QQ飞车改版了,以前玩的角色是动物派,现在角色是人物,前一段时间上线玩了一下,正好有推广,玩了一下,有一位玩家要求陪她永久的玩下去。因为现实是需要生活和吃饭的,一时解释不清。就迅速的下线没玩了,没说以...