这章的内容比较少,主要就是几个命令:in、out、shl、shr。cmos的端口号为70和71,通过这两个端口号相互配合就可以读写cmos ram中的内存单元。书中提到了存放年、月、日、时、分、秒的内存单元号为9、8、7、4、2、0,所以实验14也就比较简单了。
定址方式就借鉴了实验13中的,这种方法确实不错。
【代码】
assume cs:code
code segment
str: db '// :: '
row: db 9,8,7,4,2,0
start: mov ax,cs
mov ds,ax
mov ax,...


- [lhjoanna] 复杂问题简单化,博主可以这样想,之前学过了中断例程的编写与安装,这章所讲的也就是中断例程的编写与安装 02/10 21:29
- [stategrid] 数据与程序相分离。让程序清晰了很多 02/09 13:41
- [stategrid] http://www.asmedu.net/blog/user/postcontent.jsp?ne 02/09 13:27
- [stategrid] 怎么都不对齐了呀? 02/08 17:39
- [stategrid] 就担心基础不牢, 所以一边复习一边再向前进。呵呵 02/06 01:01
- [stategrid] 是呀。正准备呢,呵呵 02/06 00:58
- [游客] 不错,博主说的对。所有的检测点和实验必须自己动手做一边,否则,真的是“水过地皮湿”了,没有什么收获的 02/05 16:27
- [游客] 不错。准备开始课程设计1吧。有了前面的这几个子程序的基础,会好弄的多啦。 努力~~ 02/05 16:21
- [stategrid] 是呀。第二次做由于不知道 是哪道题做错了所以每一步都有去看。终于找出了原先错的地方 02/05 15:52
- [游客] 你的感觉其实就是检测题制度的设计原则。 02/05 15:19
[2009-02-09 12:17] 【实验14】访问CMOS RAM
阅读全文 |
作者:lhjoanna |
评论次数(1) |
浏览次数(1226)
[2009-01-30 01:20] 第十章call和ret指令
检测点10.1
补全程序,实现从内存1000:0000处开始执行指令。
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000H
----------
push ax
mov ax,0000H
----------
push ax
retf
code ends
end start
检测点10.2
...
补全程序,实现从内存1000:0000处开始执行指令。
assume cs:code
stack segment
db 16 dup (0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,1000H
----------
push ax
mov ax,0000H
----------
push ax
retf
code ends
end start
检测点10.2
...
阅读全文 |
作者:gsyangchao |
评论次数(4) |
浏览次数(1570)
页码数(1):
1