汇编语言(王爽第三版)检测点6.1
(2017-04-22 15:37:35)
标签:
汇编王爽it教育 |
分类: 汇编语言(王爽第三版)检测点 |
检测点6.1
(1.)下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:
程序分析:
代码如下:
assume cs:codesg
codesg segment
start:
codesg ends
end start
结果分析:
-d cs:0
0B65:0000
0B65:0010
0B65:0020
在00:00 0f内存中
-d 00:00 0f
0000:0000
在cs:00 0f内存中,已经将原来的数据改写了。
-d cs:00 0f
0B66:0000
2. 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,数据的传送用栈来进行。栈空间设置在程序内。完成程序:
程序分析:
代码如下:
assume cs:codesg
codesg segment
dw 0123H,0456H,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0,0,0 个字单元用作栈空间 ;10 start:
mov ax,cs
建栈在代码段内存中 mov ss,ax ;
初始化栈顶指针 mov sp,24H ;
mov ax,0
mov ds,ax 将都是指向0000段地址的空间 ;
初始化偏移地址 mov bx,0 ;
初始化计数器 mov cx,8 ;
将00:00数据压栈 s: push [bx] ;
将栈内数据弹栈到SS:00~0f pop ss:[bx] ;
add bx,2
loop s
mov ax,4c00H
int 21H codesg ends
end start
程序结果分析:
在cs:00 0f内存中,已经将原来的数据改写了。
-d cs:00 10
0B66:0000
在00:00 0f内存中
0B66:0010
-d 00:00 10
0000:0000