实验17,包含多个功能号的中断例程
(功能好像不多啊?)
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AX,SEG INTR
MOV DS,AX
MOV SI,OFFSET INTR
MOV AX,0
MOV ES,AX
MOV DI,200H
MOV CX,OFFSET INTREND-OFFSET INTR
CLD
REP MOVSB
MOV AX,0
MOV DS,AX
MO...


- [xiaoguo8705] 听君一席话,胜读十年书!我也很惭愧,但生活不能在惭愧中度过,怎样不让现在的生活不惭愧才是最重要的!加 06/27 19:00
- [游客] 绝对经典,一言惊醒梦中人! 04/11 09:37
- [fescuer] 看了这篇文章,我受益匪浅 08/07 16:41
- [游客] 估计是关了 07/25 16:49
- [游客] 训练营怎么没有消息了,关门了? 07/23 14:06
- [scuzg] 人生的道理似乎很深奥,其实基本为人准则和“绿灯行、红灯停”一样简单直白:早睡早起、锻炼身体、努力学习 07/15 22:53
- [hs1024] 看了这篇文章,惭愧大学里没有学到东西,浪费了四年时光。 07/07 23:57
- [354070900] 我现是一名大一的学生,在大学生活中,使我最有感触的是,命运掌握在自己的手中; 07/02 16:24
- [游客] 是啊,可又有几个人学会去珍惜呢? 06/30 17:44
- [xingjing1986] 说的非常好,用行动来体现文章的价值最重要。 06/22 17:27
- [游客] 62186588 是汇编交流群的群号 02/01 22:08
- [younggay] 怎么什么都没有啊?~ 早crazyman博客里,看到你想要《汇编语言(第2版)》的电子书,那个文件 12/10 11:04
[2009-01-11 22:30] 实验17 包含多个功能号的中断例程
阅读全文 |
评论次数(1) |
浏览次数(687) |
所属类型(汇编作业)
[2009-01-10 00:03] 实验16 多功能中断例程
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AX,SEG INTR
MOV DS,AX
MOV SI,OFFSET INTR
MOV AX,0
MOV ES,AX
MOV DI,200H
MOV CX,OFFSET INTREND-OFFSET INTR
CLD
REP MOVSB
MOV AX,0
MOV DS,AX
MOV SI,7CH*4
MOV AX,200H
MOV [...
ASSUME CS:CODE
START:
MOV AX,SEG INTR
MOV DS,AX
MOV SI,OFFSET INTR
MOV AX,0
MOV ES,AX
MOV DI,200H
MOV CX,OFFSET INTREND-OFFSET INTR
CLD
REP MOVSB
MOV AX,0
MOV DS,AX
MOV SI,7CH*4
MOV AX,200H
MOV [...
阅读全文 |
评论次数(2) |
浏览次数(864) |
所属类型(汇编作业)
[2009-01-07 22:29] 实验15 写新中断(探讨)
直接在windows中好像改不了9号中断向量,受保护的。
所以下面的程序没经过调试,恳请大家给我指错.....
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AX,SEG INTR
MOV DS,AX
MOV SI,OFFSET INTR
MOV AX,0
MOV ES,AX
MOV DI,204H
MOV CX,S4-OFFSET INTR
CLD
REP MOVSB
PUSH ES:[9*4]
POP ES:[200H]
PU...
所以下面的程序没经过调试,恳请大家给我指错.....
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AX,SEG INTR
MOV DS,AX
MOV SI,OFFSET INTR
MOV AX,0
MOV ES,AX
MOV DI,204H
MOV CX,S4-OFFSET INTR
CLD
REP MOVSB
PUSH ES:[9*4]
POP ES:[200H]
PU...
阅读全文 |
评论次数(2) |
浏览次数(695) |
所属类型(汇编作业)
[2009-01-07 15:12] 实验14 显示日期和时间
当看到这个实验时,我把它看成有两部分组成:一、依次从端口读取数据;二、将读取的数据显示出来
第一部分可以用一个循环以简化程序,因此要把端口单元号存在数据段;第二部分,每次显示的代码都一样,因此可以用一个子程序来实现。
分隔符的显示:每次数据显示后,显示什么样的分隔符或要不要显示,与当前显示第几个数有关,所以可以根据CX的值来控制分隔符显示
有了上述分析后,就可以开始写代码了:
DATA SEGMENT
DB 9,8,7,4,2,0 ;要读取单元号
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
M...
第一部分可以用一个循环以简化程序,因此要把端口单元号存在数据段;第二部分,每次显示的代码都一样,因此可以用一个子程序来实现。
分隔符的显示:每次数据显示后,显示什么样的分隔符或要不要显示,与当前显示第几个数有关,所以可以根据CX的值来控制分隔符显示
有了上述分析后,就可以开始写代码了:
DATA SEGMENT
DB 9,8,7,4,2,0 ;要读取单元号
DATA ENDS
CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX
M...
阅读全文 |
评论次数(1) |
浏览次数(687) |
所属类型(汇编作业)
[2009-01-07 09:46] 实验12 除法溢出中断
这个实验实际上就是书上讲的例子,搬过来就行了,前提是真正理解透了
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AX,SEG INTR
MOV DS,AX
MOV SI,OFFSET INTR
MOV AX,0
MOV ES,AX
MOV DI,200H
MOV CX,OFFSET INTREND-OFFSET INTR
CLD
REP MOVSB
MOV AX,0
MOV DS,AX
MOV SI,0
MOV AX,20...
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AX,SEG INTR
MOV DS,AX
MOV SI,OFFSET INTR
MOV AX,0
MOV ES,AX
MOV DI,200H
MOV CX,OFFSET INTREND-OFFSET INTR
CLD
REP MOVSB
MOV AX,0
MOV DS,AX
MOV SI,0
MOV AX,20...
阅读全文 |
评论次数(2) |
浏览次数(782) |
所属类型(汇编作业)
[2009-01-06 21:32] 实验11 编写子程序
感觉这个程序好简单,不想多说什么,大家都会也没什么好讲.......
DATA SEGMENT
DB "Beginner's All-purpose Symbolic Instruction Code.",0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV SI,0
CALL LETTERC
MOV AH,4CH
INT 21H
LETTERC:
PUSH AX
OK3...
DATA SEGMENT
DB "Beginner's All-purpose Symbolic Instruction Code.",0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV SI,0
CALL LETTERC
MOV AH,4CH
INT 21H
LETTERC:
PUSH AX
OK3...
阅读全文 |
评论次数(1) |
浏览次数(691) |
所属类型(汇编作业)
[2008-12-31 10:37] 课设一(完成与交流)
看到这次课设的题目时,第一感觉是应该不怎么难:一、充分利用实验十中的三个字程序,就可以显示,转化,求商;二、用一个大循环,循环而是一次。我的思路就是这样的,很简洁;但在过程中还是挺麻烦的,跟上个实验一样,有限的寄存器被多次使用或调用,一不小心该保留的值就被改了。我以前也遇到过这情况,还反省过;直到这次我才明白:这么个小小的问题还真有学问和深度呢!如果能很好的处理这个,课设就没问题了!
先说一下三个字程序的细微变化吧,我在上一篇“实验十改进--三合一”中改进的三个字程序,只需加上寄存器值保护就可以直接拿来用(改进之处不再重复);原SHOW_STR显示DS:SI开始的字符串,现将...
先说一下三个字程序的细微变化吧,我在上一篇“实验十改进--三合一”中改进的三个字程序,只需加上寄存器值保护就可以直接拿来用(改进之处不再重复);原SHOW_STR显示DS:SI开始的字符串,现将...
阅读全文 |
评论次数(0) |
浏览次数(376) |
所属类型(汇编作业)
[2008-12-26 21:58]
实验10----三个子程序与学习
弄了好久才出来,嘿,惭愧!惭愧!
其实这个程序大概结构书上都已经给出了,要编写出来并不困难,但要注意些细节的地方,特别是各个寄存器的值和它们之间的关系。这个程序的一个重要特点就是各寄存器重复交错使用,好容易搞错的!我就吃了这个亏:我原来CL(颜色数据)是放在主程序中的,即在SHOW_STR 外,结果‘Welcome...‘能够正常显示,但DTOC中调用show_str显示12666时,却是一串黑条,完全不对(可正常编译)!所以我就先检查dtoc,然后是检查整个程序,一遍又一遍,都没查出来,我几乎要崩溃了!!后来才偶然发现在dtoc 中cl(颜色)的值被改了,改过来之后就正确啦,呵呵 ...
其实这个程序大概结构书上都已经给出了,要编写出来并不困难,但要注意些细节的地方,特别是各个寄存器的值和它们之间的关系。这个程序的一个重要特点就是各寄存器重复交错使用,好容易搞错的!我就吃了这个亏:我原来CL(颜色数据)是放在主程序中的,即在SHOW_STR 外,结果‘Welcome...‘能够正常显示,但DTOC中调用show_str显示12666时,却是一串黑条,完全不对(可正常编译)!所以我就先检查dtoc,然后是检查整个程序,一遍又一遍,都没查出来,我几乎要崩溃了!!后来才偶然发现在dtoc 中cl(颜色)的值被改了,改过来之后就正确啦,呵呵 ...
阅读全文 |
评论次数(1) |
浏览次数(886) |
所属类型(汇编作业)
[2008-12-14 13:18] 实验九--显示字符串全过程
在写实验九的具体程序之前,应该将所给的资料读懂透,这包括显示器显示的内容在缓存中的对应位置及其属性位置;要显示的字符的属性的二进制数是多少;显示器缓存的偏移地址和段地址怎么设置;数据段怎么与显存内字符地址对应起来(这点最关键),我个人认为以上是这个程序编写的主要内容,将这几个部分很好的结合起来就能写出完整的程序,但是方法绝对不止一种,每个人都有自己编写的习惯和思维。
下面是我编写的程序:(拿来与大家分享一下,调试过的)
------------------
DATA SEGMENT
DB 'welcome to masm!'
DATA ENDS
CODE SEGMENT...
下面是我编写的程序:(拿来与大家分享一下,调试过的)
------------------
DATA SEGMENT
DB 'welcome to masm!'
DATA ENDS
CODE SEGMENT...
阅读全文 |
评论次数(1) |
浏览次数(403) |
所属类型(汇编作业)
[2008-12-13 13:21]
实验七--程序+注释+调试结果+总结
实验七的完整程序如下:
----------------------(不足之处,请批评指正)
DATA SEGMENT
DB '1975','1976','1977','1978','1979','1980','1981','1982','1983'
DB '1984','1985','1986','1987','1988','1989','1990','1991','1992'
DB '1993','1994','1995'
DD 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
DD 345...
----------------------(不足之处,请批评指正)
DATA SEGMENT
DB '1975','1976','1977','1978','1979','1980','1981','1982','1983'
DB '1984','1985','1986','1987','1988','1989','1990','1991','1992'
DB '1993','1994','1995'
DD 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
DD 345...
阅读全文 |
评论次数(6) |
浏览次数(1072) |
所属类型(汇编作业)