zoukankan      html  css  js  c++  java
  • 8086汇编学习小记王爽汇编语言实验12

    0号中断处理程序,开始安装在0000:0200处的程序最后用死循环导致显示不出‘divided error’,改成直接退出就正常显示了。注意修改ss,sp之间的中断是不响应的。

     1 assume cs : codesg, ss : stacksg
     2 
     3 stacksg SEGMENT
     4     dw 16 dup (0)
     5 stacksg ENDS
     6 
     7 
     8 
     9 codesg SEGMENT
    10 
    11 start:    mov ax, 0
    12     mov es, ax
    13     mov di, 200h
    14     mov ax, cs
    15     mov ds, ax
    16     mov si, offset do0
    17     mov cx, offset do0end - offset do0
    18     cld
    19     rep movsb
    20 
    21     mov ax, 200h
    22     mov es : [0], ax
    23     mov ax, 0
    24     mov es : [2], ax
    25 
    26     mov ax, 4c00h
    27     int 21h
    28 
    29 do0:    jmp short s0
    30     datasg:    db 'divide error!'
    31 s0:    mov ax, 0
    32     mov es, ax
    33     mov ax, 0b800h
    34     mov ds, ax
    35     mov si, 202h
    36     mov di, 12 * 160 + 70
    37     mov cx, 13
    38 s:    mov al, es : [si]
    39     mov [di], al
    40     mov al, 02h
    41     mov [di + 1], al
    42     add di, 2
    43     add si, 1
    44     loop s
    45 
    46     mov ax, 4c00h
    47     int 21h
    48 
    49 do0end:    nop
    50 
    51 codesg ENDS
    52 END start

    注意有segment标识的都是段地址,否则其他标号都是物理地址,offset可取得标号偏移量。虚拟机下除法溢出中断程序变成如下:

  • 相关阅读:
    docker--Dockerfile
    手动制作docker镜像--cnetos:6.9
    docker 容器的网络访问(端口映射)
    docker容器container
    docker镜像
    29 类中的函数重载
    28,友元的尴尬能力
    27,二阶构造模式(构造函数二阶构造)------对象初始化
    21,对象的构造顺序
    算法
  • 原文地址:https://www.cnblogs.com/ACystalMoon/p/2761683.html
Copyright © 2011-2022 走看看