码迷,mamicode.com
首页 > 其他好文 > 详细

实验五

时间:2018-12-01 00:05:07      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:技术   段地址   def   http   alt   inf   bubuko   add   tar   

1.

assume cs:code, ds:data, ss:stack
data segment
  dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0cbah, 0987h
data ends

stack segment
  dw 0, 0, 0, 0, 0, 0, 0, 0
stack ends

code segment
start: mov ax,stack
    mov ss, ax
    mov sp,16

    mov ax, data
    mov ds, ax

    push ds:[0]
    push ds:[2]
    pop ds:[2]
    pop ds:[0]

    mov ax,4c00h
    int 21h

code ends
end start

 (1)

技术分享图片

还是原来的0123, 0456, 0789, 0abc, 0def, 0fed, 0cba, 0987

(2)

依照上表cs=076C,ss=076B,ds=076A

 (3)

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

段地址的长度为16H

2

assume cs:code, ds:data, ss:stack
data segment
  dw 0123h, 0456h
data ends

stack segment
  dw 0, 0
stack ends

code segment
start: mov ax,stack
    mov ss, ax
    mov sp,16

    mov ax, data
    mov ds, ax

    push ds:[0]
    push ds:[2]
    pop ds:[2]
    pop ds:[0]

    mov ax,4c00h
    int 21h

code ends
end start

技术分享图片

如图,data中的数据依旧为0123, 0456

(2)

cs=076C,ss=076B,ds=076A

(3)

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

(4)\

其实就是程序段的空间分配,不管满不满,都是16h

3.

assume cs:code, ds:data, ss:stack

code segment
start: mov ax,stack
    mov ss, ax
    mov sp,16

    mov ax, data
    mov ds, ax

    push ds:[0]
    push ds:[2]
    pop ds:[2]
    pop ds:[0]

    mov ax,4c00h
    int 21h

code ends
data segment
  dw 0123h, 0456h
data ends

stack segment
  dw 0,0
stack ends
end start

(1)技术分享图片

还是0123, 0456

(2)

cs=076A,ss=076E,ds=076D

code:X,data:X+3,stack:X+4

(3)

还是分配16*N的空间

4.

数据段当成代码段,在编译时不会报错,但在运行时,因为错误的识别代码,所以会错误

5.

 code segment
start:

mov ax,a
mov ds,ax
mov cx,4
mov bx,0

s: mov ax,ds:[bx]
add ax,ds:[bx+10h]
mov ds:[bx+20h],ax
add bx,2
loop s
mov ax,4c00h

    int 21h
code ends
end start

 

 

(6)
 
 assume cs:code
a segment
  dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends

b segment
  dw 8 dup(0)
b ends

code segment
start: 

mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,10h
mov bx,0
mov cx,8

s: push ds:[bx]
add bx,2
loop s
mov ax,4c00h
    int 21h

code ends
end start

技术分享图片

 

实验五

标签:技术   段地址   def   http   alt   inf   bubuko   add   tar   

原文地址:https://www.cnblogs.com/chenshuai2016/p/10046851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!