zoukankan      html  css  js  c++  java
  • 实验五

    (1)程序返回前,data段中的数据:

    程序返回前,cs=076c,ss=076b,ds=076a

    code段地址为X,data段地址为X-2,stack段地址为X-1

    (2)程序返回前,data段中的数据:

    程序返回前,cs=076c,ss=076b,ds=076a

    code段的段地址为X,则data段地址为X-2,stack段地址为X-1

    对定义如下的段:

    name segment:

    ...

    name ends

    若段中数据占N个字节,则程序加载后,该段实际占有的空间:(N/16+1)*16

    (3)

    程序返回前,data段中的数据:

     

    程序返回前,cs=076a,ss=076e,ds=076d

    code段的段地址为X,则data段地址为X+3,stack段地址为X+4

    (4)

    题(3)中的可以顺利执行,因为题(3)中代码段放在第一位,若不指明程序入口,默认第一个为程序入口。

    (5)

    源代码 :

    assume cs:code
    a segment
        db 1,2,3,4,5,6,7,8
    a ends
    
    b segment
        db 1,2,3,4,5,6,7,8
    b ends
    
    c segment
        db 0,0,0,0,0,0,0,0
    c ends
    
    code segment
    start:    
        mov cx,8
        mov bx,0
    
    s:             
        mov dl,0
        mov ax,a
        mov ds,ax
        add dl,[bx]
        
        mov ax,b
        mov ds,ax
        add dl,[bx]
    
        mov ax,c
        mov es,ax
        mov es:[bx],dl
    
        inc bx
    loop s
    
    mov ax,4c00h
    int 21h
    
    code ends
    end start

    截图:

    未运行前:

    运行后:

    经过验证,实验数据确实相加了。

    (6)源代码:

     1 assume cs:code
     2 a segment
     3     dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
     4 a ends
     5 
     6 b segment
     7     dw 0,0,0,0,0,0,0,0
     8 b ends
     9 
    10 code segment
    11 start:
    12     mov cx,8
    13     mov ax,a
    14     mov ds,ax
    15     mov ax,b
    16     mov ss,ax
    17     mov sp,10h
    18     mov bx,0
    19     
    20 s:
    21     push [bx]
    22     add bx,2
    23 loop s
    24 
    25     mov ax,4c00h
    26     int 21h
    27 code ends
    28 end start

    实验结果截图:

    由图可知,运行前b段都为0,运行后将这八个字型数据逆序存入该段中。

    二.总结与体会

    在这一块中,我更多学习了关于多个段的程序编写的方法,而且了解到各个程序段我们该学会如何去安排他们。

    通过不同段的存放,避免了长度不能超过64kb的问题,还是很实用的。

  • 相关阅读:
    Django ORM操作
    django路由系统
    django(模版)
    mysql(函数,存储过程,事务,索引)
    mysql(单表查询,多表查询,MySQl创建用户和授权,可视化工具Navicat的使用)
    pycharm基本用法
    JS在浏览器中输出各种三角形
    异常处理,内置方法(__new__,__init__,__del__析构方法,单例模式,item系列)
    反射,内置方法,__str__ __repr__
    C. Swap Letters 01字符串最少交换几次相等
  • 原文地址:https://www.cnblogs.com/xcss831/p/10015730.html
Copyright © 2011-2022 走看看