;(2)编写并安装int 7ch中断例程,功能为完成loop指令的功能。
;参数:(cx)=循环次数,(bx)=位移
assume cs:code
code segment
start:mov ax,0
mov es,ax
mov di,200h ;es:di指向目标地址
mov ax,cs
mov ds,ax
mov si,offset S7C ;ds:si指向源操作数,int 7ch中断
mov cx,offset S7Cend-offset S7C ;要传送的长度
cld ;正向传送
rep movsb ;开始传送
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mov word ptr es:[7ch*4],200h
mov word ptr es:[7ch*4+2],0 ;设置中断向量表
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mov ax,0b800h
mov es,ax
mov di,160*2 ;设置显存地址
mov bx,offset s-offset se ;bx放模拟loop的偏移地址
mov cx,80 ;显示数量
s:mov byte ptr es:[di],'!' ;开始显示
add di,2
int 7ch ;调用int 7ch循环显示
se:nop
mov ax,4c00h
int 21h ;程序结束
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
S7C:push bp ;中断程序开始
mov bp,sp
dec cx
jcxz OK
add [bp+2],bx
OK:pop bp
iret
S7Cend:nop
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
code ends
end start
- [somniumchase] 大佬NB,不知道为什么,我在dosbox里面运行,那个笑脸显示在左上角,而且还卡住了 01/01 11:40
- [runxsystem] smaile.asm:2: error: parser: instruction expected 07/18 10:27
- [游客] 你说你妈呢 06/04 15:11
- [zkkpkk] 注意日期,很早以前的代码了,谁都一样,谁在第一个项目就写得漂亮的 05/11 11:56
- [qqqun238564439] 厉害! 04/10 10:54
- [游客] 二〇一五年六月七日 16:23:17 06/07 16:23
- [游客] 说句实话,代码写的非常垃圾。你缺乏基本的编程素养,不积跬步无以至千里,建议先把基础打扎实。 03/25 13:48
- [游客] www.aibiancheng.cn 爱编程 02/20 21:21
- [dreamsever] 大神,请问汇编语言可以编写或者调用窗口吗 12/19 19:19
- [dgkepu] 佩服佩服!!!谢谢分享! 12/06 06:57
- [qqqun238564439] 非常好 04/10 10:50
- [dreamsever] 求帮助,大神,请问汇编语言可以编写或者调用窗口吗,怎么实现,给点指导性的提示吧。 12/19 19:21
- [xiaofan086] 你好,本人初学汇编,请问汇编需要什么编译环境,即相应的软件等等,谢谢 01/03 15:02
- [hl458461178] 求帮助 如何让一个程序循环1000次 循环到255次后就与自己的思路叉开了 10/11 12:15
- [lizhengyong1217] 汇编学几回了,都是学着学着放弃了。由于立志做一名优秀的嵌入式编程人员,为了移植系统的需要,不得不,再 04/04 08:57