《微机系统操作命令行方式课件讲课教案》由会员分享,可在线阅读,更多相关《微机系统操作命令行方式课件讲课教案(34页珍藏版)》请在金锄头文库上搜索。
1、微机系统操作命令行方式,实验环境:PC,DOS命令,文件管理 (1)Windows下进入命令行方式/常用MS-DOS命令 Windows下利用开始运行(或按Win键+R)输入cmd 或command 或在程序下进入MS-DOS方式(Win2K)或附件下(Win XP)进入命令提示符进入命令行方式。也可将相关命令复制到桌面。 可以根据爱好和需要修改MS-DOS方式或命令提示符的相关属性,包括起始(工作)目录(路径)、快捷键(默认CTRL + ALT +D键)、窗口/全屏选项、前景背景颜色等,,命令行快捷方式选择,颜色属性选择,命令行 样例模式,典型命令行操作,采用滚屏方式(ScreenUp),基
2、础操作命令,常用MS-DOS命令 DIR F:目录名 (显示指定盘目录存储文件列表) COPY F:mydir文件名 D:tmpdir (将F:mydir目录下指定文件复制到D盘(指定目录) DEL F:mydir文件名 (删除指定文件) MD F:mydir (在A盘上新建mydir子目录) CD F:mydir (指定A盘上mydir为当前工作目录) RD F:mydir (删除A盘上mydir子目录) F:masm4debug (myprog.exe) 指定执行系统程序debug.exe 带参数myprog.exe;,实验环境:利用目标代码级调试程序DEBUG 主要特点1)能够在最小环境
3、下运行汇编程序(代码级而非符号级)2)提供极简单的修改手段(寄存器、存储器、I/O等)3)提供用户与计算机内部联系的窗口(命令行):显示、修改、单步、过程、断点、文件装入、上装。 局限性:不能使用宏指令和大部分伪指令分段调试/短程序;不能形成可执行文件(.EXE) 作为典型命令行方式调试工具 尤其I O 命令用于硬件测试,利用Debug程序认识指令格式与功能,例:ADD和DAA指令功能测试,插 入 指 令 修 改 环 境 测 试 功 能 结 果,命令行调试器DEBUG,启动 (MS DOS下在C或D:输入,DEBUG命令为单英文字母,后跟参数。间隔符“,”或空格 (1)+ (ENTER回车键)
4、 后命令才有效; (2)地址/数据用十六进制数表示,不用“H”; (3)Ctrl+Break(C)键可停止命令的执行; (4)PAUSE/CtrlNum Lock键暂停上卷的输出行任意键继续; (5)-?(帮助命令,显示所有命令及格式) (6)Q退出P,DDEBUG d:Pathfilename.extParm1Parm2 ,命令规定,?-帮助命令,Assemble A address Compare C range address Dump D range Enter E address list Fill F range list Go G =address addresses Hex H
5、 value1 value2 Input I port Load L address drive firstsectornumber Move M range address Name N pathname arglist Output O port byte Proceed P =address number :,-?,R-命令,RF RXX 检查和修改寄存器内容命令 R显示CPU内部寄存器的内容和全部标志位状态。,-RAX -AX 0000 :(XX) ,-R 16位寄存器名 (AX, BX,CX,DX,SI,DI,IP,SP,CS,DS,ES,SS),AX=0000 BX=0000 CX
6、=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18A1 ES=18A1 SS=1800 CS=18C0 IP=0100 NV UP EI PL NZ NA PO NC 18C0:0100 1EPUSH DS,-RF NV UP EI PL NZ NA PO NC (DN PE.) ,Flags: OV/NV-DN/UP-EI/DI-NG/PL-ZR/NZ-AC/NA-PE/PO-CY/NC 显示和修改一个指定寄定器的内容和标志位的状态。,D 显示内存命令,D地址 ( 默认长度L=80H128个字节,DS,当前地址)(默认DS:) CS:300
7、 -D 地址范围 显示指定内存范围的内容。-DES:100L300或 D100 3000 -D (128个字节) 从上一个D命令所显示的最后一个单元的下一个单元开始(首次CS:IP) 偏移地址,段地址为DS的内容,地址范围,可以指定段地址和起始偏移地址和终止偏移地址,或XXXX。-D200 或-DDS:200,1A40:0200 30 20 32 33 34 35 36-37 38 39 F1 F2 A3 A4 F0 0_23456789 1A40:0210 AA 55,E 修改存储单元内容命令,( 默认 DS,当前地址) E 地址 内容表 用命令所给定的内容表去代替指定地址范围的内存单元内容
8、。 其中:内容表为一个十六进制数,也可以是用单引号括起的一串字符。 -E 地址 逐个单元连续修改单元内容。(空格跳到下一单元,回车修改结束) -E200 AAAAAAA 20 33 4488888 (D200 检查) -E200 1A40:0200 41.32 41. 41.33 ,F 块填充内存命令/ M 内存移动命令,( 默认长度L=80H128个字节,DS,当前地址) F 范围单元内容表 将单元内容表中的内容的内容重复装入内存的指定范围内。 -FES:200 L300或500 12456730 40 555555 M 源地址范围目标起始地址 把源地址范围的内容移至以目标起始地址开始的单元
9、中。 其中源地址范围和目的起始地址可为偏移地址,段地址默认为DS的内容。 -MCS:200L50 ES:800 ,S 搜索指定内容命令/ C 块比较命令,S 地址范围表 在指定地址范围内搜索表中内容,搜索到就列出表中元素所在地址。 -SES:200L40 12333 44 55433 ,C 源地址范围,目标地址 从源地址起始的单元开始逐个比较,比较到源终止地址为止。比较结果如果不一致,则以源地址源内容目的内容目的地址的形式显示结果。 -CES:100L300 CS:2000 ,1A40:201 1A40:220,1A80:0105 87 88 1A40:2005 1A80:0148 33 53
10、 1A40:2148,U 反汇编命令,U 地址范围 将指定范围内的代码以汇编 语言形式显示,同时显示该代码位于内存的地址和机器。 (默认段寄存器为CS,以U命令的最后一条指令地址的下一个单元作为起始地址;初值CS:IP,范围长度为20H字节目标代码) -UES:100L200/ 120 ,1A40:100 1EPUSH DS 1A40:101 A1 00 20MOV AX,2000 1A40:104 BB 00 20MOV BX,2000 :,A 汇编输入命令,A段寄存器名:偏移地址 将汇编语言程序指令逐行直接输入内存单元。(默认段寄存器CS,偏移地址为上次汇编尾地址(初值CS:IP) -AC
11、S:100 或A 1A40:100 或A100设当前CS=1A40H,1A40:0100 MOV AX,100 1A40:0102 MOV BX, 2000 1A40:0106 (回车结束汇编输入),H 十六进制数据运算命令,H数据1 数据2 (将两十六进制数据相加、减结果显示在屏幕上。,-H 200 800 0A00 FA00,T 逐条指令跟踪命令(race into),T地址 单步执行当前指定地址处的指令(默认为CS:IP处),显示CPU所有寄存器内容和全部标志位的状态,以及下一条指令的地址和内容(同执行命令) (默认段寄存器CS,偏移地址为当前IP指定地址(初值CS:100)。,AX=0
12、000 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18A1 ES=18A1 SS=1800 CS=18C0 IP=0100 NV UP EI PL NZ NA PO NC 18C0:0100 1EPUSH DS,-T=CS:100 或T=18C0:100或T=100设当前CS=18C0H,AX=0000 BX=0000 CX=0000 DX=0000 SP=FFFC BP=0000 SI=0000 DI=0000 DS=18A1 ES=18A1 SS=1800 CS=18C0 IP=0101 NV UP EI PL N
13、Z NA PO NC 18C0:0101 31 C0 XOR AX,AX,T 逐条指令跟踪命令(race into),T地址步数 多条跟踪命令,从指定地址开始;若命令中用地址给定了起始地址,则从起始地址开始,若未给定,则从当前地址(CS:IP)开始,执行命令中的条数决定一共跟踪几条指令后返回DEBUG状态。,AX=0000 BX=0000 CX=0000 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000 DS=18A1 ES=18A1 SS=1800 CS=18C0 IP=0100 NV UP EI PL NZ NA PO NC 18C0:0100 1EPUSH
14、DS,-T=CS:100 5 -T5 -T=100 5 -T=18C0:100 5 ,P (Proceed) 越过(挂停)命令,P地址值(若干次)(至下一指令前停止)类似SKIP。执行PROC, LOOP, INT 或REP后发一条命令返回到下一指令处。 -P=100 3 断点将停在CS:109处,0AD8:0100 E8FE1E CALL 2000 0AD8:0103 E81A1F CALL 2020 0AD8:0106 E8271F CALL 2030 0AD8:0109 90 NOP :,-P3 -P2 -P,G运行断点命令,G 地址地址地址 执行用户正在调试的程序,其中地址为执行的起始
15、地址,默认段地址为CS中内容,或当前(CS:IP)。再后面的地址为断点地址。DEBUG规定最多设置10个断点地址。设置多个断点用于调试较大的程序,即程序中有多个模块、多个通路时用,比较方便,在执行时不论走哪条通路,程序都可以在断点处停下来,以便调整程序。,-G=FFFF:0 热启动 -G=100 200 热起始CS:100,断点CS:200 -G 2000:100 IP地址起到2000:100断点 -G=100 2000:100 3000:300 两处断点 -G ;连续运行 G200 300 ?,I 端口输入命令 /O 输出命令,端口地址 从指定端口地址输入一个字节,-I3F8 (COM1数据
16、接收),-I40 (时钟计数器),-279 (打印机状态口) -278 (打印机数据口),O 端口地址,字节值 向指定端口地址输出一个字节,-O3F8 55 (COM1数据发送) -O27A 30 (LPT1写控制字),N文件命名命令向指定端口地址输出一个字节,文件操作命令N/L/W,N 路径文件名 指定读写操作文件名 L 起始装入地址驱动器号起始扇区号所读扇区个数 (1)读文件:BX和CX中存放所读文件的字节数(长度BX:CX即8位HEX)。当读入的文件有扩展名.COM或.EXE,则始终装入CS:100H中,命令中指定了地址也没用;(2)读磁盘:把指定驱动器和指定扇区范围的内容读到内存的指定区域中。(默认隐含地址为CS:100H)例:L2000:100 W地址驱动器号起始扇区号所写扇区个数 (1) 写文件:把指定地址中BX:CX长度的数据中应写入文件(默认段地址为CS) 。(2)数据写盘:将调试的程序或数据写入指定的驱动器中。,用途: