安装一个新的 int 7ch 中断例程,为显示输出提供如下功能子程序。
(1)清屏;
(2)设置前景色;
(3)设置背景色;
(4)向上滚动一行。
入口参数说明如下。
(1)用ah寄存器传递功能号:0 表示清屏,1 表示设置前景色,2 表示设置背景色,3 表示向上滚动一行;
(3)对于2、3号功能,用al传送颜色值,(al)∈{0,1,2,3,4,5,6,7}。
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,...
- [nk1] 忘登录了,汗... 04/06 19:10
- [游客] 实验是没难度,但前面标志寄存器 算来算去的 烦啊…… 04/06 19:10
- [游客] 这个试验没什么难度啊,咋还绕晕了... 04/06 16:45
- [nk1] 谢谢提醒 04/05 10:41
- [yangzuhao] 把 mov ax,0b800h mov ds,ax mo 04/04 23:41
- [tomato] 恭喜课设一的完成。 04/03 21:31
- [tomato] 恭喜课设一的完成。 04/03 21:31
[2010-04-09 12:09] 实验16
阅读全文 |
评论次数(0) |
浏览次数(529) |
所属类型(汇编作业)
[2010-04-08 13:13] 实验15
安装一个新的 int9 中断例程,功能:在DOS下,按下“A”键后,除非不再松开,如果松开,就显示满屏的“A”;其他的键照常处理。
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offs...
assume cs:code
stack segment
db 128 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,128
push cs
pop ds
mov ax,0
mov es,ax
mov si,offset int9
mov di,204h
mov cx,offset int9end-offs...
阅读全文 |
评论次数(0) |
浏览次数(528) |
所属类型(汇编作业)
[2010-04-08 09:55] 课程设计1.NEW
所有程序中,我写的最烂的就是这个课程设计1了,烂到自己都看不下去了,昨天看到坛子上有位兄弟的课程设计1,给了我启发,以前我太执着于实验7了,非要用实验7的程序硬套。
于是今天抽空重新写了一个,这次仅仅使用了20多分钟就写好了。
下面程序有些寄存器与代码纯粹多余,写完之后也懒的修改了。
assume cs:code
code segment
ss1: db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989'...
于是今天抽空重新写了一个,这次仅仅使用了20多分钟就写好了。
下面程序有些寄存器与代码纯粹多余,写完之后也懒的修改了。
assume cs:code
code segment
ss1: db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989'...
阅读全文 |
评论次数(0) |
浏览次数(611) |
所属类型(汇编作业)
[2010-04-07 13:48] 实验14
编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。
assume cs:code
code segment
start: mov ax,0b800h
mov es,ax
mov dl,9
mov di,0
mov cx,3
s: push cx
mov al,dl
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov byte ptr es:[16...
assume cs:code
code segment
start: mov ax,0b800h
mov es,ax
mov dl,9
mov di,0
mov cx,3
s: push cx
mov al,dl
out 70h,al
in al,71h
mov ah,al
mov cl,4
shr ah,cl
and al,00001111b
add ah,30h
add al,30h
mov byte ptr es:[16...
阅读全文 |
评论次数(0) |
浏览次数(535) |
所属类型(汇编作业)
[2010-04-06 15:00] 实验十三(3)
3、下面的程序,分别在屏幕的第2、4、6、8 行显示4句英文诗,补全程序。
assume cs:code
code segment
s1: db 'Good,better,best,','$'
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s: dw offset s1,offset s2,offset s3,offset s4
row:db 2,4,6,8
start: mov ax,cs
mov ds,ax...
assume cs:code
code segment
s1: db 'Good,better,best,','$'
s2: db 'Never let it rest,','$'
s3: db 'Till good is better,','$'
s4: db 'And better,best.','$'
s: dw offset s1,offset s2,offset s3,offset s4
row:db 2,4,6,8
start: mov ax,cs
mov ds,ax...
阅读全文 |
评论次数(0) |
浏览次数(537) |
所属类型(汇编作业)
[2010-04-06 14:46] 实验十三(2)
2、编写并安装 int 7ch 中断例程,功能为完成loop指令的功能.
参数:(cx)=循环次数,(bx)=位移.
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset lp
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lpend-offset lp
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr ...
参数:(cx)=循环次数,(bx)=位移.
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset lp
mov ax,0
mov es,ax
mov di,200h
mov cx,offset lpend-offset lp
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[7ch*4],200h
mov word ptr ...
阅读全文 |
评论次数(0) |
浏览次数(576) |
所属类型(汇编作业)
[2010-04-06 14:27] 实验十三(1)
根据实验10的子程序修改而来
1、编写并安装 int 7ch 中断例程,功能为显示一个用0结束的字符串,中断例程安装在 0:200 处。
参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址.
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset show_str
mov ax,0
mov es,ax
mov di,200h
mov cx,offset show_strend-offset show_str
cld
rep mov...
1、编写并安装 int 7ch 中断例程,功能为显示一个用0结束的字符串,中断例程安装在 0:200 处。
参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址.
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset show_str
mov ax,0
mov es,ax
mov di,200h
mov cx,offset show_strend-offset show_str
cld
rep mov...
阅读全文 |
评论次数(0) |
浏览次数(498) |
所属类型(汇编作业)
[2010-04-05 13:06] 实验12
这个实验纯粹根据书上程序修改而来...
编写0号终端的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回DOS。
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[0*...
编写0号终端的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回DOS。
assume cs:code
code segment
start: mov ax,cs
mov ds,ax
mov si,offset do0
mov ax,0
mov es,ax
mov di,200h
mov cx,offset do0end-offset do0
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[0*...
阅读全文 |
评论次数(0) |
浏览次数(519) |
所属类型(汇编作业)
[2010-04-04 12:27] 实验11
这章看的比较吃力,转来转去晕了都,所以多花了点时间.但依然不是太理解,实验勉强写出来了.
名称:letterc
功能:将以0结尾的字符串中的小写字母转变成大写字母
参数:ds:si 指向字符串首地址
应用举例:
assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begin: mov ax,datasg
mov ds,ax
mov si,0
call letterc
...
名称:letterc
功能:将以0结尾的字符串中的小写字母转变成大写字母
参数:ds:si 指向字符串首地址
应用举例:
assume cs:codesg
datasg segment
db "Beginner's All-purpose Symbolic Instruction Code.",0
datasg ends
codesg segment
begin: mov ax,datasg
mov ds,ax
mov si,0
call letterc
...
阅读全文 |
评论次数(3) |
浏览次数(787) |
所属类型(汇编作业)
[2010-04-01 18:52] 课程设计1
6个小时啊,终于做出来了,反复调试N次,泪流满面……
任务:将实验7中的 Power idea 公司的数据按照图10.2所示的格式在屏幕上显示出来。
assume cs:codesg,ds:data,ss:stack,es:table
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...
任务:将实验7中的 Power idea 公司的数据按照图10.2所示的格式在屏幕上显示出来。
assume cs:codesg,ds:data,ss:stack,es:table
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...
阅读全文 |
评论次数(2) |
浏览次数(762) |
所属类型(汇编作业)
『 查看更多文章 』