汇编语言 实验12 王爽
程序员文章站
2024-03-23 22:23:22
...
分析:实验12要实现0号中断处理程序,在屏幕中间显示 divide error后返回dos
1,字符串要放在不会被其他数据覆盖并且处理程序能时刻找到的位置,比如处理程序内,这样安装后程序才能找到字符串
2,ds:[si]指向字符串首地址,al保存字符,ah保存属性(红色)
3,es:[di]指向屏幕中间,ax作为输出数据
4,因为返回dos所以用21号中断而不用iret
程序:
start0:call s0 ;计算字节
db 'divide error'
s0: pop si ;指向字符串首地址
mov ax,cs
mov ds,ax
mov ax,0b800h ;指向中间
mov es,ax
mov di,12*160+68
mov ah,4 ;写入显存
mov cx,12
s1: mov al,ds:[si]
mov es:[di],ax
inc si
add di,2
loop s1
mov ax,4c00h ;返回dos
int 21h
end0: nop ;计算字节