更灵活的定位内存地址的方法04 – 零基础入门学习汇编语言35
第七章:更灵活的定位内存地址的方法04让编程改变世界Change the world by program不同的寻址方式的灵活应用如果我们比较一下前面用到的几种定位内存地址的方法(可称为寻址方式),就可以发现有以下几种方式:(1)[iata] 用一个常量来表示地址,可用于直接定位一个内存单元;(2)[bx]用一个变量来表示内存地址,可用于间接定位一个内存单元;
策略和技术
2014年06月08日
更灵活的定位内存地址的方法02 – 零基础入门学习汇编语言33
第七章:更灵活的定位内存地址的方法02让编程改变世界Change the world by program[bx+idata]在前面,我们可以用[bx]的方式来指明一个内存单元, 我们还可以用一种更为灵活的方式来指明内存单元:[bx+idata]表示一个内存单元,它的偏移地址为(bx)+idata(bx中的数值加上idata)。我们看一下指令mov ax,[bx
策略和技术
2014年06月08日
包含多个段的程序03 – 零基础入门学习汇编语言31
第六章:包含多个段的程序03让编程改变世界Change the world by program实验五编写、调试具有多个段的程序(下载源代码)这一章的理论内容不是很多,但有些知识却是要在实践中掌握。这个实验,既是一次实践,也是学习内容。必须完成这个实验,才能继续向下学习。视频下载技术, IT技术, 汇编语言, 视频教程原文发布于宽客论坛,点击阅读原文
策略和技术
2014年06月08日
更灵活的定位内存地址的方法01 – 零基础入门学习汇编语言32
第七章:更灵活的定位内存地址的方法01让编程改变世界Change the world by program引言前面,我们用[0]、[bx]的方法,在访问内存的指令中,定位内存单元的地址。在这一章中,我们主要讲解一些更灵活的定位内存地址的方法和相关的编程方法。我们的讲解将通过具体的问题来进行。and指令和or指令首先我们介绍两条指令and和or,因为我们下面的
策略和技术
2014年06月08日
包含多个段的程序01 – 零基础入门学习汇编语言29
第六章:包含多个段的程序01让编程改变世界Change the world by program引言前面我们写的程序中,只有一个代码段。现在有一个问题是: 如果程序需要用其他空间来存放数据,我们使用哪里呢?第5章中,我们讲到要使用一段安全的空间,我们说0:200~0:300是相对安全的。可这段空间的容量只有256个字节,如果我们需要的空间超过256个字节该怎么
策略和技术
2014年06月08日
包含多个段的程序02 – 零基础入门学习汇编语言30
第六章:包含多个段的程序02让编程改变世界Change the world by program在代码段中使用栈完成下面的程序,利用栈,将程序中定义的数据逆序存放。assume cs:codesgcodesg segmentdw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h?code endsend程序
策略和技术
2014年06月08日
[BX]和loop指令06 – 零基础入门学习汇编语言28
第五章:[BX]和loop指令06让编程改变世界Change the world by program一段安全的空间在8086模式中,随意向一段内存空间写入内容是很危险的 ,因为这段空间中可能存放着重要的系统数据或代码。比如下面的指令:mov ax,1000hmov ds,axmov al,0mov ds:[0],al我们以前在Debug中,为了讲解上的
策略和技术
2014年06月08日
[BX]和loop指令05 – 零基础入门学习汇编语言27
第五章:[BX]和loop指令05让编程改变世界Change the world by programloop和[bx]的联合应用考虑这样一个问题:计算ffff:0~ffff:b单元中的数据的和,结果存储在dx中。分析:(1)运算后的结果是否会超出 dx 所能存储的范围?ffff:0~ffff:b内存单元中的数据是字节型数据,范围在0~255之间,12个这样
策略和技术
2014年06月08日
[BX]和loop指令04 – 零基础入门学习汇编语言26
第五章:[BX]和loop指令04让编程改变世界Change the world by program温故而知新[bx]的作用:作为偏移地址与DS配合loop和cx合作debug的-g 偏移地址 命令 和 -p命令Debug和汇编编译器Masm对指令的不同处理本节只试点为下面刻成的顺利进行提供一点预备知识。我们在Debug中写过类似的指令:mov ax,
策略和技术
2014年06月08日
[BX]和loop指令02 – 零基础入门学习汇编语言24
第五章:[BX]和loop指令02让编程改变世界Change the world by programLoop指令指令的格式是:loop 标号,CPU 执行loop指令的时候,要进行两步操作:(cx)=(cx)-1;判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行。从上面的描述中,我们可以看到,cx中的值影响着loop指令的执行结果。通常(注意
策略和技术
2014年06月08日
[BX]和loop指令01 – 零基础入门学习汇编语言23
第五章:[BX]和loop指令01让编程改变世界Change the world by program[bx]和内存单元的描述[bx]是什么呢?和[0]有些类似,[0]表示内存单元,它的偏移地址是0。mov ax, [0]mov al, [0]我们要完整地描述一个内存单元,需要两种信息:内存单元的地址;内存单元的长度(类型)。我们用[0]表示一个内存单
策略和技术
2014年06月08日
第一个程序03 – 零基础入门学习汇编语言22
第四章:第一个程序03让编程改变世界Change the world by program可执行文件中的程序装入内存并运行的原理在DOS中,可执行文件中的程序P1若要运行,必须有一个正在运行的程序P2 ,将 P1 从可执行文件中加载入内存,将CPU的控制权交给它,P1才能得以运行。当P1运行完毕后,应该将CPU的控制权交还给使它得以运行的程序P2。1.exe的执
策略和技术
2014年06月08日
第一个程序01 – 零基础入门学习汇编语言20
第四章:第一个程序01让编程改变世界Change the world by program引言现在我们将开始编写完整的汇编语言程序,用编译器将它们编译成为可执行文件(如:*.exe文件),在操作系统中运行。这一章,我们将编写第一个这样的程序。一个源程序从写出到执行的过程编写汇编源程序使用文本编辑器(如记事本、Nodepad++、UltraEdit等),用汇编语言
策略和技术
2014年06月08日
寄存器(内存访问)07 – 零基础入门学习汇编语言19
第三章:寄存器(内存访问)07让编程改变世界Change the world by program栈段前面讲过,对于8086PC机,在编程时,我们可以根据需要 ,将一组内存单元定义为一个段。我们可以将长度为 N(N ≤64K )的一组地址连续、起始地址为16的倍数的内存单元,当作栈来用,从而定义了一个栈段。比如我们将10010H~1001FH 这段长度为 16
策略和技术
2014年06月08日
寄存器(内存访问)06 – 零基础入门学习汇编语言18
第三章:寄存器(内存访问)06让编程改变世界Change the world by programpush、pop指令问题3.7编程:将10000H~1000FH 这段空间当作栈,初始状态是空的,将 AX、BX、DS中的数据入栈。思考后看分析。push、pop指令问题3.8编程:(1)将10000H~1000FH 这段空间当作栈,初始状态是空的;(2)设
策略和技术
2014年06月08日
寄存器(内存访问)05 – 零基础入门学习汇编语言17
第三章:寄存器(内存访问)05让编程改变世界Change the world by programpop指令的执行过程pop ax将SS:SP指向的内存单元处的数据送入ax中;SP = SP+2,SS:SP指向当前栈顶下面的单元,以当前栈顶下面的单元为新的栈顶。pop指令的执行过程注意:出栈后,SS:SP指向新的栈顶 1000EH,pop操作前的栈顶元素,1
策略和技术
2014年06月08日
寄存器(内存访问)03 – 零基础入门学习汇编语言15
第三章:寄存器(内存访问)03让编程改变世界Change the world by programmov、add、sub指令已学mov指令的几种形式:mov 寄存器,数据mov 寄存器,寄存器mov 寄存器,内存单元mov 内存单元,寄存器mov 段寄存器,寄存器根据已知指令进行推测:mov 段寄存器,寄存器mov 寄存器,段寄存器mov 寄存器,段
策略和技术
2014年06月08日
寄存器(内存访问)04 – 零基础入门学习汇编语言16
第三章:寄存器(内存访问)04让编程改变世界Change the world by program栈我们研究栈的角度:栈是一种具有特殊的访问方式的存储空间。它的特殊性就在于,最后进入这个空间的数据,最先出去。用一个盒子和3本书来描述栈的操作方式出栈的方式入栈的方式入栈的方式出栈的方式出栈的方式出栈的方式栈有两个基本的操作:入栈和出栈。入栈:将一个新的元素
策略和技术
2014年06月08日
寄存器(内存访问)02 – 零基础入门学习汇编语言14
第三章:寄存器(内存访问)02让编程改变世界Change the world by program该讲内容主要对上一讲的试验进行上机测试,详细请看视频讲解。视频下载技术, IT技术, 汇编语言, 视频教程原文发布于宽客论坛,点击阅读原文
策略和技术
2014年06月08日
寄存器(内存访问)01 – 零基础入门学习汇编语言13
第三章:寄存器(内存访问)01让编程改变世界Change the world by program引言在第2章中,我们主要从 CPU 如何执行指令的角度讲解了8086CPU的逻辑结构、形成物理地址的方法、相关的寄存器以及一些指令。这一章中,我们从访问内存的角度继续学习几个寄存器。内存中字的存储在0地址处开始存放20000(4E20H):内存中字的存储注意:0
策略和技术
2014年06月08日
