实验 四 [bx]和loop的使用
1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H。
代码
assume cs:code
code segment
mov ax,0b800h
mov ds,ax
mov bx,07b8h
mov cx,16
s:mov [bx],0403h
add bx,2
loop s
mov ax ,4c00h
int 21h
code ends
end
2. 综合使用 loop,[bx],编写完整汇编源程序,实现向内存 0:200~0:23F 依次传送数据 0~63(3FH)。
(1)必做:综合使用loop, [bx], mov实现
(2)选做*:利用栈的特性,综合使用 loop,push 实现(限定仅使用 8086 中已学过 指令实现)
(1)代码
assume cs:code
code segment
mov ax,0
mov ds,ax
mov bx,200h
mov cx,64
s:mov [bx],al
inc bx
inc al
loop s
mov ax,4c00h
int 21h
code ends
end
(2)代码
assume cs:code
code segment
mov ax,0020h
mov ss,ax
mov sp,40h
mov bh,3fh
mov bl,3eh
mov cx,20h
s:push bx
add bh,-2
add bl,-2
loop s
mov ax,4c00H
int 21H
code ends
end
3. 教材实验4(3)(P121)
第一空:cs
第二空:0017h
代码:
assume cs:code
code segment
mov ax,cs cs段寄存器中存储的是指向程序代码段的段地址。此实验是将程序的代码(按字节)复制,故将cs寄存器中的指向代码的段地址赋值给ax,再通过ax寄存器赋值给ds段寄存器。
mov ds,ax
mov ax,0020H
mov es,ax
mov bx,0
mov cx,0017H mov ax,4cooh/int 21h它们共占用了5个字节。所以在本实验中我们需要复制的代码字节数是001CH-0005H=0017H
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00H
int 21H
code ends
end
最新文章
- git 创建分支 并 提交到远程分支
- 锋利的js之验证身份证号
- Java里正则表达式
- MagicalRecord,一个简化CoreData操作的工具库
- 安装 Oracle P6 EPPM 16 R1 database for 12C A
- java 文件text的写入
- ubuntu中安装samba 分类: linux 学习笔记 ubuntu 2015-07-07 16:14 46人阅读 评论(0) 收藏
- Linux oracle 11g r2 安装前检查及安装
- 关于闹钟设置AlarmManager类方法参数解释
- asp.net 自定义的模板方法接口通用类型
- 情景linux—不曾了解的cat用法
- Python基础-week05
- ES6躬行记(6)——Symbol
- poj1088(记忆化搜索入门题)
- redis 配置步骤
- PHP文本式留言板——php经典实例
- Spring EL方法调用实例
- C++面向对象高级编程(四)基础篇
- 图像增强:直方图均衡和小波变换【matlab】
- [Python] Send emails to the recepients specified in Message[";CC";]
热门文章
- [MySQL-1]排他锁、共享锁、意向锁、更新锁、乐观锁、悲观锁和常用的几个MYSQL存储引擎
- KingbaseES V8R3集群维护案例之---pcp_node_refresh应用
- openssl常用操作
- vue3文档学习
- 查找大文件-清理linux磁盘
- 230222 Radiated Immunity Pre-compliance Test
- [js函数] shallowEqual
- SpringBoot整合MyBatis-Plus详细使用方法
- SpringMVC文件上传详解
- docker compose设置不同容器间通信