* 在程序的第一条指令的前面加上一个标号start,而这个标号在伪指令end的后面出现,因为end除了通知编译器程序结束外,还可以通知编译器程序的入口在什么地方。
* 可执行文件由描述信息和程序组成,程序来自于源程序中的汇编指令和定义的数据;描述信息则主要是编译、连接程序对源程序中相关伪指令进行处理所得到的信息。
* 我们要cpu从何处开始执行程序,只要在源程序中用“end 标号”指明就可以了。(以标号所在的地方开始)
* dw即"define word"可以定义字型数据,也可以用它开辟内存空间(栈空间)。
检测点6.1(P139)-----------
* 定义多个段,对于不同...


- [mess] 数据和程序没有区别,如何确定内存中的信息哪些是数据,哪些是程序? -------------- 03/03 15:51
- [opel899] 最后那一问不知道是什么意思...谁能帮帮忙啊 03/02 21:24
- [mess] 正确 12/30 14:06
- [mess] 算了一个下午,觉得怎么老算不出2的8次方256呢,是不是还有什么招? -------------- 12/30 13:38
- [opel899] 谢谢 ~ 12/29 09:56
- [lwbfq] 只要搏主努力,应该不成问题。 12/28 15:30
- [lwbfq] 正确。 12/28 15:27
- [lwbfq] 都正确。 12/28 15:25
[2009-03-02 21:27] 第六章
阅读全文 |
评论次数(0) |
浏览次数(505) |
所属类型(复习资料)
[2009-03-02 21:26] 第五章
* 完整地描述一个内存单元需要两种信息:①内存单元的地址②内存单元的长度(类型)
* mov al,[bx]和mov ax,[bx]都是合法的。只是内存单元长度不同。
* 定义符号“()”,(ax)表示ax中的内容。(20000H)表示内存20000H单元的内容
* 约定idata表示常量,如:mov ax,[idata]就代表mov ax,[1]/mov ax,[2]/mov ax,[3]
* EA表示偏移地址,SA表示段地址。
* loop指令的格式是:loop 标号
* cpu执行loop指令的时候,要进行两步操作,①(cx)=(cx)-1②判断cx中的值,不为零则转至标号处...
* mov al,[bx]和mov ax,[bx]都是合法的。只是内存单元长度不同。
* 定义符号“()”,(ax)表示ax中的内容。(20000H)表示内存20000H单元的内容
* 约定idata表示常量,如:mov ax,[idata]就代表mov ax,[1]/mov ax,[2]/mov ax,[3]
* EA表示偏移地址,SA表示段地址。
* loop指令的格式是:loop 标号
* cpu执行loop指令的时候,要进行两步操作,①(cx)=(cx)-1②判断cx中的值,不为零则转至标号处...
阅读全文 |
评论次数(0) |
浏览次数(465) |
所属类型(复习资料)
[2009-03-02 21:25] 第四章
* 伪指令是由编译器来执行的指令。
* XXX segment
…… }
… }这是一个段中存放的内容。
XXX ends
segment和ends是一对成对使用的伪指令。这是写可被编译器编译的汇编程序时,必须用到的一对伪指令。
* segment和ends的功能是定义一个段,segment说明一个段开始,ends说明一个段结束。
* 一个段必须有一个名称来标识,格式为:
段名 segment
…
段名 ends
* 一个有意义的汇编程序中至少要有一个段用来存放代码。
* e...
* XXX segment
…… }
… }这是一个段中存放的内容。
XXX ends
segment和ends是一对成对使用的伪指令。这是写可被编译器编译的汇编程序时,必须用到的一对伪指令。
* segment和ends的功能是定义一个段,segment说明一个段开始,ends说明一个段结束。
* 一个段必须有一个名称来标识,格式为:
段名 segment
…
段名 ends
* 一个有意义的汇编程序中至少要有一个段用来存放代码。
* e...
阅读全文 |
评论次数(0) |
浏览次数(488) |
所属类型(复习资料)
[2009-03-02 21:25] 第三章
* 字单元由两个连续的内存单元组成。起始地址为N的字单元为N地址字单元。
* DS寄存器,存放要访问的数据的段地址。
* MOV AL,[0]----[0]中的0表示内在单元的偏移地址,它的段地址默认放在DS中。在指令执行时,CPU自动取DS中的数据为内存单元的段地址。
* 8086CPU不支持将数据直接送入段寄存器(DS,SS都是),所以用一个寄存器来进行中转。如:
MOV AX,1000 MOV BX,2000
MOV DS,AX MOV DS,BX
* MOV/ADD/SUB指令,它们都带有两个操作对像。
有以下几中形式:
MOV 寄存器,数据---M...
* DS寄存器,存放要访问的数据的段地址。
* MOV AL,[0]----[0]中的0表示内在单元的偏移地址,它的段地址默认放在DS中。在指令执行时,CPU自动取DS中的数据为内存单元的段地址。
* 8086CPU不支持将数据直接送入段寄存器(DS,SS都是),所以用一个寄存器来进行中转。如:
MOV AX,1000 MOV BX,2000
MOV DS,AX MOV DS,BX
* MOV/ADD/SUB指令,它们都带有两个操作对像。
有以下几中形式:
MOV 寄存器,数据---M...
阅读全文 |
评论次数(0) |
浏览次数(439) |
所属类型(复习资料)
[2009-03-02 21:20] 检测3.1
AX=2662
BX=E626
AX=E626
AX=2662
BX=D6E6
AX=FD48
AX=2C14
AX=0000
AX=00E6
BX=0000
BX=0026
AX=000C
MOV AX,6622 cs=2000 ip=0003 ax=6622 bx=0
JMP 0FF0:0100 cs=0FF0 ip=0100 ax=6622 bx=0
MOV AX,2000 cs=0FF0 ip=0103 ax=2000 bx=0
MOV DS,AX cs=0FF0...
BX=E626
AX=E626
AX=2662
BX=D6E6
AX=FD48
AX=2C14
AX=0000
AX=00E6
BX=0000
BX=0026
AX=000C
MOV AX,6622 cs=2000 ip=0003 ax=6622 bx=0
JMP 0FF0:0100 cs=0FF0 ip=0100 ax=6622 bx=0
MOV AX,2000 cs=0FF0 ip=0103 ax=2000 bx=0
MOV DS,AX cs=0FF0...
阅读全文 |
评论次数(2) |
浏览次数(638) |
所属类型(汇编作业)
[2008-12-29 21:46] 粗心
检测点1.1的时候看错了题目,错了一题,
今天到实验一的第二个问题又粗心了,算了一个下午,觉得怎么老算不出2的8次方256呢,是不是还有什么招?这个问题老挂在心头,想去找答案嘛,看着论坛上大家都提倡独立思考,而且前言也说了。。。所以只能再想咯,今晚逛论坛才突然想起原来在DOS下,100H就是256D,感觉真是爽,呵呵,...
今天到实验一的第二个问题又粗心了,算了一个下午,觉得怎么老算不出2的8次方256呢,是不是还有什么招?这个问题老挂在心头,想去找答案嘛,看着论坛上大家都提倡独立思考,而且前言也说了。。。所以只能再想咯,今晚逛论坛才突然想起原来在DOS下,100H就是256D,感觉真是爽,呵呵,...
阅读全文 |
评论次数(1) |
浏览次数(712) |
所属类型(个人感悟)
[2008-12-29 09:54] 第二章
*CPU由运算器,控制器,寄存器构成。
*通用寄存器,存放一般的数据,其有AX,BX,CX,DX.均可分AH,AL之类的使用。
*一个16位的寄存器所能存储的数据的最大值为2的16次方。
*字(word)=2字节(byte)---高位字节+低位字节。
*在定一条汇编指令或一个寄存器的名称时不区分大小写。
*al独立使用时和ah没有关系,所以在al中产生的进位不会存储在ah中。
*指令的两个操作对象的位数应当是一致的。
*在cpu向总线上发出物理地址之前,必须要在内部先形成这个物理地址。
*16位结构的CPU有结构特性:
●运算器一次最多可以...
*通用寄存器,存放一般的数据,其有AX,BX,CX,DX.均可分AH,AL之类的使用。
*一个16位的寄存器所能存储的数据的最大值为2的16次方。
*字(word)=2字节(byte)---高位字节+低位字节。
*在定一条汇编指令或一个寄存器的名称时不区分大小写。
*al独立使用时和ah没有关系,所以在al中产生的进位不会存储在ah中。
*指令的两个操作对象的位数应当是一致的。
*在cpu向总线上发出物理地址之前,必须要在内部先形成这个物理地址。
*16位结构的CPU有结构特性:
●运算器一次最多可以...
阅读全文 |
评论次数(0) |
浏览次数(495) |
所属类型(复习资料)
[2008-12-29 09:20] 检测点2.3
这次做了,感觉没什么把握,也许是课本看得太快了,理解不够。
突然想到一个问题:如果我想写个程序来测试一下我做的答案是否正确,要怎样编个完整的程序,
附:会用一点MASM,和DEBUG.
-------------------------------
刚刚去论坛里看了,很受益。总算明白了。
整体过程应该是
读入mov ax,bx指令到指令缓冲器 IP进行第一次修改 执行mov ax,bx
读入sub ax,ax指令到指令缓冲器 IP进行第二次修改 执行sub ax,ax
读取jmp ax 指令到指令缓冲器 IP进行第三次修改 执行jmp ax I...
突然想到一个问题:如果我想写个程序来测试一下我做的答案是否正确,要怎样编个完整的程序,
附:会用一点MASM,和DEBUG.
-------------------------------
刚刚去论坛里看了,很受益。总算明白了。
整体过程应该是
读入mov ax,bx指令到指令缓冲器 IP进行第一次修改 执行mov ax,bx
读入sub ax,ax指令到指令缓冲器 IP进行第二次修改 执行sub ax,ax
读取jmp ax 指令到指令缓冲器 IP进行第三次修改 执行jmp ax I...
阅读全文 |
评论次数(1) |
浏览次数(713) |
所属类型(汇编作业)
[2008-12-28 10:23] 第一章
为方便复习,从书本上抄了些重点下来,
*汇编指令是机器指令的助记符,同机器指令一一对应。
*微处理器,由于硬件设计不同需要的脉冲也不同,所以每一种微处理器都有自己的机器指令集。
*有3类指令组成:⑴汇编指令⑵伪指令⑶其他符号
*CPU要工作就要向它提供指令和数据,这些存放在存储器(内存)中没有内存,CPU就无法工作。
*cpu可以直接使用的信息在存储器中存放。
*在内存和磁盘上,指令和数据都是以二进制存储。
*一个存储单元=1 Byte =8 bit。
*存储器的容量的最小单位是:字节
*CPU要想进行数据读写,必须和外部芯片进行以下信...
*汇编指令是机器指令的助记符,同机器指令一一对应。
*微处理器,由于硬件设计不同需要的脉冲也不同,所以每一种微处理器都有自己的机器指令集。
*有3类指令组成:⑴汇编指令⑵伪指令⑶其他符号
*CPU要工作就要向它提供指令和数据,这些存放在存储器(内存)中没有内存,CPU就无法工作。
*cpu可以直接使用的信息在存储器中存放。
*在内存和磁盘上,指令和数据都是以二进制存储。
*一个存储单元=1 Byte =8 bit。
*存储器的容量的最小单位是:字节
*CPU要想进行数据读写,必须和外部芯片进行以下信...
阅读全文 |
评论次数(0) |
浏览次数(838) |
所属类型(复习资料)
[2008-12-28 10:22] 前言
*任何不以循序渐进的方式进行学习的,都将出现盲目探索和不成系统的情况。时间上的先后并不是内容上的渐进。
*学习主线:①知识点②检测点③问题和分析④实验
*必须遵守的原则:①没有通过检测点不要向下学习;②没有完成当前的实验不要向下学习。
*教学重心是:通过学习关键指令来深入理解机器工作的基本原理,培养底层编程意识和思想。
*内容特点:
①不讲解每一条指令的功能(自己去查字典)
②编程的平台是硬件而不是操作系统
③着重讲解重要指令和关键概念。
学校发的教材真是怎么也看不懂,现在按网点说的一步一步来,但愿在能把汇编学好。...
*学习主线:①知识点②检测点③问题和分析④实验
*必须遵守的原则:①没有通过检测点不要向下学习;②没有完成当前的实验不要向下学习。
*教学重心是:通过学习关键指令来深入理解机器工作的基本原理,培养底层编程意识和思想。
*内容特点:
①不讲解每一条指令的功能(自己去查字典)
②编程的平台是硬件而不是操作系统
③着重讲解重要指令和关键概念。
学校发的教材真是怎么也看不懂,现在按网点说的一步一步来,但愿在能把汇编学好。...
阅读全文 |
评论次数(2) |
浏览次数(651) |
所属类型(复习资料)
『 查看更多文章 』