[2010-04-22 22:13] 实验14
几天没看书了,今天终于把实验14鼓捣出来了,走了不少弯路啊.555555555555
Assume cs:code
Data segment
Db 'yy/mm/dd hh:mm:ss','$' ;长度18字节
Db 9,8,7,4,2,0
Data ends
Stack segment
Db 128 dup (0)
Stack ends
Code segment
Start:
Mov ax,data
Mov ds,ax
Mov bx,0
Mov si,0
Mov cx,6
S:
Push cx
Mov al,[si+18]
O...
Assume cs:code
Data segment
Db 'yy/mm/dd hh:mm:ss','$' ;长度18字节
Db 9,8,7,4,2,0
Data ends
Stack segment
Db 128 dup (0)
Stack ends
Code segment
Start:
Mov ax,data
Mov ds,ax
Mov bx,0
Mov si,0
Mov cx,6
S:
Push cx
Mov al,[si+18]
O...
阅读全文 |
评论次数(0) |
浏览次数(420) |
所属类型(汇编作业)
[2010-04-12 21:37] 第13章 (2) 实验
(2) 编写并安装int 7ch中断例程,功能为完成loop指令的功能。
参数:(cx)=循环次数,(bx)=位移。
以上中断例程安装成功后,对下面的程序进行单步跟踪,尤其注意观察int、iret指令执行前后CS、IP和栈中的状态。
在屏幕中间显示80个'!'。
Assume cs:code
Code segment
Start: mov ax,0b800h
Mov es,ax
Mov di,160*12
Mov bx,offset s-offset se ;设置从标号se到标号s的转移位移
...
参数:(cx)=循环次数,(bx)=位移。
以上中断例程安装成功后,对下面的程序进行单步跟踪,尤其注意观察int、iret指令执行前后CS、IP和栈中的状态。
在屏幕中间显示80个'!'。
Assume cs:code
Code segment
Start: mov ax,0b800h
Mov es,ax
Mov di,160*12
Mov bx,offset s-offset se ;设置从标号se到标号s的转移位移
...
阅读全文 |
评论次数(0) |
浏览次数(391) |
所属类型(汇编作业)
[2010-04-11 17:11] 第13章 第(1)个实验
以下为int 7ch中断例程的安装程序
Assume cs:code
Stack segment
Db 32 dup(0)
Stack ends
Code segment
Install: Push ax
Push ds
Push si
Push es
Push di
Push cx
mov ax,cs
Mov ds,ax
Mov si,offset p1
Mov ax,0
Mov es,ax...
Assume cs:code
Stack segment
Db 32 dup(0)
Stack ends
Code segment
Install: Push ax
Push ds
Push si
Push es
Push di
Push cx
mov ax,cs
Mov ds,ax
Mov si,offset p1
Mov ax,0
Mov es,ax...
阅读全文 |
评论次数(0) |
浏览次数(427) |
所属类型(汇编作业)
[2010-04-05 21:54] 第12章 实验
编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回到DOS。
Assume cs:codesg
Codesg segment
Install: ;安装程序
Mov ax, codesg
Mov ds,ax
Mov si, offset p1
Mov ax,0
Mov es,ax
Mov di,0200h
Mov cx,offset p1end - offset p1
Cld
Rep m...
Assume cs:codesg
Codesg segment
Install: ;安装程序
Mov ax, codesg
Mov ds,ax
Mov si, offset p1
Mov ax,0
Mov es,ax
Mov di,0200h
Mov cx,offset p1end - offset p1
Cld
Rep m...
阅读全文 |
评论次数(1) |
浏览次数(454) |
所属类型(汇编作业)
[2010-03-14 00:09] 第十章 课程设计1
Assume cs:code
Data segment
Db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986'
Db '1987','1988','1989','1990','1991','1992','1993','1994','1995'
Dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980
Dd 590827,803530,1183000,1843...
Data segment
Db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986'
Db '1987','1988','1989','1990','1991','1992','1993','1994','1995'
Dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980
Dd 590827,803530,1183000,1843...
阅读全文 |
评论次数(0) |
浏览次数(432) |
所属类型(汇编作业)
[2010-02-22 22:12] 第七章试验
没有看提示,花了我几个小时,终于编出来了,但只用了一重循环(本想用两重的,但把我头都弄大了)。
源程序如下:
Assume CS:codesg
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,2448...
源程序如下:
Assume CS:codesg
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,2448...
阅读全文 |
评论次数(0) |
浏览次数(414) |
所属类型(汇编作业)