鱼C论坛

 找回密码
 立即注册
查看: 5534|回复: 1

[学习笔记] 《零基础入门学习汇编语言》实验四

[复制链接]
发表于 2017-7-9 00:16:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 shuiyu 于 2018-1-19 23:24 编辑

越努力,越幸运。欢迎大家来看我的笔记 小白刚学,不对的请各位大佬指正,谢谢

实验4 [bx]和loop的使用

(1) 编程,向内存0:200~0:23f依次传递数据0~63(3fh)。
经检查,本题的CX写错了,应该改为 mov cx,64
1.PNG

(2)编程,向内存0:200~0:23f依次传递数据0~63(3fh),程序中只能使用9条指令,9条指中包括“mov ax,4c00h”和“int 21h”。
经检查,本题的CX写错了,应该改为 mov cx,64
2.PNG


(3)下面的程序功能是将“mov ax,4c00h"之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。
解:
assume cs:code   
code segment   
     mov ax, code ;或mov ax, cs                                 就是让段地址指向存储源程序的代码
                                                                                                (前256 个字节中存放的是PSP还记得吗
     mov ds,ax   
     mov ax,0020h   
     mov es,ax   
     mov bx,0   
     mov cx, 18h   ;或mov cx, 17h    ;或sub cx,5                        就是先随便给cx赋一个值,看一看一共有多少个内存单元,不就OK了?
     s:   mov al,[bx]   
     mov es:[bx],al   
     inc bx   
     loop s   
     mov ax,4c00h   
     int 21h   
code ends   
end

1.先读题,将“mov ax,4c00h"之前的指令复制:其实就是复制这几条命令
     mov ax, code ;或mov ax, cs  
     mov ds,ax   
     mov ax,0020h   
     mov es,ax   
     mov bx,0   
     mov cx, 18h   ;或mov cx, 17h    ;或sub cx,5
s:   mov al,[bx]   
     mov es:[bx],al
     inc bx
     loop s
2.然后就是把上面的几条命令都复制到一个内存段中,这个段的段地址为: 0:200

答案:
1.复制的是什么?范围多大?在上面我已经讲了
2.一共占24个字节;怎么知道的?先随便给cx赋一个值,看一看一共有多少个内存单元,一切不就明白了?
因为本题共有18h=24个内存单元,所以一共有24个字节。


谢谢小甲鱼带来的视频教程,感谢!!


   
本节结束,多谢览阅!
越努力,越幸运。谢谢大家来看我的笔记 小白刚学,不对的请各位大佬指教,谢谢

评分

参与人数 2荣誉 +6 鱼币 +6 贡献 +1 收起 理由
比特阿尔法 + 1 + 1 + 1 感谢楼主无私奉献!
小甲鱼 + 5 + 5 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-2 11:00:39 | 显示全部楼层
谢谢你,对我非常有用,我也是个新手呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 23:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表