[汇编语言]实验:应用更灵活的寻址方式来定位内存地址
实验内容:
(1)将datasg段中每个单词的头一个字母改成大写字母。
datasg段中的数据为:
(2)
将datasg段中每个单词的字母改成大写字母。
datasg段中的数据为:
ibm
dec
dos
vax
(3)
将datasg段中每个单词的前四个字母改成大写字母
datasg段中的数据为:
(1)
变量+常量的方式定位内存地址:
代码如下:
assume cs:codesg,ds:datasgdatasg segmentdb '1. file 'db '2. edit 'db '3. search 'db '4. view ' db '5. options 'db '6. help '
datasg endscodesg segment
start: mov ax,datasgmov ds,axmov bx,0mov cx,6s: mov al,[bx+3]and al,11011111bmov [bx+3],aladd bx,16loop smov ax,4c00hint 21h
codesg ends
end start
(2)
用ds保存cx的值,以达到双层循环的效果。
代码如下:
assume cs:codesg,ds:datasgdatasg segmentdb 'ibm 'db 'dec 'db 'dos 'db 'vax '
datasg endscodesg segment
start: mov ax,datasgmov ds,axmov bx,0mov cx,4s0: mov dx,cxmov si,0mov cx,3s: mov al,[bx+si]and al,11011111bmov [bx+si],alinc siloop s0add bx,16mov cx,dxloop s0mov ax,4c00hint 21hcodesg ends
end start
用内存保存cx
代码如下:
assume cs:codesg,ds:datasgdatasg segmentdb 'ibm 'db 'dec 'db 'dos 'db 'vax 'db 0 ;定义一个字,用来存放cx
datasg endscodesg segment
start: mov ax,datasgmov ds,axmov bx,0mov cx,4s0: mov ds:[40h],cxmov si,0mov cx,3s: mov al,[bx+si]and al,11011111bmov [bx+si],alinc siloop s0add bx,16mov cx,ds:[40h]loop s0mov ax,4c00hint 21hcodesg ends
end start
最好的处理方式 - 栈:
代码如下:
assume cs:codesg,ds:datasg,ss:stacksgdatasg segmentdb 'ibm 'db 'dec 'db 'dos 'db 'vax '
datasg endsstacksg segmentdw 0,0,0,0,0,0,0,0
stacksg endscodesg segment
start: mov ax,stacksgmov ss,axmov sp,16mov ax,datasgmov ds,axmov bx,0mov cx,4s0: push cxmov si,0mov cx,3s: mov al,[bx+si]and al,11011111bmov [bx+si],alinc siloop sadd bx,16pop cxloop s0mov ax,4c00hint 21h
codesg ends
end start
(3)
代码如下:
assume ds:datasg,ss:stacksg,cs:codesgstacksg segmentdw 0,0,0,0,0,0,0,0
stacksg endsdatasg segmentdb '1. display......'db '2. brows........'db '3. replace......'db '4. modify.......'
datasg endscodesg segment
start: mov ax,datasgmov ds,axmov ax,stacksgmov ss,axmov sp,16mov bx,0mov cx,4s: push cxmov cx,4mov si,0s0:mov al,[bx+si+3]and al,11011111bmov [bx+si+3],alinc siloop s0add bx,16pop cxloop smov ax,4c00hint 21h
codesg ends
end start
[汇编语言]实验:应用更灵活的寻址方式来定位内存地址相关推荐
- 更灵活的定位内存地址的方法---汇编学习笔记
更灵活的定位内存地址的方法 前面,我们用[0].[bx]的方法,在访问内存的指令中,定位内存单元的地址.本章将用更灵活的方式来定位内存地址. 7.1 and和or指令 (1)and指令:逻辑与指令,按 ...
- 更灵活的定位内存地址的方法02 - 零基础入门学习汇编语言33
第七章:更灵活的定位内存地址的方法02 让编程改变世界 Change the world by program [bx+idata] 在前面,我们可以用[bx]的方式来指明一个内存单元, 我们还可以用 ...
- [汇编语言]更灵活的定位内存地址的方法
目录 一.and和or指令 二.以字符的形式给出数据 三.大小写转化问题 四.[bx+idata] 五.SI和DI 六.[bx+si]和[bx+di] 与 [bx+si+idata]和[bx+di+i ...
- 更灵活的定位内存地址的方法05 - 零基础入门学习汇编语言36
第七章:更灵活的定位内存地址的方法05 让编程改变世界 Change the world by program 问题7.8 [codesyntax lang="asm"] assu ...
- (七)汇编语言——更灵活的定位内存地址的方法
目录 and和or ASCII码 [bx+idata] SI和DI寄存器 [bx+si]和[bx+di] [bx+si+idata]和[bx+di+idata] 总结 例子(双重循环的解决方案) 我们 ...
- 汇编程序-更灵活的定位内存地址方法
汇编程序-更灵活的定位内存地址方法 如何灵活运用定位内存的方法呢?在之后,我们将列出几个实际例子.通过例子,展示定位内存的一些方法,熟悉和提升我们对汇编程序的理解. 大小写转化(1) 通过上面的汇编程 ...
- 汇编: 更灵活的定位内存地址的方法
bx是偏移地址寄存器.同样的, si,di也是偏移地址寄存器. 这样使用了si,di可以更灵活的定位内存地址. assume cs:codecode segmentstart: mov bx,0mov ...
- 王爽 汇编语言第三版 第7章 --- 更灵活的定位内存地址的方法(可以理解为 数组形式的内存定位)
汇编语言(第三版)王爽著 的十二个实验:https://blog.csdn.net/OrangeHap/article/details/89791064 大小端 字节对齐 对于 arm,intel 这 ...
- 《汇编语言》总结04 —— 更灵活的定位内存地址的方法
(一)and和or指令 and指令:逻辑与指令,按位进行与运算 mov al,01100011B and al,00111011B 执行后,al=00100011B 作用:通过该指令可将操作对象的相应 ...
最新文章
- 用shell脚本监控系统
- 基于视觉和惯性传感器的移动机器人手遥操作系统
- 数据库设计中的9大常见错误
- android edittext 光标监听,Android EditText监听器,用于光标位置更改
- C++class类(I)
- 上公厕上一半突然被拽出来......
- jdk12源代码文件_在JDK 11中启动单文件源代码程序
- vmware安装黑苹果教程
- EXCHANGE RBAC(基于角色的访问控制)管理工具
- java dump分析工具_java线程dump分析工具
- bzoj2442codevs4654[Usaco2011 Open]修剪草坪
- Microsoft Teams免费版本初体验
- GPT磁盘如何正确分区以及UEFI引导怎么修复?
- 2017年全国大学生电子设计竞赛 猜题了
- 结合断线修复方法的乡村道路提取
- linux 可视化分区,可视化linux块设备的工具(分区,LVM PV,LV,mdadm设备……)
- Latex CJK,tex使用中文
- 【收藏】构建属于自己的云端知识库——语雀
- Anaconda prompt 提示系统找不到指定路径
- R语言ggplot2可视化:patchwork包将一个ggplot2可视化结果和一个plot函数可视化结果横向组合起来形成最终结果图、两个可视化的组合结果对齐、并为组合图像的每个子图添加标题
热门文章
- 回溯算法之购物车(0-1 背包问题)
- linux之修改dns以及用netmask修改ip和网关
- 微信企业号开发之如何建立连接
- python任务调度平台 界面_分布式任务调度平台XXL-JOB
- 静止的人如何看待高速运动的球?
- 代言男科、站台微商、变身神棍....这些科学家被捧了几十年,黑历史曝光后,让人三观尽毁......
- 世界上最奇特的国界线,万万没想到...
- 史上最黑科技 | 人造肌肉、DNA折叠、柔性外骨骼…
- 在职场中,长得漂亮真的有用吗?
- python win32ui选取文件夹_最全 Python 算法实现资源汇总!