Chinaunix首页 | 论坛 | 博客
  • 博客访问: 512119
  • 博文数量: 161
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-25 01:20
文章分类

全部博文(161)

文章存档

2011年(44)

2010年(47)

2009年(48)

2008年(22)

我的朋友

分类:

2009-08-28 23:07:22

  更灵活的定位的内存地址的方法
1>
and or
逻辑 与或指令,通过该指令可以进行位操作
and al,000111011B
ascii码
以字符形式给出的数据
datastr segment
 db 'unit'
 db 'torr'
datastr ends
大小写转化
方法二
思路:从二进制区别考虑
大写                       小写
A 41 0100 0001              61           0110 0001
B 42 0100 0010              62           0110 0010
C 43 0100 0011              63           0110 0011
D 44 0100 0100              64           0100 0100
大写到小写!将第5位置1
mov
or 01000001B,00100000B
小写到大写,将第5位置0
and 01100001B,11011111B
2>
[bx+idata]
偏移地址为bx中的数值+idata
mov ax,[bx+200]
将一个内存单元的内容送入ax,这个内存单元的长度位字单元,存放一个字,偏移地址位bx中的地址+200,段地址在ds中
(ax)=((ds)*16+(bx)+200)

用[bx+idata]的方式进行数组的处理
assume cs:codesg,ds:datasg
datasg segment
 db 'basic'
 db 'miniex'
datasg ends
codesg segment
start:
codesg ends
end start
[bx+si+idata]和[bx+di+idata]
表示一个内存单元
偏移地址(bx)+(si)+idata

3>
不同寻址方式(定位内存的方法)的灵活应用
 
[idata]  用一个常量来表示内存,用于直接定位一个内存单元
[bx]     用一个变量来表示内存,间接来定位一个内存单元
[bx+idata]
[bx+si]
[bx+si+idata]
实验
mov ax,datasg
mov ds,ax
mov bx,0
mov cx,6
s:mo
阅读(679) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-06-05 02:20:46

大连法律咨询在线 http://www.fabowang.com 大连律师在线咨询 http://www.fabowang.com 大连法律顾问网 http://www.fabowang.com 大连律师咨询 http://www.fabowang.com