北交大微机研讨-指令系统_第1页
北交大微机研讨-指令系统_第2页
北交大微机研讨-指令系统_第3页
北交大微机研讨-指令系统_第4页
北交大微机研讨-指令系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、研究性学习报告 指令系统目录1 学习目的:32 实验环境:33 学习过程:33.1 数据传送类指令:33.1.1 数据传送指令(MOV)33.1.2 数据交换指令(XCHG)43.1.3 堆栈操作指令(PUSH/POP)43.1.4 查表转换指令(XLAT)53.1.5 地址传送指令(LEA/LDS)53.1.6 标志位传送指令53.1.7 I/0数据传送指令63.2 算数运算类指令73.2.1 加法指令73.2.2 减法指令83.2.3 乘法指令103.2.4 除法指令103.3 逻辑运算类指令113.3.1 逻辑运算指令:113.3.2位移指令134 心得体会141 学习目的: 通过在计算

2、机debug环境下,调试各类指令,实现熟悉80x86的常用指令及功能的目的。2 实验环境: 32位window xp DEBUG环境3 学习过程:3.1 数据传送类指令:3.1.1 数据传送指令(MOV)格式:MOV dst(寄存器、储存器),src(立即数、寄存器、储存器)功能:源操作数传送至目标单元,源操作数保持不变。数据传送具有一定方向:(1) 立即数传送至通用寄存器获储存器。(2) 通用寄存器与存储器之间相互传输。(3) 通用寄存器之间相互传送。(4) 通用寄存器与段寄存器(CS不能作为目标)之间相互传送。(5) 储存器与段寄存器(CS不能作为目标)之间相互传送。调试举例: MOV A

3、X,1000H ;立即数1000H送到AX MOV DS,AX ;AX内容传送到DS 3.1.2 数据交换指令(XCHG)格式:XCHG dst(通用寄存器、储存器),src(通用寄存器、储存器)功能:源操作数与目标操作数相互交换。调试举例: XCHG AX,BX; AX与BX的内容交换3.1.3 堆栈操作指令(PUSH/POP)1)数据进栈指令(PUSH) 格式:PUSH src 功能:先将SP/ESP减2/4修改,然后将源操作数压入SP/ESP指定的位置。高字节数据存放在高地址单元,低字节数据存放在低地址单元。2)数据出栈指令(POP) 格式:POP dst 功能:从栈顶弹出操作数送入目的

4、操作数。目的操作数允许为16或32位通用寄存器、存储器和16位段寄存器。当操作数数据类型为字类型,出栈操作使SP加2;当操作数数据类型为双字类型,出栈操作使SP加4。调试举例: PUSH AX; 将AX的数据压入堆栈 POP BX; 将堆栈中的数据弹出到BX中使用堆栈操作指令应注意以下问题:(1)目的操作数不允许为CS以及立即数。(2)堆栈操作指令不影响标志位。3.1.4 查表转换指令(XLAT)格式:XLAT功能:查表得到的字节数据送入AL中。说明:BX寄存器存放表的首地址,AL寄存器中存放表内偏移量,执行XLAT指令,以段寄存器DS的内容为段基址,有效地址为BX和AL内容之和,取出表中一个

5、字节内容送AL中。该指令在debug中调试较为困难,所以略去。 3.1.5 地址传送指令(LEA/LDS)1)有效地址传送指令(LEA) 格式:LEA dst(通用寄存器),src(储存器寻址) 功能:源操作数的有效地址EA传送到目标。2)目标地址传送指令(LDS) 格式:LDS dst,src 功能:将源操作数中存放的地址指针“段基址:偏移地址”的低16位传送到目标通用寄存器中,高16位传送到DS段寄存器中。源操作数必须是存储器地址,目标操作数为16位通用寄存器。调试举例: LEA AX,1000; 3.1.6 标志位传送指令1)LAHF ;将标志寄存器的低8位传送到AH寄存器2)SAHF

6、;将AH的低8位数传送到标志寄存器的低8为3)PUSHF;标志位寄存器内容进栈4)POPF ;将堆栈中弹出的数送标志寄存器调试举例: LAHF MOV AH,01 SAHF MOV AX,0 PUSH AX POPF3.1.7 I/0数据传送指令1)输入指令(IN) 格式:IN ac,port 功能:将端口的数据送入CPU累加器。2)输出指令(OUT) 格式:OUT port,ac 功能:将CPU累加器中的数据写入端口。调试举例: IN AL,28 OUT 28,AL注意:在I/O端口直接和间接寻址I/O指令中,端口地址和DX不允许加“ ”。3.2 算数运算类指令3.2.1 加法指令1)不带进

