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

实验四

时间:2018-11-19 21:33:20      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:寄存器   sum   完整   地址   ima   com   oop   .com   代码   

三:

任务1:

输入代码:

 1 assume cs:code
 2 code segment
 3 mov ax,0b800h
 4 mov ds,ax
 5 mov bx,07b8h
 6 mov cx,16
 7 s:mov [bx],0403h
 8 add bx,2
 9 loop s
10 mov ax,4c00h
11 int 21h
12 code ends
13 end

运行结果如下:

技术分享图片

符合最终结果要求

// 修改0403h->0441h后 变化为

技术分享图片

 

实验任务2:

综合使用loop [bx],编写完整汇编源程序,实现向内存0:200-0:23f依次传送数据0-3fh

代码:

assume cs:code
code segment
mov ax,0
mov ds,ax
mov bx,200h
mov cx,64
s:mov [bx],ax
add ax,1
add bx,1
loop s
mov ax,4c00h
int 21h
code ends
end

实验结果:

技术分享图片

程序使用t p命令执行

技术分享图片

用g命令执行  (cx-2)为执行到int 21 前的代码段长度

技术分享图片

实验结果是一样的

实验任务3:

先输入代码 因为是复制汇编代码 所以段地址设为cs

同时因为不知道cx长度 先设置为0

技术分享图片

在debug中观察到cx001a 所以cx为1ch

代码如下:

assume cs:code
code segment
mov ax,cs
mov ds,ax
mov ax,0020h
mov bx,0
mov cx,1ah
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end

反汇编观察代码

技术分享图片

用t p命令执行

技术分享图片

用d命令查看确实写入代码

总结:

cx放的是代码段的长度,可以事后观察cx值

对于代码段和数据段等不同概念的区分更加明确了,对不同寄存器的作用更加清楚

 

实验四

标签:寄存器   sum   完整   地址   ima   com   oop   .com   代码   

原文地址:https://www.cnblogs.com/masami/p/9985418.html

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