实验一DOS常用命令及8086指令使用
- 格式:pdf
- 大小:992.08 KB
- 文档页数:19
实验:常用DOS命令一、预习要求1、了解常用的DOS命令;2、熟悉在DOS系统界面的操作二、实验目的1、熟悉常见的开始运行命令。
2、了解DOS系统的功能。
3、掌握常用的DOS命令。
三、实验重点、难点了解常见的开始运行、磁盘文件、网络文件等命令什么叫DOS?Disk operation system简称,中文含义:磁盘操作系统。
操作系统是对电脑的硬件资源、软件资源进行统一调度、统一分配、统一管理的系统软件。
它连系人和计算机的桥梁和纽带。
离开操作系统,我们就无法操作计算机。
DOS操作系统的特征:1、微内核结构:一张软盘就可以启动计算机。
2、单用户、单任务、单进程操作系统。
3、采用树型目录文件结构对数据进行管理。
DOS常用命令简介:(一)MD――创建新的子目录格式:MD[盘符:][路径名]〈子目录名〉使用说明:(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。
例:C:\>MD A \B (在A子目录下再创建B子目录)(二)CD――改变、显示当前目录格式:CD[盘符:][路径名][子目录名]使用说明:(1)如果省略路径和子目录名则显示当前目录;(2)如采用“CD\”格式,则退回到根目录;(3)如采用“CD..”格式则退回到上一级目录。
(三)RD――删除子目录命令格式:RD[盘符:][路径名][子目录名]使用说明:(1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身;(2)不能删除根目录和当前目录。
(四)DIR――显示磁盘目录命令格式:DIR [盘符][路径][/P][/W]使用说明:/P的使用;当欲查看的目录太多,无法在一屏显示完屏幕会一直往上卷,不容易看清,加上/P参数后,屏幕上会分面一次显示23行的文件信息,然后暂停。
实验一查看CPU和内存,用机器指令和汇编指令编程一.实验目的:掌握DEBUG 的基本命令及其功能二.实验内容:1. 预备知识:Debug的使用(1) 什么是Debug?Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。
使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。
(2) 我们用到的Debug功能●用Debug的R命令查看、改变CPU寄存器的内容;●用Debug的D命令查看内存中的内容;●用Debug的E命令改写内存中的内容;●用Debug的U命令将内存中的机器指令翻译成汇编指令;●用Debug的T命令执行一条机器指令;●用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。
(3) 进入DebugDebug是在DOS方式下使用的程序。
我们在进入Debug前,应先进入到DOS方式。
用以下方式可以进入DOS:①重新启动计算机,进入DOS方式,此时进入的是实模式的DOS。
②在Windows中进入DOS方式,此时进入的是虚拟8086模式的DOS。
(4) 用R命令查看、改变CPU寄存器的内容1)显示CPU内部所有寄存器内容和标志位状态;格式为:-R2)显示和修改某个指定寄存器内容,格式为:-R 寄存器名若要修改一个寄存器中的值,比如AX中的值,可用R命令后加寄存器名来进行,输入“r ax”后按Enter键,将出现“:”作为输入提示,在后面输入要写入的数据后按Enter 键,即完成了对AX中内容的修改。
若想看一下修改的结果,可再用R命令查看(5) 用Debug的D命令查看内存中的内容1)格式:-d 段地址:偏移地址,Debug将列出从指定内存单元开始的128个内存单元的内容。
使用D命令,Debug将输出3部分内容,如图2.34所示。
中间是部分从指定地址开始的128个内存单元的内容,用十六进制的格式输出,每行的输出从16的整数倍的地址开始,最多输出16个单元的内容。
实验一8086汇编语言的编程实践【实验目的】1.掌握8086汇编语言编程以及调试的过程。
2.学会使用masm.exe、debug.exe、td.exe等软件。
【实验内容】1.通过示范源程序熟悉从如何建立源文件到进行调试【实验步骤】1.确定源程序的存放目录建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。
如果没有创建过此目录,请用如下方法创建:通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。
请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。
2.建立ASM源程序建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。
下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。
在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“ C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口。
窗口标题行显示了EDIT程序的完整路径名。
紧接着标题行下面的是菜单行,窗口最下面一行是提示行。
菜单可以用Alt键激活,然后用方向键选择菜单项,也可以直接用Alt-F 打开File文件菜单,用Alt-E打开Edit编辑菜单,等等。
如果键入EDIT命令时已带上了源程序文件名(C:\ASM\HELLO.ASM),在编辑窗口上部就会显示该文件名。
如果在键入EDIT命令时未给出源程序文件名,则编辑窗口上会显示“UNTITLED1”,表示文件还没有名字,在这种情况下保存源程序文件时,EDIT会提示输入要保存的源程序的文件名。
编辑窗口用于输入源程序。
EDIT是一个全屏幕编辑程序,故可以使用方向键把光标定位到编辑窗口中的任何一个位置上。
实验1DOS常用命令及8086实验1 DOS常用命令及8088/86指令使用1.1 实验目的通过实验掌握下列知识:①DOS命令:CD,DIR,DEL,RENAME,COPY。
②8088指令:MOV,ADD,ADC,SUB,SBB,DAA,XCHG③DEBUG命令:A,D,E,F,H,R,T,U。
④BCD码,ASCII码及用十六进制数表示二进制码的方法。
⑤8088寄存器:AX,BX,CX,DX,F,IP。
1.2 实验类型验证型实验1.3 内容及步骤1.3.1 DOS常用命令练习①开机后,用鼠标左键单击“开始→程序→附件→C:\”切换到命令提示符窗口下,操作过程见图1-1。
图1-1 切换到命令提示符窗口的操作步骤②出现提示符后(此时按下ALT+Enter将得到全屏显示界面)键入命令DIR,查看此目录下所有文件,见图1-2。
③键入命令CD\APPLY\MASM↙进入用户区,再查看此目录下所有文件。
说明:公共计算机房为了防止学生误操作,一些磁盘或子目录是设置为只读属性的,C 盘的APPLY子目录下面的MASM二级子目录是完全开放的。
为了防止学生所作文件因不能存盘而丢失,建议一般操作练习在此目录下运行。
④将一张3.5寸软盘插到A驱动器中,用DIR命令查看盘上文件。
⑤用命令COPY BUG复制一个文件。
图1-2 切换到命令提示符窗口的界面⑥用命令RENAME BUG BG将BUG文件改为BG。
⑦用命令DEL BG将文件BG删除。
在操作时要注意提示信息,并按提示操作。
1.3.2 DEBUG命令使用①键入DEBUG进入DEBUG控制状态,显示提示符'-'。
②用命令F1001 0F'A'将'A'的ASCII码填入内存。
③用命令D1001 0F观察内存中的十六进制码及屏幕右边的ASCII 字符。
④用命令F1101 1F 41重复上二项实验,观察结果并比较。
⑤用命令E100 303132……3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的十六进制数是什么字符的ASCII码?⑥用H命令检查下列各组十六进制数加减结果并和你的手算结果比较:(1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H(5)A758H,347FH⑦用R命令检查各寄存器内容,注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。
8086指令1.数据传送指令
(1)通用传送指令
(2)累加器专用传送指令
(3)地址传送指令
2.算术运算指令
(2)减法指令
(5)符号扩展指令
(6)十进制调整指令
3.逻辑运算和移位指令(1)逻辑运算指令
(2)移位指令
注:OPR不能为立即数和段寄存器,若CNT大于1,应先将CNT存入CL寄存器中,移位指令中CNT写为CL即可。
4.串操作指令
(1)重复前缀指令
(2)串传送指令
(3)串比较指令
5.控制转移指令
(1)无条件转移指令
(2)条件转移指令
①简单条件转移指令(根据某一标志位的值决定是否有转移,测试的标志位有S、Z、C、P、O 5个,每个标志位可能取“0”和“1”,共10条)
②无符号数比较条件转移指令
③有符号数比较条件转移指令
④测试CX的值为0则转移的指令
(3)子程序调用和返回指令
(4)循环控制指令
(5)中断指令
6.处理机控制指令
(2)其他处理机控制指令
7.伪指令
(1)数据定义伪指令
(2)分析运算符
(3)属性操作符
(4)符号定义指令
(5)地址计数器与对准伪操作
(6)宏与过程(子程序)的定义和调用。
8086/8088常用助记符指令类型助记符目的源功能注释数据传送MOV X X 把数据从源操作数传送到目的操作数1.两个操作数不能同时为内存操作数,也不能同时为立即数,目的操作数不能为立即数2两个操作数的类型须一致3立即数不能直接传入段寄存器4CS,IP不能作目的操作数5段寄存器之间不能直接传送PUSH X把指定的寄存器/内存单元的内容压入堆栈1.按字操作,CS能入栈内存不能直接寻址.P-2→SP,再写入栈顶POP X从栈顶弹出一字到指定的寄存器/内存单元1.同上2.先弹出一字,再SP-2→SP XCHG 寄寄/内两操作数互换内容不能用立即数和段寄存器XCHG 寄指定寄存器同累加器互换内容IN AC 端口号从指定端口送数到AL端口号为立即数,地址为8位端口号在DX中,地址为16位OUT 端口号 AL从AL送数到指定端口LEA 寄内存LDS 寄内存LES 寄内存把内存偏址送指定寄存器把内存低2字节送寄存器,高2字节送DS(ES)只能用通用寄存器,不能用段寄存器LAHF把标寄低8位送AHSAHF把AH送标寄低8位PUSHF标寄入栈POPF栈顶弹出进标寄算术运算ADD X X加法(和送目的操作数)加减1.2.同MOV3.段寄存器不能作操作数4.调正在AL中进行,并必需紧跟在运算之后执行.5.比较运算同减法,结果不存,而仅影响标志寄存器6.乘除法的目的操作数隐含是ACAL*乘数→AX, AX*乘数→DX AX,AX/除数→AL, 余数在AH中DXAX/除数→AX, 余数在DX中7.加1减1指令把操作数当无符号数,其他加减指令是否为有符号数要由程序设计需要设定ADC X X带进位加法INC X 指定的寄/内的内容加1AAA分离BCD码调正(AL)DAA组合BCD码调正(AL)SUB X X减法SBB X X带借位减法DEC X指定的寄/内的内容减1NEG X指定的寄/内的内容求补CMP X X 比较AAS分离BCD码调正(AL)DAS组合BCD码调正(AL)MUL 寄/内不带符号乘法IMUL 寄/内带符号整数乘法AAM 分离BCD码调正(AL)DIV 寄/内不带符号除法IDIV 寄/内带符号整数除法AAD非组合BCD码调正CBW扩展AL中的符号位到AHCWD扩展AX中的符号位到DX类型助记符目的源功能注释逻辑运算NOT X 对字或字节按位取反 1.2.3同上4.按位操作5.AND1不变(保持),AND0置0OR1置1,OR0不变(保持)自身与或,结果不变(保持),影响标志位, 自身XOR常用于清零XOR 1取反,XOR 0不变AND X X对字或字节按位与操作OR X X 对字或字节按位或操作XOR X X对字或字节按位异或操作TEST X X同AND,但结果仅影响标寄而不存目的操作数移位和循环移位SHL 寄/内 1/CL按位左移 CF←M←0 1.循环或移位的次数为1或CL中的数2.SHL一次,原数乘2SHR一次,原数除23.目的操作数不能是立既数SAL 寄/内 1/CL按位左移 CF←M←0SHR 寄/内 1/CL逻辑右移 0→M→CFSAR 寄/内 1/CL算术右移→M→CFROL 寄/内 1/CL循环左移 CF← ←M ←ROR 寄/内 1/CL循环右移 CF← →M →RCL 寄/内 1/CL带进位循环左移←CF←M←RCR 寄/内 1/CL带进位循环右移→CF→M→重复前缀REP重复后面字串指令,直到CX=0一般与字串指令联合使用REPE/REPZ当相等/为零时重复REPNE/REPNZ当不相等/不为零时重复MOVSB/MOVSW字符串传送 1.源串偏址在SI中,目的串偏址在DI中.2.每次自动修改SI,DI 内容3.装入和存储是对AX(AL)操作CMPSB/CMPSW字符串比较SCASB/SCASW字符串扫描LODSB/LODSW字符串装入STOSB/STOSW字符串存储转移JMP X无条件转移到指定内存地址操作数前可带NEAR或FAR前缀条件转移(无符号数)JA/JNBE X高于/不低于,不等于由比较和减法指令的结果JA/JNBE 表示二者等价JAE/JNB X大于等于/不低于JB/JNAE X低于/不高于,不等于TBE/JNA X低于等于/不高于条件转移(带符号数)JG/JNLE X大于/不小于等于JGE/JNL X大于等于/不小于JL/JNGE X小于/不大于不等于JLE/JNG X小于等于/不大于条件转移JE/JZ X等于/为零JNE/JNZ X不等于/不为零条件转移JC/JNC X有进位CF=1/无进位CF=0由影响标志位的操作结果JC/JNC表示二者是两个不同用法JO/JNO X有溢出OF=1/无溢出OF=0JP/JPE X奇偶性为偶PF=1JNP/JPO X奇偶性为奇PF=0JS/JNS X符号位为1/符号位为0FR15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0OF DF IF TF SF ZF AF PF CF 溢出方向符号零半进位奇偶进位类型助记符目的源功能注释LOOP X[CX]-1→[CX],[CX]≠0转移到X由CX决定循环次数循环LOOPZ/LOOPE X [CX]-1→[CX],[CX]≠0且ZF=1转移到X为零/相等时循环LOOPNZ/LOOPNE X[CX]-1→[CX],[CX]≠0且ZF=0转移到X非零/不相等时循环JCXZ X [CX]=0转移到X调用返回CALL 过程名调用指定地址开始的子程序对标寄无影响注意用堆栈保护断点RET子程返回RET XRETF标志操作CLC CF=0 (进位)STC CF=1CMC CF取反CLD DF=0 (方向)STD DF=1CLI IF=0 (中断)STI IF=1HLT暂停ESC交权INT 21H DOS功能调用AH=1键盘输入到AL,AH=2显示DL内容,AH=9显示DX为偏移量以$结尾的内存字串NOP空操作3个时钟伪指令功能特征符号 EQU 符号/表达式把右边的值赋予左边的符号1.不产生目标代码,不分配内存单元2.在同一源程序中同一符号不能用EQU重定义,可用=重定义符号=符号/表达式变量名 DB 表达式1,表达式2…. DWDD 定义字节(或字、双字)1.要求汇编分配内存单元,并把表达式1,表达式2…等存入2.为变量名分配这些内存单元的首字节地址段名SEGMENT [定位] [组合]['类别名'] :段名 ENDS 定义逻辑段定位隐含PARA,表示能被16整除ASSUME 段寄名:段名,段寄名:段名,….告诉汇编已定义的段与段寄的关系不产生目标代码,不分配内存单元,不为段寄存器存放段基值过程名 PROC [NEAR/FAR]:RET过程名 ENDP构造子程序最后语句RET不能少ORG 表达式定义下一个数据或指令的偏移量$表示偏移量的现行值宏名 MACRO 形参1,形参2,….ENDM宏定义宏名实参1,实参2,….宏调用一.指令由名字,操作码、操作数(地址)组成。
西安郵電學院计算机导论实验报告题目:DOS常用命令的使用院系名称:计算机学院专业名称:网络工程班级:网络工程1101 班内序号:学生姓名:指导教师:刘建元、贾晖DOS常用命令的使用一、实验目的掌握Windows环境下DOS命令的操作方法,熟练使用DOS的常用命令。
二、实验要求1、掌握Windows环境与DOS命令操作的切换方式。
2、了解Windows的长文件名与DOS的短文件名的不同要求及转换方式。
3、分清文件、目录与路径,掌握文件名中通配符的使用。
4、掌握DIR、COPY、DEL、TYPE、REN等文件命令和MD、RD、CD等目录命令的使用。
三、实验内容及步骤(一)Windows与DOS的切换在Windows环境下,选择单击【开始】→【程序】→【附件】→【命令提示符】即可进入到DOS命令操作方式下;在DOS方式下,输入“exit”后按“回车”键,或者用鼠标单击窗口的关闭按钮,即可回到Windows环境下。
(二)Windows长文件名与Dos短文件名的不同要求Dos方式下文件名由主文件名和扩展名两部分组成。
其中主文件名占8个字符,是以字母开头的字母和数字的组合,并且中间不允许有空格;扩展名占3个字符,用户可以任意指定,但是有些系统特定的扩展名有其特殊的意义。
Windows方式下文件名的命名规则比较灵活,可以使用任意的ASCⅡ字符,并且以什么字符开头都可以,中间可以有空格。
(三)DOS常用命令操作1、DIR命令该命令用于显示磁盘上全部或部分文件目录清单,共由五部分组成:DIR [盘符][路径][文件名] [命令参数]①②③④⑤部分①是命令关键字,不可缺少,也不能拼写错误。
部分②是指定命令所操作的磁盘,可以缺少,若缺少时命令对当前磁盘进行操作。
DOS规定盘符的书写格式为单个字母+“:”,如“A:”。
部分③是指定命令所操作的目录,可以缺少,若缺少时命令对当前目录进行操作。
DOS规定目录与目录之间用“\”符号分隔。