7、位的加法指令: 格式:ADD dst,src 功能:目标+源目标。2)带进位的加法指令: 格式:ADC dst,src 功能:目标+源+CF目标。3)加1指令: 格式:INC dst 功能:目标+1目标。调试举例: MOV AL,68 MOV BL,18 ADD AL,BL; 68H+18H=80H 执行指令后,辅助进位标志由0(NA)变为1(AC),其他标志位无变化。 MOV AL,68 MOV BL,18 ADC AL,BL; 68H+18H+1H=81H执行前进位标志位为1,执行ADC命令后,结果为81H,同时进位标志位清零。 INC AX; AX累加13.2.2 减法指令1)不带借位的

8、减法指令 格式:SUB dst,src 功能:目标-源目标。2)带借位的减法指令 格式:SUB dst,src 功能:目标-源-CF目标。3)减1指令 格式:DEC dst 功能:目标-1目标。4)比较指令 格式:CMP dst,src 功能:目标操作数减源操作数,不回送结果,只是形成标志位。调试举例: MOV AX,1200 SUB AX,1201; 1200-1201 指令执行后,符号位SF由0(PL)置1(NG),表示结果为负数,零标志位ZF由1置0,表示结果不为0,进位标志CF由0置1,表示有借位产生。 DEC BX; BX减1 MOV AX,-26 MOV BX,16 CMP AX,

9、BX; 比较-26和16的大小因为-26比16小,所以符号位(SF)置1,进位标志位(CF)置1。3.2.3 乘法指令格式:MUL/IMUL src乘数被乘数乘积字节ALAX字AXDX:AX双字EAXEDX:EAX调试举例: MOV AX,12 MOV BX,256 MUL BX; 12*256=2A0C3.2.4 除法指令格式:DIV/IDIV src除数被除数商余数字节AXALAH字DX:AXAXDX双字EDX:EAXEAXEAX调试举例: MOV AX,19 MOV BX,9 DIV BX;19H/9H=2H719H/9H=2H7,商保存在AX中,余数保存在DX中。 MOV AX,-19

10、 MOV BX,9 IDIV BX;-19/9 3.3 逻辑运算类指令3.3.1 逻辑运算指令:1)逻辑与 格式:AND dst,src 功能:源操作数和目标操作数按位“与”,结果送目标单元2)逻辑或 格式:OR dst,src 功能:源操作数和目标操作数按位“或”,结果送目标单元3)逻辑异或 格式:XOR dst,src 功能:源操作数和目标操作数按位“异或”,结果送目标单元4)逻辑取反 格式:AND dst,src 功能:目标操作数按位“取反”,结果送目标单元调试举例: MOV AL,36 AND AL,0F;屏蔽AL中的高4位 MOV AL,6 OR AL,30;将立即数的高四位与AL中

11、的第四位合并 MOV AL,OF XOR AL,AL; 将AL内容清零 MOV AL,0F NOT AL;将AL的内容取反3.3.2位移指令1)逻辑左/右移 格式:SHL/SHR dst,1/CL; 功能:将操作数看成无符号数来进行位移,每移动一位在最低位或最高位补“0”,把最后移出的位保存在“CF”中。2)循环左/右移 格式:ROL/ROR dst,1/CL 功能:循环左移指令ROL,目的操作数左移,每移位一次,其最高位移入最低位,同时最高位也移入进位标志CF。循环右移指令 ROR,目的操作数右移,每移位一次,其最低位移入最高位,同时最低位也移入进位标志CF调试举例: MOV AX,8000 SHL AX,1;AX逻辑左移1位 MOV AX,8000 ROL AX,1;AX循环左移1位4 心得体会指令系统是学习汇编语言程序设计的基础,而各类指令繁多,功能各异,如果仅凭老师讲授的方法很难真正掌握,唯有上机实践,独立去操作每一条指令,才能深刻理解他的功能,并加强记忆。我的电脑是64位系统。开始调试的时候使用的是DOSBOX模拟32位系统的环境,虽然能完成一些指令的调试,可是不能完成汇编程序编写,因此放弃了这种方法,转而使用32位的xp虚拟机,但debug环境不能完成所有指令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论