assume cs:code
code segment
setting:mov ax,cs
mov ds,ax
mov si,offset myloop
mov ax,20h
mov es,ax
mov di,0
mov cx,offset end_myloop-offset myloop
cld
rep movsb
mov ax,0
mov es,ax
mov word ptr es:[4*7ch],0
mov word ptr es:[4*7ch+2],20h
mov ax,4c00h
int 21h
;================================================
myloop:dec cx
jcxz my_ok
push bp
mov bp,sp
add word ptr [bp+2],bx
pop bp
my_ok:iret
end_myloop:nop
code ends
end setting
;=================以上是安装程序=======================
assume cs:code
code segment
start:mov ax,0b800h
mov es,ax
mov di,160*12
mov bx,offset s-offset se
mov cx,80
s:mov byte ptr es:[di],'!'
add di,2
int 7ch
se:nop
mov ax,4c00h
int 21h
code ends
end start
;==============以上调用中断例程====================
由于我是在虚拟机虚拟的纯DOS环境下调试的,所以可以不把安装程序和调用程序写在一起,先执行安装程序后执行调用程序就能看到效果了,因为安装程序把数据装入内存,安装程序退出后内存不会被清理,所以在调用程序执行中断过程的时候,中断向量指向的中断例程的地指出并不会发生变化,但是在WINDOWS环境下需要把这两段程序结合在同一个源文件下编译连接之后才能达到效果
- 【WIN32汇编教程】(第一课)配置出WIN32汇编的开发环境
- 欢迎加入编程论坛:www.ghostasm.com 我们提供大量工具和学习的资料。VIP3高级群:89366200
- 在学汇编的来加群
- 为什么因为溢出导致了实际结果为负,那么逻辑上真正的结果必然为正呢?
- 第6章 实验5 第二题
- 【WIN32汇编教程】(第四课)编写出第一个“hello ghosthouse”程序
- 【WIN32汇编教程】(第三课)了解win32汇编程序的基本结构
- 【WIN32汇编教程】(第二课)Makefile文件的编写和nmake工具的使用
- 欢迎加入编程论坛:www.ghostasm.com 我们提供大量工具和学习的资料。VIP3高级群:89366200
- 欢迎加入编程论坛:www.ghostasm.com 我们提供大量工具和学习的资料。VIP3高级群:89366200