1.内存与端口
1)cpu通过地址总线将地址信息发出
2)pu通过控制总线发出内存(端口)读(写)命令,选中存储器(端口所在)芯片,通知它,将要从中读(写)数据。
3)储器(端口所在芯片)将内存单元(端口中)的数据通过数据线送入cpu
注意!
in和out指令中,智能用al或ax来存放读入或发送的数据
2.cmos ram芯片
芯片特征:
1)个时钟和1个128存储单元的存储器
2)电池供电,所以关机后信息不丢失
3)钟占0-0d单元,其余保存系统信息
4)2个端口,70h(地址端口)和71h(控制端口),读和写都分2步
3.shl(向左移动)和shr(向右移动)
特...
- [a88510] 其实你可以理解为,就是一个压入,一个弹出 03/09 12:11
- [suixin] 你要把这些说明去掉就可以了 02/12 14:55
- [suixin] 我试过了 可以呀 02/12 14:53
- [waiwai] 这程序不能通过编译,你没试过吗? 02/02 21:50
- [suixin] 不对,好像除了范逸之的其他的买不到了。我在网上买了很长时间还是没有 01/08 15:50
- [suixin] 晕了我是转载的现在这些都买不到了 01/08 15:47
- [waiwai] 找本VB好书还真难,麻烦给我发个吧...... bzj781129@sina.com 01/08 15:43
- [游客] 涉及push pop时一定要定义堆栈,经验!!很重要!! 01/06 22:43
- [regex] 还有一点非常重要,当栈空时,SS:SP指向栈空间最高地址单元的下一个单元。 01/01 00:27
- [regex] 第三章真的非常重要 01/01 00:25
- [suixin] 对不起我还没学到哪里有很多伪指令不认识等我学的差不多的时候我再给你弄吧,先不好意思了 01/03 11:54
- [游客] 你好,我搜了一个汇编程序,很长,你能帮忙写点注释吗? DATA SEGMENT 01/02 11:19
- [kevin812566059] 你好!我也想学习汇编。我前几天报名的,在这个网上学习的步骤是怎么样的?我怎么找不到什么作业啊?应该看 12/29 20:49
- [zouhehui] 真的,我相信一段时间以后你在汇编上的造诣是不可估量的! 11/30 22:21
- [zouhehui] 从你写的章末总结就看的出来你是一个非常细心,毅力很强的高手,很高兴认识你,我现在还是一只菜鸟,以后多 11/30 21:49
- [zouhehui] 你好,我也刚刚学汇编,我也想交一些朋友大家公共学习,希望我能成为你的朋友! 11/29 12:05
[2010-03-21 21:49] 第十四章 端口
阅读全文 |
评论次数(0) |
浏览次数(583) |
所属类型(每章总结)
[2010-02-28 20:16] 第十三章 int指令
一.供应用程序调用的中断例程
二.bios和dos所提供的中断例程======>
=>1.cpu加电,初始化cs:ip=>0ffff:0
2.执行硬件系统检测和初始化程序
3.入口地址登记在中断向量表
4.调用int 19h,惊喜系统引导
5.dos启动,将其提供的中断例程装入内存,并建立中断向量
三。应用(几个例子)
1.置光标
2.在光标位置显字符功能
四。1.ah,传递内部子程序的编号
2.al,返回值
3.bh,显示缓冲区页号
4.bl,颜色属性
5.dh,行号
6.dl,列号
7....
二.bios和dos所提供的中断例程======>
=>1.cpu加电,初始化cs:ip=>0ffff:0
2.执行硬件系统检测和初始化程序
3.入口地址登记在中断向量表
4.调用int 19h,惊喜系统引导
5.dos启动,将其提供的中断例程装入内存,并建立中断向量
三。应用(几个例子)
1.置光标
2.在光标位置显字符功能
四。1.ah,传递内部子程序的编号
2.al,返回值
3.bh,显示缓冲区页号
4.bl,颜色属性
5.dh,行号
6.dl,列号
7....
阅读全文 |
评论次数(0) |
浏览次数(727) |
所属类型(每章总结)
[2010-02-28 20:02] 第十二章 内中断
1.除法错误 (:0)
内中断: 2.单步执行 (:1)
3.执行into指令 (:4)
4.执行int指令 (:n)
传给cpu 执行
中断类型码(标识中断源)=========> cpu ========>
中断过程==========>中断处理程序
|<====================|
中断处理程序起始地址写入入口地址
...
内中断: 2.单步执行 (:1)
3.执行into指令 (:4)
4.执行int指令 (:n)
传给cpu 执行
中断类型码(标识中断源)=========> cpu ========>
中断过程==========>中断处理程序
|<====================|
中断处理程序起始地址写入入口地址
...
阅读全文 |
评论次数(0) |
浏览次数(642) |
所属类型(每章总结)
[2010-01-30 13:24] 第十一章 标志寄存器
一、寄存器的作用:
1)、用来存储相关指令的某些执行结果
2)、用来为cpu执行相关指令提供行为依据
3)、用来控制cpu的相关工作方式
二、标志位
8086cpu提供了0、2、4、6、7、8、9、10、11位状态字
名称 位数 记录
zf: 零标志位 6 指令执行后zf=1,结果为0
zf=0,结果不为0
pf: 奇偶标志 2 bit位中1的个数为偶数,pf=1
为奇数,...
1)、用来存储相关指令的某些执行结果
2)、用来为cpu执行相关指令提供行为依据
3)、用来控制cpu的相关工作方式
二、标志位
8086cpu提供了0、2、4、6、7、8、9、10、11位状态字
名称 位数 记录
zf: 零标志位 6 指令执行后zf=1,结果为0
zf=0,结果不为0
pf: 奇偶标志 2 bit位中1的个数为偶数,pf=1
为奇数,...
阅读全文 |
评论次数(0) |
浏览次数(703) |
所属类型(每章总结)
[2010-01-09 23:37] 第十章 call和ret
1.ret与retf
ret:相当于pop ip
retf:相当于pop ip 、pop cs
2.各种call指令
call 标号:相当于push ip
jmp near ptr 标号
call far ptr 标号: 相当于push ip
push cs
jmp far ptr 标号
call 16位reg:相当于push ip
jmp 16位reg
call word ptr 内存单元地址:相当于push ip
...
ret:相当于pop ip
retf:相当于pop ip 、pop cs
2.各种call指令
call 标号:相当于push ip
jmp near ptr 标号
call far ptr 标号: 相当于push ip
push cs
jmp far ptr 标号
call 16位reg:相当于push ip
jmp 16位reg
call word ptr 内存单元地址:相当于push ip
...
阅读全文 |
评论次数(0) |
浏览次数(306) |
所属类型(每章总结)
[2010-01-04 12:05] 第九章 转移指令的原理
1.无条件转移指令(jmp)
2.条件转移指令(jcxz)
转移指令分类: 3.循环指令(loop)
4.过程
5.中断
功能
段 |jmp short 标号 ;(ip)=(ip)+8位位移
内 |jmpnear ptr 标号 ;(ip)=(ip)+16位位移
转 |jmp word ptr 内存单元 ;(内存单元)=目的ip
移 |jmp 某一合法寄存...
2.条件转移指令(jcxz)
转移指令分类: 3.循环指令(loop)
4.过程
5.中断
功能
段 |jmp short 标号 ;(ip)=(ip)+8位位移
内 |jmpnear ptr 标号 ;(ip)=(ip)+16位位移
转 |jmp word ptr 内存单元 ;(内存单元)=目的ip
移 |jmp 某一合法寄存...
阅读全文 |
评论次数(0) |
浏览次数(315) |
所属类型(每章总结)
[2009-12-24 21:08] 第七章 更灵活的定位内存地址的方法
1.寻址方式[bx(si和di)+idata][bx+si(di)][bx+si(di)+idata]
的意义和应用。
①.[idata]用一个常量表示地址,直接定位内存。
②.[bx]用一个变量表示地址,间接定位内存。
③.[bx+idata]用变量+常量表示地址,可在起始地址基础上间接定位内存。
④.[bx+si]用两变量表示地址。
⑤.[bx+si+idata]用两变量和一个常量表示地址。
2.二重循环问题的处理
r=第一行地址 c=第一列地址
第一重循环 mov cx,次数 ...
的意义和应用。
①.[idata]用一个常量表示地址,直接定位内存。
②.[bx]用一个变量表示地址,间接定位内存。
③.[bx+idata]用变量+常量表示地址,可在起始地址基础上间接定位内存。
④.[bx+si]用两变量表示地址。
⑤.[bx+si+idata]用两变量和一个常量表示地址。
2.二重循环问题的处理
r=第一行地址 c=第一列地址
第一重循环 mov cx,次数 ...
阅读全文 |
评论次数(0) |
浏览次数(302) |
所属类型(每章总结)
[2009-12-22 09:41] 第五章 几个习题总结下
第五章已经学完了,这章的几个习题我到是觉得挺关键的。总的来说,它们就象一种启迪,一把开门的钥匙。把它们理顺了我们在以后的编程中会得益不少。
1.求N*N
mov ax,0
mov cx,N
s:add ax,N ;求N+N结果在ax中
loop s
2.求一组连续内存单元(单元个数: N)的和
mov cx,N ;循环N次
s:mov al,ds:[bx] ;用16位寄存器做中介,内存8位
mov ah,0 ;数据赋值1...
1.求N*N
mov ax,0
mov cx,N
s:add ax,N ;求N+N结果在ax中
loop s
2.求一组连续内存单元(单元个数: N)的和
mov cx,N ;循环N次
s:mov al,ds:[bx] ;用16位寄存器做中介,内存8位
mov ah,0 ;数据赋值1...
阅读全文 |
评论次数(0) |
浏览次数(268) |
所属类型(每章总结)
[2009-12-20 21:23] 第五章 [bx]和loop指令
5.1 [bx]
描述一个内存单元需要2种信息:地址和长度
mov ax,[bx]
功能:bx中存放的数据作为偏移地址,段地址默认在ds中,将
(ax)=((ds*16)+(bx))放入ax中
5.2 loop指令
loop指令的格式:loop 标号
cpu执行loop指令的时候,要进行两步操作。
1.cx=cx-1
2.判断cx的值,不为零则转至s,否则向下执行
cx和loop循环框架:
mov cx,循环次数
s: 循环体
loop s
例: n+n
mov ax,0
mov cx,...
描述一个内存单元需要2种信息:地址和长度
mov ax,[bx]
功能:bx中存放的数据作为偏移地址,段地址默认在ds中,将
(ax)=((ds*16)+(bx))放入ax中
5.2 loop指令
loop指令的格式:loop 标号
cpu执行loop指令的时候,要进行两步操作。
1.cx=cx-1
2.判断cx的值,不为零则转至s,否则向下执行
cx和loop循环框架:
mov cx,循环次数
s: 循环体
loop s
例: n+n
mov ax,0
mov cx,...
阅读全文 |
评论次数(0) |
浏览次数(281) |
所属类型(每章总结)
[2009-12-15 09:14] 第四章 一个源程序从写出到执行的过程
1.伪指令
2.源程序中的程序
3.标号
第一步{汇编源程序} 4.程序的结构
5.程序的返回
6.语法与逻辑错误
1.定义一个段
2.写入汇编指令,实现任务
程序的结构 3.指出何处结束
4.将段...
2.源程序中的程序
3.标号
第一步{汇编源程序} 4.程序的结构
5.程序的返回
6.语法与逻辑错误
1.定义一个段
2.写入汇编指令,实现任务
程序的结构 3.指出何处结束
4.将段...
阅读全文 |
评论次数(0) |
浏览次数(300) |
所属类型(每章总结)