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

实验4 [bx]和loop的使用

时间:2018-11-22 22:32:42      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:oop   代码   strong   假设   结果   sum   使用   长度   数据   

1. 综合使用loop,[bx],编写完整汇编程序,实现向内存b800:07b8 开始的连续16 个

字单元重复填充字数据0403H。

技术分享图片

然后在

masm tt.asm;

link tt.obj;

技术分享图片

屏幕中间出现一排红心。

技术分享图片

将源代码程序中字数据0403H→修改为0441H,运行截图

技术分享图片

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

0~63(3FH)。

(1)必做:综合使用 loop, [bx], mov 实现

(2)选做*:利用栈的特性,综合使用 loop,push 实现(限定仅使用 8086 中已学过

指令实现)

 (1)

技术分享图片

技术分享图片

 技术分享图片

 技术分享图片

(2)

技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

3. 教材实验4(3)(P121) 

 下面的程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200中,补全程序。上机调试,跟踪运行结果。

assume cs:code

code segment

  mov ax,__

  mov ds,ax

  mov ax,0020h

  mov es,ax

  mov bx,0

  mov cx,__

s: mov al,[bx]

  mov es:[bx],al

  inc bx

  loop s

  mov ax,4c00h

  int 21h

code ends

end

其中,第一处空填入cs,指示当前指令的段地址。关于第二个空,先任意假设一个值(假设为 20h),然后使用debug反汇编,可观察到该程序段在“mov ax,4c00h”之前的长度为19h,返回,重设cx的值

技术分享图片

 

 技术分享图片

技术分享图片

 

偏移地址从0000到0014上面

所以长度为14

所以应该是mov cx,14h。

 

技术分享图片

 

 

 技术分享图片

技术分享图片

实验4 [bx]和loop的使用

标签:oop   代码   strong   假设   结果   sum   使用   长度   数据   

原文地址:https://www.cnblogs.com/Fenix-cxf/p/9998095.html

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