汇编实验三

简介: 实验3 数据传送指令练习一、实验目的:1.熟悉IBM PC机的数据传送指令的使用。2. 掌握堆栈的作用。3.掌握堆栈指示器SP和堆栈操作指令PUSH、POP。二、实验内容:1.将数据段中偏移地址为0000H的连续三个字节内容传送至该段偏移地址为0003H的连续三个字节单元中。要求使用直接寻址、寄存器间接寻址方式。

实验3 数据传送指令练习


一、实验目的:


1.熟悉IBM PC机的数据传送指令的使用。


2. 掌握堆栈的作用。


3.掌握堆栈指示器SP和堆栈操作指令PUSH、POP。


二、实验内容:


1.将数据段中偏移地址为0000H的连续三个字节内容传送至该段偏移地址为0003H的连续三个字节单元中。要求使用直接寻址、寄存器间接寻址方式。


直接寻址:

6c17d65afe2c49998552302a80a17fe4.png

9dfcde7dce48429c9da6a12f520d2bea.png

568d66c752074de4bfb1b4b546cf787f.png

寄存器间接寻址方式:


先修改值


592f556823ab4eb68bb379c78729ad89.png

132a3e78f55243bd8c7b964c6a5a69dd.png

30568963d0004539be11fbe1ac85654a.png


2.使用传送指令把一个数64H送到以(DS)=3000H,偏移地址EA=1064H的存储单元中,并将其读出送到AL寄存器中去。在DEBUG环境下编写程序,运行并记录结果。


说明:此题对段寄存器值的设置通过传送指令完成。


0c9ec99f10564796a2628f6af9436de3.png


072daeeb8ade427481a78b59b72930c6.png

3.逐条分析下列指令的运行结果并指出执行下列的程序片段后,(SP)=?(AX)=?(BX)=?并上机验证。


MOV AX,1000H //ax=1000H


MOV SS,AX //ss=1000H


MOV SP,2000H //SP=2000H


MOV AX,30000H //AX=3000H


MOV BX,50000H //BX=5000H


PUSH AX //AX入栈


PUSH BX //BX入栈


POP AX //先BX出栈,然后AX 出栈。


要求记录每条堆栈操作指令后的运行结果并给出分析。


(SP)=1FFE(AX)=5000(BX)=5000


239b4c5e09624c91885bd6626b691f1d.png

22b942a49f094453be0e40febb20c81e.png

4.设内存数据段偏移地址4400H单元开始存放了2个字节数据55H和66H,编写程序段,使(BX)=2400H,(SI)=1000H,观察执行MOV DI,[BX+SI+1000]与LEA DI,[BX+SI+1000H]后的结果并分析。


分析:


lea是“load effective address”的缩写,简单的说,lea指令可以用来将一个内存地址直接赋给目的操作数,例如:


lea DI,[BX+SI+1000]就是将BX+SI+1000这个值直接赋给 DI,而不是把BX+SI+1000处的内存地址里的数据赋给 DI,所以最后di的值是4400


而mov指令则恰恰相反,例如:mov DI,[BX+SI+1000]则是把内存地址为BX+SI+1000处的数据赋给 DI。所以最后di的值是6655



b8ed5487850349ea8aec803922130740.png

424d4312a6d7418183ee6d8bfff6ec21.png

目录
相关文章
|
6天前
|
存储 缓存 安全
learn_C_deep_9 (汇编角度理解return的含义、const 的各种应用场景、volatile 的基本理解与实验证明)
learn_C_deep_9 (汇编角度理解return的含义、const 的各种应用场景、volatile 的基本理解与实验证明)
|
9月前
|
算法 vr&ar 网络架构
汇编实验4(99乘法表,整数分解,素数环,迷宫问题)【栈传参,递归,寻址方式】
汇编实验4(99乘法表,整数分解,素数环,迷宫问题)【栈传参,递归,寻址方式】
73 0
|
12月前
【8086汇编】《汇编语言(第三版)》实验一
需要用到的指令✨✨ 查看、修改CPU中寄存器的内容:R命令 查看内存中的内容:D命令 修改内存中的内容:E命令(可以写入数据、指令,在内存中,它们实际上没有区别) 将内存中的内容解释为机器指令和对应的汇编指令:U命令 执行CS:IP指向的内存单元处的指令:T命令 以汇编指令的形式向内存中写入指令:A命令
汇编语言与微机原理实验五:键盘按键与数码管显示
汇编语言与微机原理实验五:键盘按键与数码管显示
157 0
汇编语言与微机原理实验四:8259单脉冲触发中断
汇编语言与微机原理实验四:8259单脉冲触发中断
120 0
汇编语言与微机原理实验一、实验二、实验三:分支程序设计/循环程序设计/子程序设计
汇编语言与微机原理实验一、实验二、实验三:分支程序设计/循环程序设计/子程序设计
139 0
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(二)
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(二)
131 0
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(二)
|
存储 Ubuntu Linux
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(一)
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(一)
178 0
超详细汇编注释 操作系统实验二 操作系统的引导(哈工大李治军)(一)
|
Ruby
汇编实验2 寻址方式练习
实验目的: 1.理解存储器分段及寻址方式的意义 2.熟练掌握立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址等几种寻址方式。 3.复习巩固DEBUG中的R、D、E命令。 4.掌握用A命令编制程序,U命令进行反汇编,用G、T命令执行程序。
225 0
汇编实验2 寻址方式练习
|
存储
汇编实验一 DEBUG调试工具的使用
一、实验目的 1.学习使用DEBUG程序的各种命令。 2.了解计算机取指令、执行指令的工作过程。 3.掌握用DEBUG调试工具自编程序的方法。
318 0
汇编实验一 DEBUG调试工具的使用