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

我的博客

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

[2007-12-04 13:51] 14章学习笔记

1。in,out端口读写指令
in al,80h;从外设80h端口地址处向al写数据,输入
out 80h,al;将al中数据写入外设80h端口地址处,输出
2。al,ax来存放要与端口交涉的数据,8位,16位
3。逻辑移位指令:
shl:逻辑左移
shr:逻辑右移
格式:shl al,1;shl al,cl(移位数大于1);移出位存于cf中...
阅读全文 | 评论次数(2) | 浏览次数(978) | 所属类型(学习笔记)

[2007-11-22 22:52] 第十一章学习笔记

1。标志寄存器
zf:零标志位;pf:偶标志位;sf:符号标志位;cf:进位标志位;of:溢出标志位
2。cf无符号对象,of考虑符号。
3。abc指令
格式: abc 操作对象1,操作对象2
功能:操作对象1=操作对象1+操作对象2+cf
4。sbb同理
5。cmp指令:比较指令
6。串传送指令——movsb:
mov es:[di],byte ptr ds:[si]
如果df=0,则inc si,inc di
如果df=1,则dec si,dec di...
阅读全文 | 评论次数(0) | 浏览次数(604) | 所属类型(学习笔记)

[2007-11-14 16:35] 第10章学习笔记

1。执行ret指令:
(1).(ip)=((ss)*16+(sp))
(2).(sp)=(sp)+2
2。执行retf指令:
(1) (ip)=((ss)*16+(sp))
(2) (sp)=(sp)+2
(3) (cs)=((ss)*16+(sp))
(4) (sp)=(sp)+2
3。执行call指令:(保护现场?,非短转移)
指令格式:
call 标号;call far ptr 标号;
call 16位reg;
call word ptr 内存单元地址;
call dword ptr 内存单元地址;


(1)将“当前”(call指令下条指令)的ip或cs...
阅读全文 | 评论次数(0) | 浏览次数(330) | 所属类型(学习笔记)

[2007-11-13 13:16] 推荐博文 第9章学习笔记

1。转移指令
段内转移:只修改ip;
段间转移:同时修改cs和ip;
短转移:ip修改范围-128~127(位移量8位)
近转移:ip修改范围-32768~32767(位移量16位)

无条件转移指令
条件转移指令
循环指令
过程
中断
2。offset
offset s;取标号s的偏移地址
(利用标号可以某条指令的偏移地址)
3。jmp指令
格式:
jmp short 标号;(段内短转移)
jmp near ptr 标号;(段内近转移)
jmp far ptr 标号;(段间转移/远转移)
4。jmp对应的机器码:EB **(“**”表示位移量);EB ^...
阅读全文 | 评论次数(2) | 浏览次数(577) | 所属类型(学习笔记)

[2007-11-08 10:08] 第8章学习笔记

1。只有bx,bp,di,si可以用在[...]中进行内存寻址其中
mov ax,[bx+bp];错误
mov ax,[si+di];错误
2。mov ax,[bp];mov ax,[bp+di/si+idata];段地址在ss中
而 mov ax,[bx];mov ax,[di];mov ax,[si];段地址在ds中
3。立即数(idata):指令执行前在cpu的指令缓冲器中
寄存器:指令要处理的数据在寄存器中
段地址(SA),偏移地址(EA):指令要处理的数据在内存中

4。寻址方式:       
直接寻址:[idata]; 
寄存器间接寻址:[bx];
寄存器...
阅读全文 | 评论次数(0) | 浏览次数(387) | 所属类型(学习笔记)

[2007-11-07 10:46] 第7章学习笔记

1。and指令:实现将操作对象相应位设为0,其它位不变;
or指令:实现将操作对象相应位设为1,其他位不变。
2。mov ax,[bx+idata];mov ax,idata[bx];mov [bx].idata寄存器相对寻址
3。c语言定位方式:a[i],b[i]
汇编语言定位方式:0[bx],5[bx]
C,C++规定,16进制数必须以 0x开头
4。si:源变址寄存器
di:目标变址寄存器(两者与bx功能相近)
5。mov ax,[bx+si];mov ax,[bx+di];基址加变址寻址
mov ax,[bx+bp];错误
mov ax,[si+di];错误
6。...
阅读全文 | 评论次数(1) | 浏览次数(328) | 所属类型(学习笔记)

[2007-11-06 13:17] 第6章学习笔记

1。程序取得所需空间的方法:
a.在加载程序的时候为程序分配:如通过定义段来获取
b.程序执行的过程中向系统申请。
2。dw:定义字型数据。
3。end start;(start为标号)end定义了程序的入口在start标记的位置。
4。mov ax,data;(data段名)正确
mov ds,data;错误...
阅读全文 | 评论次数(1) | 浏览次数(418) | 所属类型(学习笔记)

[2007-11-05 08:44] 第5章学习笔记

1。mov ax,[0];将一字单元的内容送入ax
mov al,[0];将一字节单元的内容送入al
描述内存单元:内存单元地址,内存单元长度。
mov ax,[bx];mov al,[bx];

2。(ax),(20000h),((ds)*16+(bx));正确
(2000h),(2000:0),((ds):1000h);错误

3。loop指令:
格式:loop 标号
执行步骤:(cx)=(cx)-1;判断cx中值,不为0转至标号处执行,为0执行下条指令。
cx中存放循环次数

5。在汇编源程序中,数据不能以字母开头,a000h,应改为0a000h

6。de...
阅读全文 | 评论次数(1) | 浏览次数(311) | 所属类型(学习笔记)

[2007-11-04 12:40] 第4章学习笔记

1。伪指令:没有对应的机器代码,由编译器执行,指导编译器工作。
   汇编指令:有对应的机器代码,最终由cup执行。
   标号:如 段名
2。设置段:   
          段名 segment
            ...
         段名 ends
汇编程序结束: end
“假设”关联:
             assum 段寄存器:段名
程序返回:     
          mov ax,4c00h
         int 21h
3。编程——1.asm——编译——1.obj——连接——1.exe——加载—
(edit)         ...
阅读全文 | 评论次数(2) | 浏览次数(322) | 所属类型(学习笔记)

[2007-11-01 12:34] 第3章学习笔记

1。一个字=2字节,高位字节存放在高地址单元,低位字节存放在低地址单元中。字单元:n地址字单元存放字型数据为n地址和n+1地址数据组成的字。
2。ds:存放数据的段地址,mov al,[0]  ;将ds和偏移地址[0]指向的内存地址的数据送如al中。同理:mov [0],ax;mov [0],cs;mov [0],ds;
3。mov cs,ax  ;错误
   mov ds,ax  ;正确
   mov ax,ds  ;正确
   mov cs,1300;错误
   mov ds,1300;错误
   mov ip,1300;错误
4.栈:ss:sp指向栈顶,栈越界,push,...
阅读全文 | 评论次数(1) | 浏览次数(353) | 所属类型(学习笔记)
页码数(2):  1  2