DEBUG命令详解r
作者:未知于2002824上传r
r
r
摘自DOS之家httpdoshome151
etr
r
DebugA汇编r
r
直接将808680878088记忆码合并到内存。r
该命令从汇编语言语句创建可执行的机器码。所有数值都是十六进制格式,必须按一到四个字符输入这些数值。在引用的操作代码(操作码)前指定前缀记忆码。r
aaddressr
参数r
addressr
指定键入汇编语言指令的位置。对address使用十六进制值,并键入不以“h”字符结尾的每个值。如果不指定地址,a将在它上次停止处开始汇编。r
有关将数据输入到指定字节中的信息,请参看DebugE(键入)。r
有关反汇编字节的信息,请参看DebugU(反汇编)r
说明r
使用记忆码r
段的替代记忆码为cs、ds、es和ss。远程返回的记忆码是retf。字符串处理的记忆码必须明确声明字符串大小。例如,使用movsw可以移动16位的字串,使用movsb可以移动8位字节串。r
汇编跳转和调用r
汇编程序根据字节替换自动将短、近和远的跳转及调用汇编到目标地址。通过使用
ear或far前缀可以替代这样的跳转或调用,如下例所示:r
a01000500r
01000500jmp502a2byteshortjumpr
01000502jmp
ear505a3byte
earjumpr
01000505jmpfar50aa5bytefarjumpr
可以将
ear前缀缩写为
e。r
区分字和字节内存位置r
当某个操作数可以引用某个字内存位置或者字节内存位置时,必须用前缀wordptr或者前缀byteptr指定数据类型。可接受的缩写分别是wo和by。以下范例显示两种格式:r
decwosir
egbyteptr128r
指定操作数r
Debug使用包括在中括号的操作数引用内存地址的习惯用法。这是因为另一方面Debug不能区分立即操作数和内存地址的操作数。以下范例显示两种格式:r
movax21loadAXwith21hr
movax21loadAXwithther
co
te
tsofr
memorylocatio
21hr
使用伪指令r
使用a命令提供两个常用的伪指令:db操作码,将字节值直接汇编到内存,dw操作码,将字值直接汇编到内存。以下是两个伪指令的范例:r
db1234