网络命令2 5、net:
许多 Windows 2000 网络命令都以词 net 开头。这些 net 命令有一些公用属性:
键入 net /? 可以看到所有可用的 net 命令的列表。
键入 net help command,可以在命令行获得 net 命令的语法帮助。例如,关于 net accounts 命令的帮助信息,请键入 net help accounts。
所有 net 命令都接受 /yes 和 /no 选项(可以缩写为 /y 和 /n)。/y 选项向命令产生的任何交互式提示自动回答“是”,而 /n 回答“否”。例如,net stop server 通常提示您确认要停止基于“服务器”服务的所有服务;而 net stop server /y 对该提示自动回答“是”,然后“服务器”服务关闭。
例如:
Net send:(可能许多人已经用过,或者感到厌烦,索性把服务给关了)
将消息发送到网络上的其他用户、计算机或消息名。必须运行信使服务以接收邮件。
net send {name | * | /domain[:name] | /usersmessage}
Net stop:停止 Windows 2000 网络服务。
net stop service
例如:C:\>net stop messenger
Messenger 服务正在停止.
Messenger 服务已成功停止。
此时再打入net send 本机名 消息,就没用了;相应的,要打开这个服务,只需把stop改为start,就可以了。
Net start FTP Publishing Service
启动 FTP 发布服务。该命令只有在安装了 Internet 信息服务后才可用。
net start "ftp publishing service"
类似的命令有很多,请参考帮助文件。
6、Netstat.exe
显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
参数
-a 显示所有连接和侦听端口。服务器连接通常不显示。
-e 显示以太网统计。该参数可以与 -s 选项结合使用。
-n 以数字格式显示地址和端口号(而不是尝试查找名称)。
-s 显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。
-p protocol 显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。
-r 显示路由表的内容。
Interval 重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。
例如:
C:\>netstat -as
IP Statistics
Packets Received = 256325
…
ICMP Statistics
Received Sent
Messages 16 68
…
TCP Statistics
…
Segments Received = 41828
UDP Statistics
Datagrams Received = 82401
…
7、Ping.exe
验证与远程计算机的连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list
参数
-t Ping 指定的计算机直到中断。
-a 将地址解析为计算机名。
-n count 发送 count 指定的 ECHO 数据包数。默认值为 4。
-l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是 65,527。
-f 在数据包中发送“不要分段”标志。数据包就不会被路由上的网关分段。
-i ttl将“生存时间”字段设置为 ttl 指定的值。
-v tos 将“服务类型”字段设置为 tos 指定的值。
-r count 在“记录路由”字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。
-s count 指定 count 指定的跃点数的时间戳。
-j computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。
-k computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。
-w timeout 指定超时间隔,单位为毫秒。
destination-list 指定要 ping 的远程计算机。
较一般的用法是 ping –t www.zju.edu.cn
例如:
C:\>ping www.zist.edu.cn
Pinging www.zist.edu.cn [218.108.8.124] with 32 bytes of data:
Reply from 10.10.2.21: bytes=32 time=10ms TTL=253
Reply from 10.10.2.21: bytes=32 time<10ms TTL=253
Reply from 10.10.2.21: bytes=32 time<10ms TTL=253
Reply from 10.10.2.21: bytes=32 time<10ms TTL=253
Ping statistics for 10.10.2.21:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
8、Route.exe
控制网络路由表。该命令只有在安装了 TCP/IP 协议后才可以使用。
route [-f] [-p] [command [destination] [mask subnetmask] [gateway] [metric costmetric]]
参数
-f 清除所有网关入口的路由表。如果该参数与某个命令组合使用,路由表将在运行命令前清除。
-p 该参数与 add 命令一起使用时,将使路由在系统引导程序之间持久存在。默认情况下,系统重新启动时不保留路由。与 print 命令一起使用时,显示已注册的持久路由列表。忽略其他所有总是影响相应持久路由的命令。
Command 指定下列的一个命令。
命令 目的
print 打印路由
add 添加路由
delete 删除路由
change 更改现存路由
destination 指定发送 command 的计算机。
mask subnetmask 指定与该路由条目关联的子网掩码。如果没有指定,将使用 255.255.255.255。
gateway 指定网关。
metric costmetric 指派整数跃点数(从 1 到 9999)在计算最快速、最可靠和(或)最便宜的路由时使用。
例如:本机ip为10.111.142.71,缺省网关是10.111.142.1,假设此网段上另有一网关10.111.142.254,现在想添加一项路由,使得当访问10.13.0.0子网络时通过这一个网关,那么可以加入如下命令:
C:\>route add 10.13.0.0 mask 255.255.0.0 10.111.142.1
C:\>route print (键入此命令查看路由表,看是否已经添加了)
C:\>route delete 10.13.0.0
C:\>route print (此时可以看见已经没了添加的项)
9、Telnet.exe
在命令行键入telnet,将进入telnet模式。键入help,可以看到一些常用命令。
Microsoft Telnet> help
指令可能缩写了。支持的指令为:
close 关闭当前连接
display 显示操作参数
open 连接到一个站点
quit 退出 telnet
set 设置选项 (要列表,请键入 'set ?' )
status 打印状态信息
unset 解除设置选项 (要列表,请键入 'unset ?' )
?/help 打印帮助信息
可以键入display命令来查看当前配置:
C:\telnet
Microsoft Telnet> display
Escape 字符为 'CTRL+]'
WILL AUTH (NTLM 身份验证)
关闭 LOCAL_ECHO
发送 CR 和 LF
WILL TERM TYPE
优选的类型为 ANSI
协商的规则类型为 ANSI
可以使用set命令来设置环境变量,如:
Microsoft Telnet> set local_echo on
NTLM 打开 NTLM 身份验证。
LOCAL_ECHO 打开 LOCAL_ECHO。
TERM x (x 表示 ANSI, VT100, VT52 或 VTNT)
CODESET x (x 表示 Shift JIS,
Japanese EUC,
JIS Kanji,
JIS Kanji(78),
DEC Kanji 或
NEC Kanji)
CRLF 发送 CR 和 LF
例如:假设主机10.111.142.71打开了telnet服务
Microsoft Telnet> open 10.111.142.71
正在连接到10.111.142.71...
您将要发送密码信息到 Internet 区域中的远程计算机。这可能不安全。是否还要发送(y/n
): y (不同系统会有区别)
上面曾说明了Escape 字符为 'CTRL+]',所以键入这个字符就可以切换到外面,再按下单独的Enter键又可以回去。
Microsoft Telnet> status
已连接到 10.111.142.71
协商的规则类型为 ANSI
10、Tracert.exe
该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议 (ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
参数
/d 指定不将地址解析为计算机名。
-h maximum_hops 指定搜索目标的最大跃点数。
-j computer-list 指定沿 computer-list 的稀疏源路由。
-w timeout 每次应答等待 timeout 指定的微秒数。
target_name 目标计算机的名称。
最简单的一种用法如下:
C:\>tracert www.zist.edu.cn
Tracing route to zistwww.zist.edu.cn [10.10.2.21]
over a maximum of 30 hops:
1 <10 ms <10 ms <10 ms 10.111.136.1
2 <10 ms <10 ms <10 ms 10.0.0.10
3 <10 ms <10 ms <10 ms 10.10.2.21
Trace complete.
11、Winipcfg.exe
使用于win98系列。
使用格式:winipcfg [/?] [/all]
参数介绍:
/? 显示winipcfg的格式和参数的英文说明
/all 显示所有的有关IP地址的配置信息
主要功能:显示用户所在主机内部的IP协议的配置信息
详细介绍:
winipcfg程序采用windows窗口的形式来显示IP协议的具体配置信息,如果winipcfg命令后面不跟任何参数直接运行,程序将会在窗口中显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,还可以查看主机的相关信息如:主机名、DNS服务器、节点类型等。其中网络适配器的物理地址在检测网络错误时非常有用。在命令提示符下键入winipcfg/?可获得winipcfg的使用帮助,键入winipcfg/all可获得IP配置的所有属性。
举例说明:
如果我们想很快地了解某一台主机的IP协议的具体配置情况,可以使用winipcfg命令来检测。其具体操作步骤如下:在“运行”对话框中,直接输入winipcfg命令,接着按一下回车键,我们就会看到一个界面。在该界面中,我们了解到本机使用的网卡类型,网卡的物理地址是多少,主机的IP地址是多少,还有子网掩码和路由器的地址,如果用户想更加详细地了解该主机的其他IP协议配置信息,例如DNS服务器、DHCP服务器等方面的信息,可以直接单击该界面中的“详细信息”按钮。
12、Winpopup.exe
- 作者: easttop 2004年11月24日, 星期三 16:02 回复(0) | 引用(0)
网络命令使用说明1
参考文档一:网络命令使用说明
1、ARP: 显示和修改IP地址与物理地址之间的转换表
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]
-a 显示当前的ARP信息,可以指定网络地址
-g 跟 -a一样.
-d 删除由inet_addr指定的主机.可以使用* 来删除所有主机.
-s 添加主机,并将网络地址跟物理地址相对应,这一项是永久生效的。
eth_addr 物理地址.
if_addr If present, this specifies the Internet address of the
interface whose address translation table should be modified.
If not present, the first applicable interface will be used.
例子:
C:\>arp –a (显示当前所有的表项)
Interface: 10.111.142.71 on Interface 0x1000003
Internet Address Physical Address Type
10.111.142.1 00-01-f4-0c-8e-3b dynamic //物理地址一般为48位即6个字节
10.111.142.112 52-54-ab-21-6a-0e dynamic
10.111.142.253 52-54-ab-1b-6b-0a dynamic
C:\>arp -a 10.111.142.71(只显示其中一项)
No ARP Entries Found
C:\>arp -a 10.111.142.1(只显示其中一项)
Interface: 10.111.142.71 on Interface 0x1000003
Internet Address Physical Address Type
10.111.142.1 00-01-f4-0c-8e-3b dynamic
C:\>arp -s 157.55.85.212 00-aa-00-62-c6-09 添加,可以再打入arp –a 验证是否已经加入.
2、ftp:(功能就不用描述了,请参看下面的具体用法)
该命令只有在安装了 TCP/IP 协议之后才可用。Ftp 是一种服务,一旦启动,将创建在其中可以使用 ftp 命令的子环境,通过键入 quit 子命令可以从子环境返回到 Windows 2000 命令提示符。当 ftp 子环境运行时,它由 ftp 命令提示符代表。
ftp [-v] [-n] [-i] [-d] [-g] [-s:filename] [-a] [-w:windowsize] [computer]
参数
-v 禁止显示远程服务器响应。
-n 禁止自动登录到初始连接。
-I 多个文件传送时关闭交互提示。
-d 启用调试、显示在客户端和服务器之间传递的所有 ftp 命令。
-g 禁用文件名组,它允许在本地文件和路径名中使用通配符字符(* 和 ?)。(请参阅联机“命令参考”中的 glob 命令。)
-s: filename指定包含 ftp 命令的文本文件;当 ftp 启动后,这些命令将自动运行。该参数中不允许有空格。使用该开关而不是重定向 (>)。
-a 在捆绑数据连接时使用任何本地接口。
-w:windowsize 替代默认大小为 4096 的传送缓冲区。
Computer 指定要连接到远程计算机的计算机名或 IP 地址。如果指定,计算机必须是行的最后一个参数。
下面是一些常用命令:
!: 从ftp子系统退出到系统外壳
?:显示ftp说明,跟help一样
append: 添加文件,格式为:append 本地文件 远程文件
cd: 更换远程目录
lcd: 更换本地目录,若无参数,将显示当前目录
open:与指定的ftp服务器连接 open computer [port]
close:结束与远程服务器的 FTP 会话并返回命令解释程序
bye:结束与远程计算机的 FTP 会话并退出 ftp
dir: 结束与远程计算机的 FTP 会话并退出 ftp
get 和 recv:使用当前文件转换类型将远程文件复制到本地计算机 get remote-file [local-file]
send 和 put:上传文件:send local-file [remote-file]
其它命令请参考帮助文件。
例子:
C:\>ftp
ftp> open ftp.zist.edu.cn
Connected to ftp.zist.edu.cn.
220 (浙江工程学院软件服务器) [ftp.zist.edu.cn]
User (ftp.zist.edu.cn:(none)): anonymous
331 Anonymous login ok, send your complete e-mail address as password.
Password:
230 Anonymous access granted, restrictions apply.
ftp> dir //查看本目录下的内容:
…
ftp> cd pub //切换目录
250 CWD command successful.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
…
ftp> cd microsoft
250 CWD command successful.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
-rw-r--r-- 1 ftp ftp 288632 Dec 8 1999 chargeni.exe
226 Transfer complete.
ftp: 69 bytes received in 0.01Seconds 6.90Kbytes/sec.
ftp> lcd e:\ //本地目录切换
Local directory now E:\.
ftp> get chargeni.exe //下载文件
200 PORT command successful.
150 Opening ASCII mode data connection for chargeni.exe (288632 bytes).
226 Transfer complete.
ftp: 289739 bytes received in 0.36Seconds 802.60Kbytes/sec.
ftp> bye //离开
221 Goodbye.
3、Ipconfig
该诊断命令显示所有当前的 TCP/IP 网络配置值。该命令在运行 DHCP 系统上的特殊用途,允许用户决定 DHCP 配置的 TCP/IP 配置值。
ipconfig [/? | /all | /release [adapter] | /renew [adapter]
| /flushdns | /registerdns
| /showclassid adapter
| /setclassid adapter [classidtoset] ]
/all 产生完整显示。在没有该开关的情况下 ipconfig 只显示 IP 地址、子网掩码和每个网卡的默认网关值。
例如:
C:\>ipconfig
Windows 2000 IP Configuration
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 10.111.142.71 //IP地址
Subnet Mask . . . . . . . . . . . : 255.255.255.0 //子网掩码
Default Gateway . . . . . . . . . : 10.111.142.1 //缺省网关
C:\>ipconfig /displaydns //显示本机上的DNS域名解析列表
C:\>ipconfig /flushdns //删除本机上的DNS域名解析列表
4、Nbtstat.exe
该诊断命令使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计和当前 TCP/IP 连接。该命令只有在安装了 TCP/IP 协议之后才可用。
nbtstat [-a remotename] [-A IP address] [-c] [-n] [-R] [-r] [-S] [-s] [interval]
参数
-a remotename 使用远程计算机的名称列出其名称表。
-A IP address 使用远程计算机的 IP 地址并列出名称表。
-c 给定每个名称的 IP 地址并列出 NetBIOS 名称缓存的内容。
-n 列出本地 NetBIOS 名称。“已注册”表明该名称已被广播 (Bnode) 或者 WINS(其他节点类型)注册。
-R 清除 NetBIOS 名称缓存中的所有名称后,重新装入 Lmhosts 文件。
-r 列出 Windows 网络名称解析的名称解析统计。在配置使用 WINS 的 Windows 2000 计算机上,此选项返回要通过广播或 WINS 来解析和注册的名称数。
-S 显示客户端和服务器会话,只通过 IP 地址列出远程计算机。
-s 显示客户端和服务器会话。尝试将远程计算机 IP 地址转换成使用主机文件的名称。
interval重新显示选中的统计,在每个显示之间暂停 interval 秒。按 CTRL+C 停止重新显示统计信息。如果省略该参数,nbtstat 打印一次当前的配置信息。
例子:
C:\>nbtstat –A 周围主机的ip地址
C:\>nbtstat –c
C:\>nbtstat –n
C:\>nbtstat -S
本地连接:
Node IpAddress: [10.111.142.71] Scope Id: []
NetBIOS Connection Table
Local Name State In/Out Remote Host Input Output
JJY <03> Listening
另外可以加上间隔时间,以秒为单位
- 作者: easttop 2004年11月24日, 星期三 15:59 回复(0) | 引用(0)
debug功能 DEBUG功能
一、DEBUG功能介绍
DEBUG是为DOS提供的有力的侦错,跟踪程序运行,检查系统数据的工具程序,要很好地使用它必须具备一定的汇编程序设计和硬件基本知识的能力,当然,它为汇编语言程序员提供了有效的调试手段,它的功能包括以下几个方面。
1. 直接输入、更改、跟踪、运行汇镅栽闯绦颍华
2. 观察操作系统的内容;
3. 查看ROM BIOS的内容;
4. 观察更改RAM内部的设置值;
5. 以扇区或文件的方式读写软盘数据。
在DEBUG中地址用段地址与段内地址来表示,而段地址可以明确地指出来,也可以用一个段指示器(段寄存器)来代表,用段寄存器表示时,其段地址就是此寄存器的内含值:
如:用段地址和段内地址表示FOFF:0100
用段寄存器和段内地址表示CSF:0100←CS指向F000
二、DEBUG程序的调用
在DOS提示符下可键入以下命令:
DEBUG[d:][path][文件名][参数1][参数2]
其中文件名是被调试文件的名字,其后缀需为EXE或COM文件,d:和path为被调用文件所在的盘符和路径,两个参数是运用被调试文件所需的参数,方括号“[]”中的选项可选项,回车后出现“-”提示符,就可用所需的DEBUG命令。
三、DEBUG命令
1.“?”命令
此命令在“-”之后键入“?”回车即可出现DEBUG命令的所有说明,读者一用即知。
2.“A”命令:将汇编语言源程序译成机器码,并存入内存地址。
格式:-A[起始地址]
如果A后无地址,则DEBUG会将DS:100定为起始地址;
例A:>DEBUG
-a 0100
08F1:0100 MOV CH,09
08F1:0102 MOV DX,109
08F1:0105 INT 21H
08F1:0107 INT 21H
08F1:0109 db 'May I help you $'
08F1:0115 ←离开a状态
-g ←运行
May I help you 运行结果
Program terminated normally←表示运行正常
3. “C”命令:比较两段内存区内容并列出相异式。
格式:C第一段起始地址 第一段终止地址 第二段起始地址
如:C4000:0 3F 100
就是用来比较4000:0000-4000:003F与DS:0100-DS:013F之间的内容:其显示格式如下:
内存地址1 内含值1 内含值2 内存地址2
例:比较4000:0 3F 100内容的差异
-C4000:0 3F 100
4000:0000 64 43 08F1:0100
4000:0001 3E 69 08F1:0101
4000:0002 78 FF 08F1:0102
.....................显示内容的差异处
如果要比较的范围在DS内,则段地址不必指出:
如:-C 0 4 100;比较DS:0__DS:4与DS:100__DS:104
C命令的另一种格式如下:C地址1 L长度 地址2
如:-C0000:0 L4 0 ;由0000:0与DS:0开始比较
它同-C0000:0 3 0 命令相等,显示结果如下:
0000:0000 8A C0 08F1:0000
0000:0001 10 20 08F1:0001
0000:0002 1C 00 08F1:0002
0000:0003 49 7F 08F1:0003它们都比较4个字节
4.“D”命令:将指定内存区内容列出
格式 D[范围]
D命令可以列出指定内存内容,并分别以十六进制及ASCII 字符显示出来, 其中在ASCII字符区,英文字母及数字分别在十六进制区用41-5A和30-39表示大写A-Z和0-9,61-7A表示小写a-z,用D命令时,其列出内存内容的第8到第9之间有一个减号“-”连接,以方便观察。
例:-d10,4f 即为显示DS:10-DS:4F的内存内容
在D命令中如不指出段地址,则其默认为DS段。
如指明段地址,则从指明的段地址列出指定的范围
如:-dffff:00,0f
我们也可以指定长度来列出所需要内存内容
如:-d 100 L20即为显示由DS:100-DS:11F的内容,共20H个字节:
若没有指定范围,则会从上一个D命令所显示的最后的地址接干来显示128个字节,即7FH个。
5.“E”命令:修改内存内容的命令
格式:E起始地址[数据行]
(1) 用给定内容代替指定范围的单元内容
-E 地址 内容表
例:-E100 41 42 43 44 48 47 46 45
-D 100,L08
08F1:0100 41 42 43 44 48 47 46 45 ABCDHGFE…
(2) 逐个内存内容
例:-E 100:
08F1:0100 76 42 :42是操作员键入
此命令是将原100号内存内容76修改为42,用D命令可察看
6.“F”命令:将数据填入指定的范围
格式:F范围 数据行
说明:F命令将数据行填入F所设定的范围内,如果数据未能一次填范围,则其会重复地填入,直至填满。
例:-f100 120 61 62 63 64
-d100 11f
08F1:0100 61 62 63 64 61 62 63 64 -61 62 63 64 61 62 63 abcd abcd abcd abcd 08F1:0110 13 67 98 E3 C8 2E B3 B6 -03 21 AC 19 31 21 4E 96 g.......l...
如果数据行超出指定的范围,则填不下的数值会被忽略。
例:-f 100 l07 41 43 43 44 45 46 47 48 49 4A 4B 4C 4D
-d 100,lof
08F1:0100 41 42 43 44 45 46 47 64 -61 62 63 64 61 62 63 64 ABCDEFGdabcdabcd 由上例可看出,超出范围的数据被忽略
另外,F和E命令都可填入字符串:
如:-F 100 105 “MSDOS”
-d 100 lof
08F1:0100 4D 53 44 4F 53 46 47 64 -61 62 63 64 61 62 63 64 MS DOS FGabcd abcd
7.“G”命令:运行机器码程序
格式:-G[=起始地址][中断点1]……
例:A:\>debug tan.exe
-u:反编译成汇编语言程码
.........
. .
-g 100←指定中断点
Program terminated normally:
另外:我们在DEBUG 下可运行一个文件.EXE
如:A:\>debug tan.exe
-g
即可开始运行此程序,和在DOS下完全一样:
8.“H”命令:以十六进制计算两个数的和与差。
格式:H 数值1 数值2
例:-h 4538 5623
9B5B EF15
-
9.“I”命令:显示I/O端口数据
格式:I I/O端口地址
例:-i 70
F9 ;显示70端口的内容为F9
I命令可由80X86的64K个端口取数据
10.“L”命令:将文件或扇区的数据装入内存
格式:L[装入地址[驱动器名 起始/扇区/扇区数]]
(1) 格式1. L装入地址 驱动器名 起始扇区/扇区数
这种方式可把磁盘上指定扇区范围的内容装入到存储器从指定地址开始的区域中,在此外扇区编号引用逻辑/扇区的方式。
例:-L 100 0 01 ,将A驱的0扇区装至CS:100上
-d 100 10f
08F1:0100 EB 3C 90 3C 53 44 4F 53 -36 2E 32 32 02 01 01 00 .L.MSDOS 6.22……
(2) 格式2: L装入地址
这种方式可把指定文件装入内存,装入的文件可在进入DEBUG时指定亦可用N命令建立,格式为-n文件名: 例1 DEBUG tan.pas
-L 100
例2 DEBUG
-n tan.pas
-L 100
须知:L命令只能读取逻辑扇区,不能读取硬盘分区表
L 命令中所用的磁盘代码A=00,B=01,C=02.....
11.“M”命令:移动内存中数据
格式:M范围 目的地址
M命令将指定的范围移到目的地址上,其实M命令做的不是移动而是拷贝的动作,经移动的源地址和目的地址内容一样。
例:-e100 41 42 43 44 45
-d100 l0f
08F1:0100 41 42 43 44 45 62 63 64-61 62 63 64 61 62 63 64 ABCDEBCDABCDABCD
-M 100 104 110
-d110 L1F
08F0:0100 41 42 43 44 45 0A 21 19-20 01 01 20 07 96 87 9F ABCDE.......
12.“N”命令:命名命令
格式:N 路径名1 [路径名2]
说明:我们在运行程序侦错时,在启动DEBUG 时在其后加文件程序名以及该程序的参数或运行文件,但当我们侦错一段后,可能装入其它文件来测试,这时我们可利用N命令来设置而无需退出DEBUG。
例:A:\>DEBUG tan.exe
-n yong.pas
当程序侦错一段时间后,若要把tan.exe装入tan1.pas则用-n tan1.pas即可
13.“O”命令:将1个字节的数据送往I/O端口地址
格式:O输出地址数据
例:当我们遇到开机要求输入口令时,可用如下方式取消
-O 70 10
-O 71 00
14.“P”命令:运行指定地址上的程序,指定指令个数格式:P[=地址][指个数]
P命令和T一样选用来跟踪程序运行过程用的命令,我们可以在P命令中指定程序运行的起始地址,指令个数,如未指定则从CS:IP所指定的地址开始一次运行一条指令。
P与T命令的差别在于P命令把CALL/INT当成一条指令来执行,简化了跟踪过程,P命令只运行RAM内存的命令,而T命令则可运行RAM和ROM里的程序。
15.“R”命令:显示及更改寄存器值。
格式:R[寄存器名]
在R指令后加入寄存器名,则DEBUG会单独显示此寄存器名并等待输入新值,若不想改变则回车即可。
例:-r bx
bx 0050
:51
-r
AX=0000 BX=0051 CX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0003 ES=0CD3 SS=0CD3 1P=0100 NV UP EI PL NZ NA PO NC
0CD3:0100 0F DB OF
若想改变标志寄存器,用-RF回车,则DEBUG会将标志内容显示出来,若想改变任一标志,只要输入该标志的名称即可。
标志名称 设置 未设置 标志名称 设置 未设置
溢出 OV(溢出) NV(未溢出) 零位 ZR NZ(不等于零)
方向 DN(减少) UP(增加) 辅助进位 AC NA(无进位)
中断 EI(许可) DI(禁止) 奇偶标志 PE(偶) PO(奇)
符号 NG(负) PL(正) 进位 CY NC(清除进位)
例:-Rf
NV UP EI PL NZ NA PO NC:- OV DI←输入值
16.“S”命令:从指定的内存区找出指定的数据。
格式:S内存 字符串(数据行)
在此内存可以用(起始地址)(终止地址)或(起始地址)L(长度)的方式来表示, 而字符串与数据行则可混合使用:如:0276“BC”。
例:-d100 lof
08F1:0100 OF 2A 41 43 0B 31 42 96 -FF F0 7F B9 8A F3 00 B1 .. AC. 1B......
-S 100 lof"AC"
08F1:0102 ←表示找到,由0102开始,
17.“T”命令;跟踪程序运行
格式:T[=起始地址][运行次数]
(1) 逐条指令跟踪 -T[=起始地址]
从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值,如来指定地址则从当前CS:1P开始执行。
A:\>DEBUG
-A
08F1:0100 MOV DL,03H
08F1:0102 MOV AH,02H
08F1:0104 INT 21H
08F1:0106 INT 20H
08F1:0108
-T
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=08F1 ES=08F1 SS=08F1 CS=08F1 1P=0105 NV UP EI PL NZ NA PO CY
08F1:0102 B402 MOV AH,02
若指定起始地址,则T命令会从指定的地址开始跟踪, 我们还可以指定跟踪一次所运行指令的个数,用Ctrl+S可暂停屏幕的显示,以便观察。
-t=100 10;由CS:100开始跟踪10条指令
18.“u”命令:反汇编命令:
格式:u[内存范围]或[地址]
(1) 从指定地址开始编译,反汇编32个字节
-U[地址]←从CS:100开始,共反汇编32个字节
如果地址被省略,则从上一个U命令的最后一条指令的下一条单元开始反汇编32 个字节。
(2) 对指定的存贮范围进行反汇编
-u 起始地址 终止地址(L长度)
例:-U 100 109
08F1:0100 CD20 INT 20
08F1:0102 FF9F009A CALL FA12[BX+9A00]
08F1:0106 F0 LOCK
08F1:0107 FE1D CALL FAR [DI]
08F1:0109 F0 LOCK
说明:如指定了范围则整个范围全都会被反编译
19.“W”写命令:将程序写入软盘或文件中。
格式:W[起始地址[驱动器名 起始扇区 扇区数]]
在运行W时需设置文件名及文件的大小CX或BX寄存器
(1) 把数据写入磁盘的指定扇区
-W 起始地址 驱动器名 起始扇区 扇区数
(2) 把数据写入指定文件中
-W 起始地址
例 A:\>DEBUG
-A
08f1:0100......
.
08F1:012A......写入程序段
-R CX
CX:0000
:2A ←写入字节数,即为程序结尾地址减起始地址
-n tan.com←设置文件名,需后缀为com
-w
Wring 002A bytes
-q
A:\>TAN ←即可执行此程序
20.“XA”命令:配制EMS内存
在用此命令及XD、XS时,要先将EMM386.EXE装入, 否则 DEBUG 会现示 EMS not installed
格式:XA 内存页数(每页16K)
例:-XA 4←配置4页EMS内存
Handle created=0001←已配置,且分配0001号句柄
21.“XD”命令:释放EMS内存
例:-XD 0001
handle 0001 deallocatel←释放了
利用XD释放后可再分配
22.“XM”命令;把扩充内存上的内存页区映射到主内存区
格式:XM RAM长页码 主内存页码句柄
例:-XM 3 2 0001←把0001号句柄的第3号逻辑页区映射到2号真实页区
Logical page 03 mapped to physical page 02
23.“XS”命令:显示当前EMS使用情况。
格式 -XS
24.“Q”命令:退出DEBUG程序
格式:-Q
它退出时不存盘,如需存盘先用W命令,然后再退出
- 作者: easttop 2004年11月18日, 星期四 08:49 回复(0) | 引用(0)
毕业设计题目介绍 毕业设计题目介绍
2002年 月 日
题目名称
计算机实验室教学管理系统
(一)
指导教师
杨东鹤
题目来源
A.纵向课题(国家 省 市) B.横向课题 C.院立课题 D.自拟 E.学生自带
内
容
简
介
1、内容
随着计算机信息技术的发展,计算机在教育领域应用日趋广泛。计算机上机的比例逐年增多。上机的题目分发,以及上机后,学生的上机的结果的保存与收集都是需要考虑的问题。本毕业设计拟利用internet技术,开发一个计算机实验室的教学管理系统。老师可以利用此系统分发上机题目,收集学生上机实验结果。学生可以利用此系统,缴交作业、交流学习心得等。
2、要求及技术指标
要求能够为每门课程、每个老师提供比较完善的解决方案。
本毕业设计主要是完成后台数据库的设计、管理与维护。
知识及基本工具 准备知识、需补充
所涉及的主要知识有:数据库、网络编程等。
注:对网络编程不感兴趣者不要选。
建好教学管理系统,并据此写出毕业论文。
毕业设计题目介绍
2002年 月 日
题目名称
计算机实验室教学管理系统
(二)
指导教师
杨东鹤
题目来源
A.纵向课题(国家 省 市) B.横向课题 C.院立课题 D.自拟 E.学生自带
内
容
简
介
2、内容
随着计算机信息技术的发展,计算机在教育领域应用日趋广泛。计算机上机的比例逐年增多。上机的题目分发,以及上机后,学生的上机的结果的保存与收集都是需要考虑的问题。本毕业设计拟利用internet技术,开发一个计算机实验室的教学管理系统。老师可以利用此系统分发上机题目,收集学生上机实验结果。学生可以利用此系统,缴交作业、交流学习心得等。
2、要求及技术指标
要求能够为每门课程、每个老师提供比较完善的解决方案。
本毕业设计要求以某门课程为例,完成一个比较详细的模板。
知识及基本工具 准备知识、需补充
所涉及的主要知识有:数据库、网络编程等。
注:对网络编程不感兴趣者不要选。
建好教学管理系统,并据此写出毕业论文。
- 作者: easttop 2004年11月10日, 星期三 10:59 回复(0) | 引用(0)
数据结构环形链表 #include
#include
#include
file://建立结构
struct ManNode
{
int Number;
struct ManNode * Next;
int Password;
};
void DeleteNode(int ManNumber,int number,struct ManNode * head);
struct ManNode * CreateList(int NumOfMan);
void main()
{
int m;
int NumMan;
struct ManNode * Head;
printf("请输入参加的人数:\n");
scanf("%d",&NumMan);
Head=CreateList(NumMan);
printf("请输入刚开始任选的人数m:\n");
scanf("%d",&m);
DeleteNode(NumMan,m,Head);
getch();
free(Head);
}
struct ManNode * CreateList (int NumOfMan)
{
struct ManNode * head,*ManNodePtr1,*ManNodePtr2;
head=NULL;
int Num=1;
ManNodePtr2=(struct ManNode *)malloc(sizeof(struct ManNode));
file://分配存储单元
printf("请输入用户所持有的密码:");
scanf("%d",&ManNodePtr2->Password);
ManNodePtr2->Number =Num;
head=ManNodePtr2;
while(Num!=NumOfMan)
{
Num++;
ManNodePtr1=(struct ManNode *)malloc(sizeof(struct ManNode));
printf("请输入用户所持有的密码:");
scanf("%d",&ManNodePtr1->Password);
ManNodePtr1->Number =Num;
ManNodePtr2->Next =ManNodePtr1;
ManNodePtr2=ManNodePtr1;
}
ManNodePtr2->Next =head;
printf("输入结束!\n");
return head;
}
void DeleteNode (int ManNumber,int number,struct ManNode * head)
{
int num=1;
struct ManNode *ManNodePtr1;
struct ManNode *ManNodePtr2;
ManNodePtr1=ManNodePtr2=head;
while(ManNumber>0)
{
while(num!=number)
{
ManNodePtr2=ManNodePtr1;
ManNodePtr1=ManNodePtr1->Next
number--;
}
number=ManNodePtr1->Password;
printf("出列人的编号:%d\n",ManNodePtr1->Number)
ManNodePtr2->Next =ManNodePtr1->Next
ManNodePtr1=ManNodePtr1->Next
ManNumber--;
}
printf("\n运行结束!!!\n");
}
- 作者: easttop 2004年10月22日, 星期五 10:10 回复(1) | 引用(0)
8088 宏汇编速查手册(三) 8088 宏汇编速查手册(三)
www.zhirui.com 2001-10-12 14:42:59 中华网校
十一. 绝对磁盘读写 (中断25,中断26)
───────────────────────────────────────
A. INT 25 绝对磁盘读
B. INT 26 绝对磁盘写
入口: AL =驱动器号(0-2), 0=A, 1=B, 2=C
DX =起始扇区的逻辑扇区号
CX =欲读写扇区数(1-80H),
DS:BX =内存缓冲区首址.
十二. IBM PC 功能调用 (中断 INT 21)
───────────────────────────────────────
.00H 程序结束.
.01H 键盘输入一个字符.(回显)
入口: AH=01. 返回: DL=输入字符.
对扩展键, 要求两次功能调用.
.02H 显示一个字符.
入口: AH=02, DL=字符.(07响铃,08退格,0D回车,0A换行)
.05H 打印一个字符.
入口: AH=05, DL=字符.(0D回车,0A换行)
.08H 键盘输入一个字符.(不回显)
入口: AH=08. 返回: DL=输入字符.
对扩展键, 要求两次功能调用.
.09H 显示一串字符.
入口: AH=09, DS:DX=字符串首址.(字符串必须以字符'$'结尾.)
.0AH 键盘输入一串字符.
入口: AH=0A, DS:DX=字符串首址. 字节DS:[DX]=缓冲区长(最多容纳字符数)
(输入字符串必须以回车结尾.)
返回: 字符串首址在DS:DX+2,字符数=DS:[DX+1].
.0CH 清键盘缓冲区,并调用键盘功能(.01H,06H,07H,08H或0AH).
入口: AH=0C, AL=调用键盘功能号(.01H,06H,07H,08H或0AH).
.30H 取得DOS版本号.
返回: AL-主版本号, AH-次版本号
.42H 移动文件读写指针
AL=0 指针从文件开始移动CX:DX个字节
AL=1 指针从当前位置开始移动CX:DX个字节
AL=2 指针从文件尾向前移动CX:DX个字节
.43H 改变文件属性
.4CH 结束DOS程序,并保留代码可用于批处理中.
━ 完 ━
- 作者: easttop 2004年10月13日, 星期三 11:16 回复(1) | 引用(0)
8088 宏汇编速查手册(二) 8088 宏汇编速查手册(二)
www.zhirui.com 2001-10-12 14:42:59 中华网校
六、伪指令
───────────────────────────────────────
DB 定义字节.
DW 定义字(2字节).
PROC 定义过程.
ENDP 过程结束.
SEGMENT 定义段.
ASSUME 建立段寄存器寻址.
ENDS 段结束.
END 程序结束.
七. 系统和BIOS,DOS占用的中断向量
───────────────────────────────────────
.中断 0: 除数为0错 .中断 19: 引导装入程序
.中断 1: 单步中断 .中断 1A: 日时调用
.中断 2: 不可屏蔽中断 NMI .中断 1B: 键盘阻断时得到控制权
.中断 3: 断电中断 (CCH) .中断 1C: 时钟中断时得到控制权
.中断 4: 溢出中断 .中断 1D: 指向CRT初始参数表
.中断 5: 屏幕打印中断 .中断 1E: 指向盒带参数表
.中断 6-7: 保留 .中断 1F: 1KB图形模式CRT用第128至256号字符
.中断 8: 计时器中断(18.2/秒) .中断 20: 结束DOS程序
.中断 9: 键盘中断 .中断 21: DOS功能调用
.中断 A-D: 保留 .中断 22: 结束地址 (建议用EXEC功能调用)
.中断 E: 软盘机中断 .中断 23: DOS Ctrl-Break退出地址
.中断 F: 保留 .中断 24: DOS 致命错向量
.中断 10: 屏幕I/O调用 .中断 25: DOS 绝对磁盘读
.中断 11: 设备检查调用 .中断 26: DOS 绝对磁盘写
.中断 12: 存贮器检查调用 .中断 27: 结束程序并贮留(建议用31H功能调用)
.中断 13: 软盘机I/O调用 .中断 28-3F: DOS 保留
.中断 14: RS-232 I/O 调用 .中断 40-7F: 未用
.中断 15: 盒带机I/O调用 .中断 80-85: BASIC保留
.中断 16: 键盘I/O调用 .中断 86-F0: BASIC解释程序用
.中断 17: 打印机I/O调用 .中断 F1-FF: 未用
.中断 18: ROM-BASIC入口
八. IBM PC 的中断 INT 10:
───────────────────────────────────────
.00H 屏幕方式设置.
入口: AH=0, AL=显示方式代码.(0-6)
0: 40x25 黑白 1: 40x25 彩色 2: 80x25 黑白 3: 80x25 彩色文本方式
4: 320x200 彩色 5: 320x200 黑白 6: 640x200 黑白图形方式
7: 80x25 单色字符 (单色显示器)
.01H 设光标大小
入口: AH=1, CH=光标起始行号(00-0C), CL=光标结束行号(00-0C), 且CHAL )
2. 输入输出端口传送指令.
IN I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )
OUT I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )
输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,
其范围是 0-65535.
3. 目的地址传送指令.
LEA 装入有效地址.
例: LEA DX,string ;把偏移地址存到DX.
LDS 传送目标指针,把指针内容装入DS.
例: LDS SI,string ;把段地址:偏移地址存到DS:SI.
LES 传送目标指针,把指针内容装入ES.
例: LES DI,string ;把段地址:偏移地址存到ES:DI.
4. 标志传送指令.
LAHF 标志寄存器传送,把标志装入AH.
SAHF 标志寄存器传送,把AH内容装入标志寄存器.
PUSHF 标志入栈.
POPF 标志出栈.
二、算术运算指令
───────────────────────────────────────
ADD 加法.
ADC 带进位加法.
INC 加 1.
AAA 加法的ASCII码调整.
DAA 加法的十进制调整.
SUB 减法.
SBB 带借位减法.
DEC 减 1.
NEC 求反(以 0 减之).
CMP 比较.(两操作数作减法,仅修改标志位,不回送结果).
AAS 减法的ASCII码调整.
DAS 减法的十进制调整.
MUL 无符号乘法.
IMUL 整数乘法.
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
AAM 乘法的ASCII码调整.
DIV 无符号除法.
IDIV 整数除法.
以上两条,结果回送:
商回送AL,余数回送AH, (字节运算);
或 商回送AX,余数回送DX, (字运算).
AAD 除法的ASCII码调整.
CBW 字节转换为字. (把AL中字节的符号扩展到AH中去)
CWD 字转换为双字. (把AX中的字的符号扩展到DX中去)
三、逻辑运算指令
───────────────────────────────────────
AND 与运算.
OR 或运算.
XOR 异或运算.
NOT 取反.
TEST 测试.(两操作数作与运算,仅修改标志位,不回送结果).
SHL 逻辑左移.
SAL 算术左移.(=SHL)
SHR 逻辑右移.
SAR 算术右移.(=SHR)
ROL 循环左移.
ROR 循环右移.
RCL 通过进位的循环左移.
RCR 通过进位的循环右移.
以上八种移位指令,其移位次数可达255次.
移位一次时, 可直接用操作码. 如 SHL AX,1.
移位>1次时, 则由寄存器CL给出移位次数.
如 MOV CL,04
SHL AX,CL
四、串指令
───────────────────────────────────────
DS:SI 源串段寄存器 :源串变址.
ES:DI 目标串段寄存器:目标串变址.
CX 重复次数计数器.
AL/AX 扫描值.
D标志 0表示重复操作中SI和DI应自动增量; 1表示应自动减量.
Z标志 用来控制扫描或比较操作的结束.
MOVS 串传送.
( MOVSB 传送字符. MOVSW 传送字. )
CMPS 串比较.
( CMPSB 比较字符. CMPSW 比较字. )
SCAS 串扫描.
把AL或AX的内容与目标串作比较,比较结果反映在标志位.
LODS 装入串.
把源串中的元素(字或字节)逐一装入AL或AX中.
STOS 保存串.
是LODS的逆过程.
REP/REPE/REPNE/REPZ/REPNZ 重复
五、程序转移指令
───────────────────────────────────────
1>无条件转移指令 (长转移)
JMP 无条件转移指令
CALL 过程调用
RET/RETF过程返回.
2>条件转移指令 (短转移,-128到+127的距离内)
JA/JNBE 不小于或不等于时转移.
JAE/JNB 大于或等于转移.
JB/JNAE 小于转移.
JBE/JNA 小于或等于转移.
以上四条,测试无符号整数运算的结果(标志C和Z).
JG/JNLE 大于转移.
JGE/JNL 大于或等于转移.
JL/JNGE 小于转移.
JLE/JNG 小于或等于转移.
以上四条,测试带符号整数运算的结果(标志S,O和Z).
JE/JZ 等于转移.
JNE/JNZ 不等于时转移.
JC 有进位时转移.
JNC 无进位时转移.
JNO 不溢出时转移.
JNP/JPO 奇偶性为奇数时转移.
JNS 符号位为 "0" 时转移.
JO 溢出转移.
JP/JPE 奇偶性为偶数时转移.
JS 符号位为 "1" 时转移.
3>循环控制指令(短转移)
LOOP CX不为零时循环.
LOOPE/LOOPZ CX不为零且标志Z=1时循环.
LOOPNE/LOOPNZ CX不为零且标志Z=0时循环.
JCXZ CX为零时转移.
4>中断指令
INT 中断指令
INTO 溢出中断
IRET 中断返回
5>处理器控制指令
HLT 处理器暂停, 直到出现中断或复位信号才继续.
WAIT 当芯片引线TEST为高电平时使CPU进入等待状态.
ESC 转换到外处理器.
LOCK 封锁总线.
NOP 空操作.
STC 置进位标志位.
CLC 清进位标志位.
CMC 进位标志取反.
STD 置方向标志位.
CLD 清方向标志位.
STI 置中断允许位.
CLI 清中断允许位.
转载于:https://www.cnblogs.com/supersyg/archive/2006/09/08/498480.html