汇编网首页登录博客注册
qiongshuai的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈

[2009-03-21 10:12] 汇编指令: LGDT、LIDT、LLDT、LMSW、LOADALL、LOADALL286、LOCK、LODSB、LODSW、LODSD

点击查看原图
转...
阅读全文 | 评论次数(0) | 浏览次数(523) | 所属类型(我随便说,您随便看)

[2009-03-20 11:14] WINDOWS资源编译器出错信息

ACCELERATORS语句的type域应包含ASCⅡ值或VIRTKEY值。
        BEGIN expected in table
        BEGIN关键字应紧跟在ACCELERATORS关键字后
        BEGIN expected in dialog
        BEGIN关键字应紧跟在DIALOG关键字后
        BEGIN expected in menu
        BEGIN关键字应紧跟在MENU关键字后
        BEGIN expected in rcdate
        BEGIN关键字紧跟在RCDATE关键...
阅读全文 | 评论次数(0) | 浏览次数(1079) | 所属类型(我随便说,您随便看)

[2009-02-28 10:01] 第九章

1.可以修改IP,或同时修改CS和IP的指令统称为转移指令,转移指令就是可以控制CPU执行内存中某处代码的指令。

2.只修改IP,称为段内转移,段内转移又分为:短转移和近转移,短转移IP的修改范围为-128~127.近转移IP的修改范围为-32768~32767;同时修改IP和CS,称为段间转移。

3.JMP依据位移进行转移
   JMP SHORT 标号   实现的是短转移 功能:(IP)=(IP)+8位位移
1)8位位移=标号处的地址-JMP指令后的第一个字节的地址
2)SHORT指明此处的位移为8位位移
3)8位位移的范围是-128~127,用补码表示
4)8位位移...
阅读全文 | 评论次数(0) | 浏览次数(525) | 所属类型(自我总结)

[2009-02-14 14:45] 第八章

1.REG表示一个寄存器。SREG表示一个段寄存器。
REG的集合包括:AX,BX,CX,DX,AH,AL,BH,BL,CH,CL,DH,DL,SP,BP,SI,DI
SREG的集合包括:DS,SS,CS,ES

2.BX,SI,DI,BP
  1)在8086CPU中,只有这4个寄存器可以用在“[...]”中来进行内存单元的寻址。
  2)在“[...]”中,这4个寄存器可以单个出现,或者只能以4种组合出现:BX和SI,BX和DI,BP和SI,BP和DI.
  3)只要在“[...]”中使用寄存器BP,而指令中没有显性的给出段地址,段地址就默认在SS中。(这一点有时会忘,注意一下...
阅读全文 | 评论次数(0) | 浏览次数(531) | 所属类型(自我总结)

[2009-02-14 10:35] 第七章

1.AND 指令:逻辑与指令,按位进行与运算,通过该指令可将操作对象的相应位设为0,其他位不变。
OR 指令:逻辑或指令,按位进行与运算,通过该指令可将操作对象的相应位设为1,其他位不变。
61H表示a,41H表示A,大写与小写之间相差20H,单引号‘’指明数据是以字符形式给出的。

2.[bx+idata]表示一个内存单元,它的偏移地址为(bx)+idata。通常可以用来进行数组的处理。
SI,DI和BX的功能相近的寄存器,SI和DI不能够分成两个8位寄存器来使用,SI通常当作源地址的偏移量,DI通常当作目的地址的偏移量。

3.[idata]用一个常量来表示地址,可用于直接定...
阅读全文 | 评论次数(0) | 浏览次数(494) | 所属类型(自我总结)

[2009-02-06 21:59] 第六章

1.程序取得所需空间的方法有两种,一是在加载程序的时候为程序分配,再就是程序在执行的过程中向系统申请。我们可以在程序中,定义我们希望处理的数据,这些数据就会被编译,连接程序作为程序的一部分写到可执行文件中。当可执行文件中的程序被加载入内存时,这些数据也同时被加载入内存中。与此同时,我们要处理的数据也就自然而然的获得了存储空间。

2.END的作用,除了通知编译器程序结束外,还可以通知编译器程序的入口在什么地方。END START 说明了程序的入口,这个入口将被写入可执行文件的描述信息,可执行文件中的程序被加载入内存后,CPU的CS:IP被设置指向这个入口。

3.可执行文件中的描述信息...
阅读全文 | 评论次数(0) | 浏览次数(614) | 所属类型(自我总结)

[2009-02-03 22:10] 第五章

1.完整的描述一个内存单元,需要两种信息:1)内存单元的地址。2)内存单元的长度(类型)。

2.在本章中[bx]主要用来表示一个内存单元,偏移地址在bx中。loop表示循环。

3.描述性符号“()”表示一个寄存器或一个内存单元中的内容。如:(ax)表示ax中的内容。“()”中的内容可以有3中类型:1)寄存器名;2)段寄存器名;3)内存单元的物理地址(一个20位数据)。“(x)”所表示的数据有两种类型:字节和字。到底是那种类型由寄存器名或具体的运算决定。

4.loop指令的格式:loop 标号 ,CPU执行loop指令的时候,要进行两步操作,1)(CX)=(CX)-1;2)判断...
阅读全文 | 评论次数(1) | 浏览次数(680) | 所属类型(自我总结)

[2009-01-22 11:13] 第四章

1.伪指令:没有对应的机器指令,最终不被CPU所执行,而是由编译器来执行指令的。
SEGMENT...ENDS是一对成对使用的伪指令,定义一个段,必须有一个段名来标识。
END标记整个程序的结束。
ASSUME将一段寄存器和程序中的某一个用SEGMENT...ENDS定义的段相关联。
标号:指代了一个地址,也是一个段的名称,这个段的名称最终将被编译连接程序处理为一个段的段地址。

2.
目的                 相关指令    指令性质    指令执行者
通知编译器一个段结束 段名 ENDS  伪指令    编译时,编译器执行
通知编译器整个段结束    END ...
阅读全文 | 评论次数(1) | 浏览次数(660) | 所属类型(自我总结)

[2009-01-21 22:42] 检测点3.1~3.2

1)在Debug中,用“d 0:0 1F”查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0000 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。
MOV AX,1

MOV DS,AX

MOV AX,[0000]     AX=2662H

MOV BX,[0001]     BX=E626H

MOV AX,BX         AX=E...
阅读全文 | 评论次数(1) | 浏览次数(743) | 所属类型(汇编作业)

[2009-01-19 22:30] 第三章(3.1--3.5  | 3.6--3.10)

1.在内存中存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字要用两个地址连续的内存单元来存放,这个字的低字节放在低地址单元,高字节存放在高地址单元。

2[]表示一个内存单元,[]中的数据表示内存单元的偏移地址。

3.MOV     寄存器,数据
  MOV     寄存器,寄存器
  MOV     寄存器,内存单元(可以互相交换)
  MOV     段寄存器,寄存器(可以互相交换)
  MOV     段寄存器,内存单元

  SUB/ADD    寄存器,数据
  SUB/ADD    寄存器,寄存器
  SUB/ADD    寄存器,内存单元...
阅读全文 | 评论次数(1) | 浏览次数(666) | 所属类型(自我总结)
『 查看更多文章 』