摘要:
实验三 存储器分段的理解 一、实验目的 熟悉程序框架;理解存储器分段的本质及不同段之间的关系。 二、实验题 将下面的程序编译链接,用debug跟踪,然后回答问题。 ASSUME CS:CODES,DS:DATAS,SS:STACKS DATAS SEGMENT DW 0123H, 0456H, 07 阅读全文
摘要:
(1)向内存0:200~ 0:23f依次传送数据0~63(3FH) (2)同上简化后的代码,要求九行以内 阅读全文
该文被密码保护。 阅读全文
摘要:
实验二 熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、实验题 1.求出以下各十六进制数与十六进制数62A0之和,单步执行、观察标志位SF、ZF、CF、OF的值,并与自己的判 阅读全文
摘要:
我们可以将一段内存定义为一个段,用一个段地址指示段,用偏移地址访问段内的内存单元。我们想怎么定义就怎么定义。 1.我们可以定义一个段来存放数据,将他定义为“数据段” 2.我们可以定义一个段来存放代码,将他定义为“代码段” 3.我们可以定义一个段来当作栈,将他定义为段栈 对于数据段,我们通过普通寄存器 阅读全文
摘要:
我们学习编程都知道栈的超界限问题是非常严重的问题,他可能会覆盖掉其他数据,并且我们不知道这个数据是我们自己保存的用于其他用途的数据还是系统的数据,这样常常容易引发一连串的问题。 在学习汇编的时候,我们熟悉的8086cpu通过ss:sp来指向栈顶指针,从而来控制入栈,出栈,入栈的时候sp = sp-2 阅读全文
摘要:
下图是8086PC机的内存地址空间分配的基本情况 1.从地址0~9FFFF的内存单元中读取数据,实际上就是在读取主随机存储器(RAM)中的数据 2.向地址A0000~BFFFF的内存单元中写数据,就是向显存中写入数据,这些数据会被显卡输出到显示器 3.向C0000~FFFFF中写入数据的操作是无效的 阅读全文
摘要:
1.查看和修改cpu中寄存器的内容:R命令 2.查看内存中的内容:D命令 3.修改内存中的内容:E命令(可以写入数据和指令,在内存中实际上也没有区别) 4.将内存中的内容解释为机器指令 和 对应的汇编指令: U命令 5.执行CS:IP(代码段寄存器:指令指针寄存器)指向的内存单元处指令:T命令 6. 阅读全文
摘要:
实验一 利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、实验题 1、用debug命令查看并修改10000H处的内容,把结果截图在下面。 2、通过debug命令对 阅读全文
摘要:
快排代码 #include <iostream> #include <cstdio> using namespace std; int a[100005],n; void quick_sort(int l,int r) { int i=l,j=r,flag = a[l+r>>1]; do{ whil 阅读全文