毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

王爽汇编12章实验题代码

更新时间:2013-9-17:  来源:毕业论文

王爽汇编12章实验题代码

第12章的实验题:编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串"divide error!",然后返回到DOS.
代码:
Plain Text code?assume cs:code  code segment start:  mov ax,cs         mov ds,ax         mov si,offset do0               ;设置ds:si指向源地址            mov ax,0         mov es,ax         mov di,200h                     ;设置es:di指向目标地址           mov cx,offset do0end-offset do0 ;设置cx为传输长度         cld                             ;设置传输方向为正         rep movsb           mov ax,0         mov es,ax         mov word ptr es:[0*4],200h         mov word ptr es:[0*4+2],0       ;设置中断向量表                      mov ax,4c00h         int 21h   do0:    jmp short do0start         db 'divide error!'      do0start:mov ax,cs          mov ds,ax          mov si,202h                    ;设置ds:si指向字符串             mov ax,0b800h          mov es,ax          mov di,12*160+34*2             ;设置es:di指向显存空间的中间位置               mov cx,13                      ;设置cx为字符串长度 s:       mov al,[si]          mov es:[di],al          inc si          add di,2          loop s             mov ax,4c00h          int 21h     do0end:  nop code ends end start
这样的,要在本程序里才能作用吧,否则这个中断向量会被重置的,所以不会有反应,比如在 mov ax, 4c00h 前加上
Assembly code?12  mov  bl, 0 div  bl
其中第3行的CS和第28行的CS一样吗,第28行的CS怎么解释????不一样的吧,第 3 行是程序执行时,程序自己的 cs;28 行,这里的代码被执行的话,应该是已经被移动到了 0000:0200 处之后的,即 cs 为 0000 了。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。