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

我的博客

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

[2009-07-22 18:29] 第十章笔记

ret用栈中的数据修改IP来实现近转移.相当于POP IP
retf用栈中的数据修改CS和IP来实现远转移.相当于POP IP,POP CS

call 标号:将当前IP压栈后,转到标号处执行.根据位移进行转移.
call far ptr 标号:相当于PUSH CS,PUSH IP,JMP FAR PTR 标号
call 寄存器
call word ptr 内存单元地址: PUSH IP ,JMP WORD PTR 内存单元地址
call dword ptr 内存单元地址:PUSH CS,PUSH IP,JMP DWORD PTR 内存单元地址


mul乘法指令:mul要...
阅读全文 | 评论次数(1) | 浏览次数(650) | 所属类型(默认类型)

[2009-07-10 11:14] 第九章笔记

可以修改IP,或同时修改CS和IP的指令统称为转移指令.
只修改IP时称为段内转移,同时修改CS和IP时称为段间转移.
段内转移又分为:短转移和近转移.
offset是由编译器处理,功能是取得标号处的偏移地址.
jmp 无条件转移;jmp short 标号:转移范围为-128~127
jmp near ptr s
jmp far ptr s(可以同时修改CS和IP).
jmp 十六位寄存器
jmp word ptr 内存单元地址(段内转移)[内存单元地址开始处存放着的一个字为转移的目的地址]
jmp dword ptr 内存单元地址(段间转移)[高位为转移的段地址,低位为转移...
阅读全文 | 评论次数(1) | 浏览次数(623) | 所属类型(默认类型)

[2009-06-29 16:07] 第八章笔记

数据处理的两个基本问题:1,数据在什么地方.2,数据的长度.
寻址:
1,在8086CPU中,只有BX,SI,DI,BP四个寄存器,可以用在[...]来进行内存单元的寻址.
2,这四个寄存器,可以单独出现,或者是必须成对出现.bx和si,bx和di,bp和si,bp和di.
3,只要在[...]中使用了bp,而又没有显性的给出段地址,则段地址默认在ss中.
汇编语言中数据的位置:1,立即数;idata,直接包含于汇编指令,执行前在CPU的指令缓冲器中.2,寄存器.3,内存中,用SA(段地址)和EA(偏移地址)结合的办法来寻址.
数据长度如何指明:1,寄存器指明.2,通过X ptr指...
阅读全文 | 评论次数(2) | 浏览次数(708) | 所属类型(默认类型)

[2009-06-26 20:55] 第七章笔记

点击查看原图
and指令:把操作对象相应位置置0
or指令:把操作对象相应位置置1
用'...'来指明数据是以字符形式给出,编译器自动转化为ASCII码.
SI和DI是8086CPU中和BX功能相近的寄存器,但是不能分为8位....
阅读全文 | 评论次数(0) | 浏览次数(824) | 所属类型(默认类型)

[2009-06-19 14:24] 第五章笔记

LOOP指令执行时进行的两步操作:1,(CX)=(CX)-1   2,判断CX的值,不为零则转到标号处执行,CX值为零则向下执行.

汇编程序中数据不能以数字母开头.例:A00H,应该写为0A00H.

DEBUG中G命令,表示执行到当头代码处. 例g 1200.

用P命令执行INT 21.

DEBUG和汇编程序中对mov ax,[0]的理解是有差异的.DEBUG中认识0是一个偏移地址,而汇编程序中认识0是一个字,即;mov ax,0.如果要让汇编程序认为0是一个偏移有两种办法:
1 mov ax,2000h
  mov ds,ax   设定段地址
  mov bx,...
阅读全文 | 评论次数(1) | 浏览次数(353) | 所属类型(默认类型)

[2009-06-10 17:03] 第三章笔记

8086CPU用16位寄存器来储存一个字,分为高8位和低8位.

字单元,由两个连续的内存单元组成.

DS寄存器储存要访问的段地址.CPU会从DS中提取要访问的段地址.

8086CPU不支持数据直接入段地址,mov ds,1000H是错误的.mov ds,ax是正确的.这是因为CPU硬件设计的原因.

[...]表示一个内存单元,内部的数字代表偏移地址.

mov sub add都有两个操作对象.

mov ax,ds也是成立的.

栈是一种有特殊访问方式的存储空间.先进后出,后进先出.
栈顶由高地址由低地址方向增长.
SS:SP指向栈顶.
栈有两个种操作...
阅读全文 | 评论次数(1) | 浏览次数(300) | 所属类型(默认类型)

[2009-06-07 13:04] 第二章笔记

8086都是16位寄存器,而且AX,BX,CX,DX都能分成高8位和低8位.

十六进制数后加H,二进制后加B.

8086是20的地址总线.但是8086是16位结构,一次只能处理16位的数据,故表现的寻址能力是2^16B.

8086内部采用了用两个16位地址合成一个20地址的方法.

"段地址*16+偏移地址 = 物理地址",它的含义是:CPU访问内存时,用一个基础地址(段地址*16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址.

一个N进制数乘以N,就代表左移一位.左移X位,则乘以N^X.

CS 和 IP是8086中最着急的两个寄存器.

C...
阅读全文 | 评论次数(1) | 浏览次数(175) | 所属类型(默认类型)

[2009-06-07 11:13] 汇编语言第一章笔记

每一种处理器都有自己的指令集,即机器语言.
机器语言难于辨别及记忆,于是产生了汇编语言.
将汇编指令转换为机器指令的翻译程序,叫编译器.

汇编语言由三类指令组成:
1,汇编指令:机器码的助记符,有对应机器指令.
2,伪指令:编译器执行,计算机不执行,没有对应机器指令.
3,其他符号:+ - * /,由编译器识别,没有对应机器指令.

8 bit = 1 byte
1 KB = 1024 B
1 MB = 1024 KB
.
.

一个存储单元是8 BIT 即 一字节.
如果CPU地址总线宽度为N,那么寻址空间为2的N次方个内存单元.
数据总线的宽度,决定了C...
阅读全文 | 评论次数(1) | 浏览次数(162) | 所属类型(默认类型)
页码数(1):  1