资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
- 1 -计算机硬件基础计算机硬件基础 课程实验指导书课程实验指导书辽宁工程技术大学软件学院辽宁工程技术大学软件学院2017 年年 5 月月- 2 -目目 录录64 位操作系统下使用位操作系统下使用 MASM.3 实验上机操作范例实验上机操作范例.5 实验一实验一 CPU 结构结构.15 实验二实验二 指令格式指令格式.22 /实验三实验三 循环程序设计循环程序设计.25 实验四实验四 综合程序设计(一)综合程序设计(一).28 实验五实验五 综合程序设计(二)综合程序设计(二).31 实验六实验六 高级汇编技术高级汇编技术.37- 3 -64 位操作系统下使用位操作系统下使用 MASM1.安装 DOSBox。双击 DOSBox0.74-win32-installer.exe。2.运行 DOSBox。双击桌面的 DOSBox 快捷方式,如图 1 所示。图 1 运行 DOSBOX 虚拟机3.将 MASM 文件夹里的全部文件拷贝到一个目录下,比如 d:masm 下,然后将这个目录挂载为 DOSBox 的一个盘符下,挂载命令为 Mount c d:masm 。然后切换到挂载的 c 盘,如图 2 所示。- 4 -图 2 挂载 masm 文件夹3.编译汇编源程序,如图 3 所示。图 3 汇编源程序4.连接和运行源程序,如图 4 所示。图 4 连接和运行源程序- 5 -实验上机操作范例实验上机操作范例【范例】完成具有如下功能的分段函数1 X0Y = 0 X=0-1 XDEBUG d:path文件名 参数 1参数 2其中文件名是被调试文件的名称,它必须是执行文件(.EXE) ,两个参数是运行被调试文件时所需要的命令参数,在 DEBUG 程序调入后,出现提示符“”,此时,可键入所需的 DEBUG 命令。在启动 DEBUG 时,如果输入了文件名,则 DEBUG 程序把指定文件装入内存。用户可以通过 DEBUG 的命令对指定文件进行修改,显示和执行。如果没有文件名,则是以当前内存的内容进行工作。2DEBUG 的主要命令的主要命令1)汇编命令)汇编命令 A格式: A 起始地址功能:该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。2)反汇编命令)反汇编命令 U(1)格式 1: U 起始地址- 16 -功能:该命令从指定地址开始,反汇编 32 个字节,若地址省略,则从上一个U 命令的最后一条指令的下一个单元开始显示 32 个字节。(2)格式 2: U 起始地址 终止地址格式 3: U 起始地址 L 字节数功能:该命令对指定范围的内存单元进行反汇编。例如:3)运行命令)运行命令 G格式: G = 起始地址 1断定点地址 2断点地址 3功能:从指定地址开始执行程序。在设定的断点处程序暂停,并显示全部寄存器内容和下一条要执行的指令。一般设置断点前最好用 U 命令查看一下指令开始的地址。断点数最多为 10 个。如: G=100 1084)跟踪命令(单步执行)跟踪命令(单步执行)T格式 1: T =起始地址格式 2: T =起始地址 指令条数功能:从指定地址开始执行程序,每次执行一条指令,然后显示各寄存器的内容和状态寄存器的内容,及以助记符形式表示的下一条指令。如: T=1005)显示内存单元内容的命令)显示内存单元内容的命令 D格式 1: D 起始地址格式 2: D 起始地址 终止地址格式 3: D 起始地址 L 字节数功能:显示指定内存单元的内容。6)修改内存单元内容的命令)修改内存单元内容的命令 E(1)用给定的内容代替指定范围的单元内容格式: E 地址 内容表例如: E 2000:0100 F3 “XYZ“ 8D其中 F3、“X“、“Y“、“Z“和 8D 各占一个字节,用这五个字节代替原内存单元2000:0100 到 0104 的内容,“X“、“Y“、“Z“将分别存入其 ASCII 码值。(2)逐个单元相继地修改- 17 -格式 : E 地址例如: E 100系统显示如下: 18E4:0100 89. 78此命令是将原 100 号单元的内容 89 改为 78,78 是用户输入的。7)检查和修改寄存器内容的命令)检查和修改寄存器内容的命令 R(1)显示 CPU 内部所有寄存器内容和标志位状态格式: RR 命令显示中标志寄存器中各标志位状态的含义如表 1 所示。表 1 标志寄存器标志位含义标 志 名置位(1)复位(0)溢出 Overflow(是/否)OVNV方向 Direction(减量/增量)DNUP中断 Interrupt(允许/屏蔽)EIDI符号 Sign(负/正)NGPL零 Zero(是/否)ZRNZ辅助进位 Auxiliary Carry(是/ 否)ACNA奇偶 Parity(偶/奇)PEPO进位 Carry(是/否)CYNC(2)显示和修改某个指定寄存器内容格式: R 寄存器名例如输入:R AX如显示如下: AX 2000:则表示 AX 当前内容为 2000H,此时若不对其作修改,可按 ENTER 键;否则,输入修改后内容,如输入:3000则 AX 内容由 2000H 改为 3000H。(3)显示和修改标志寄存器格式: R F如系统将显示如下: OV DN EI NG ZR AC PE CY 这时若不作修改可按 ENTER 键,否则在“”号之后键入修改值,键入顺序任意。如:- 18 -OV DN EI NG ZR AC PE CY PO NZ DI NV8)退出)退出 DEBUG 命令命令 Q格式: Q功能:退出 DEBUG 程序,返回 DOS。3汇编语言源程序的分段结构汇编语言源程序的分段结构(1)段的定义1)段定义伪指令:数据段、堆栈段、代码段的定义2)段的定位类型、组合类型、段的别名的说明(2)段寄存器的装入1)指定段寄存器与段之间的对应关系伪指令:ASSUME2)将段地址装入指定段寄存器:MOV 指令48086/8088 的指令系统的指令系统(1)常用指令:掌握其格式及用法1)数据传送类指令数据传送:MOV(数据传送)数据交换:XCHG(数据交换)入栈及出栈:PUSH(入栈) 、POP(出栈)2)算术运算类指令加法运算:ADD(加法运算) 、ADC(带进位加法运算) 、 INC(加 1 运算)减法运算:SUB(减法运算) 、SBB(带借位减法运算) 、DEC(减 1 运算)比较运算:CMP(数据比较,设置标志寄存器)3)逻辑运算类指令逻辑运算:AND(逻辑与) 、OR(逻辑或) 、XOR(逻辑异或) 、NOT(逻辑非) 、TEST(测试)移位运算:SHL(逻辑左移) 、SHR(逻辑右移) 、SAR(算术右移) 、ROL(循环左移) 、ROR(循环右移) 、RCL(带进位循环左移) 、RCR(带进位循环右移)4)程序控制类指令:无条件转移指令:JMP(无条件转移)- 19 -条件转移指令:判断是否相等转移:JZ/JE(等于零/相等转移) 、JNZ/JNE(不等于零/不相等转移)判断无符号数大小转移:JA/JNBE(高于/不低于等于转移) 、JAE/JNB(高于等于/不低于转移) 、JB/JNAE(低于/不高于等于转移) 、JBE/JNA(低于等于/不高于转移)判断有符号数大小转移:JG/JNLE(大于/不小于等于转移) 、JGE/JNL(大于等于/不小于转移) 、JL/JNGE(小于/不大于等于转移) 、JLE/JNG(小于等于/不大于转移)循环控制指令循环转移指令:LOOP(CX0 循环)条件循环转移指令:LOOPZ/LOOPE(CX0 且 ZF=1 循环)LOOPNZ/LOOPNE(CX0 且 ZF=0 循环)5)串操作类指令数据串传送:MOVSB(字节操作) 、MOVSW(字操作)数据串比较:CMPSB(字节操作) 、CMPSW(字操作)数据串搜索:SCASB(字节操作) 、SCASW(字操作)数据串存取:STOSB(字节操作) 、STOSW(字操作) 、LODSB(字节操作) 、LODSW(字操作)重复前缀:REP(CX0 重复执行串指令)REPZ/REPE(CX0 且 ZF=1 时重复执行串指令)REPNZ/REPNE(CX0 且 ZF=0 时重复执行串指令)(2)常用伪指令:掌握其格式及用法1)数据定义伪指令:DB、DW、DD 等2)表达式赋值伪指令:EQU、=3)定位伪指令:ORG58086/8088 常用运算符常用运算符1)算术运算符:+、-、*、/、MOD2)逻辑运算符:AND、OR、XOR、NOT注意与逻辑运算指令的区别3)关系运算符:EQ、NE、LT、LE、GT、GE- 20 -4)数据返回运算符:TYPE、LENGTH、SIZE、OFFSET、SEG5)属性运算符:PTR三、实验性质三、实验性质本实验为设计性实验。四、实验学时四、实验学时本实验学时为 2 学时。五、实验内容与步骤五、实验内容与步骤1、实验内容、实验内容将两个多位十进制数相加,要求被加数和加数均以 ASCII 码形式各自顺序存放在 DATA1 和 DATA2 为首的 5 个内存单元中,结果送回 DATA1 处。2、程序框图、程序框图两个多位十进制相加的程序流程图如图 30 所示。- 21 -图 30 两个多位十进制相加程序流程图3、实验步骤、实验步骤1编辑源程序,建立一个以后缀为 ASM 的文件.2汇编源程序,检查程序有否错误,有错时回到编辑状态,修改程序中错误行。无错时继续第 3 步。3连接目标程序,产生可执行程序。4DEBUG
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号