美文网首页
汇编语言第三版-检测点13.1

汇编语言第三版-检测点13.1

作者: pingerbufan | 来源:发表于2018-06-25 17:20 被阅读0次
    1. 7ch中断例程所能进行的最大转移位移是 *** -128 ~ 127 *** ,所以是128位。
    
    2. 用7ch中断例程完成 jmp near ptr s(近转移)指令的功能,用bx向中断例程传送转移位移。
       应用举例: `在屏幕第12行,显示data段中以0为结尾的字符串`
    assume cs:code 
    data segment
        db 'conversation',0
    data ends
    
    code segment
        start: mov ax,data
               mov ds,ax
               mov si,0
               mov ax,0b800h    
               mov es,ax
               mov ah,6     ; 字体颜色,橙色
    
            s: cmp byte ptr[si],0
               je ok
               mov bx,140h      ;140h表示第三行,总共25行 (80*25)
               add bx,0ah       ;从第10列开始显示
               mov al,[si]
               mov es:[bx+di],ax
               inc si
               add di,2
    
               mov bx,offset s-offset ok ; s 子程序中 bx 会被多次的赋值,不同的赋值都有不同的作用
               int 7ch  ;7ch向量表所对应的中断例程主要的作用就是设置cs-ip,使它指向 s 处 。从而达到循环的目的
    
          ok:  mov ax,4c00h
               int 21h   
    
    
    code ends
    end start
    
    

    分析:
    1. 首先我们知道中断例程是中断处理程序,它是安装在内存的某处地方,并在中断向量表中登记。所以我们可以把这个题目当做是两个程序,一个是安装程序:中断例程,另一个是主逻辑程序。
    2. “应用举例”当做主逻辑程序,下面们写安装程序。


    安装程序

    assume cs:code
    code segment
        start: mov ax,cs
               mov ds,ax
               mov si,offset content 
               mov ax,0
               mov es,ax
               mov di,200h
               mov cx,offset endContent-offset content
               cld
               rep movsb  ; 正向拷贝指令到es:di处
    
               ; 设置中断向量
               mov ax,0
               mov es,ax
               mov word ptr es:[7ch*4],200h
               mov word ptr es:[7ch*4+2],0    ; 只有被向量表登记了才能算是安装程序,不然只能算是内存中的一段数据。
    
               mov ax,4c00h
               int 21h
    
     content: push bp
              mov bp,sp
              add [bp+2],bx ; 这里bp+2的原因是 因为当前的栈顶是bp,加2表示bp的下一个出栈对象ip。
              pop bp
              iret      ; pop ip, pop cs, popf 
    endContent:nop
    code ends
    end start
    

    总结: 程序先运行安装程序,之后再运行主逻辑程序,这么分开写更加符合题意。

    相关文章

      网友评论

          本文标题:汇编语言第三版-检测点13.1

          本文链接:https://www.haomeiwen.com/subject/ttwyyftx.html