当前位置:网站首页>王爽汇编语言第五章:【BX】和loop指令
王爽汇编语言第五章:【BX】和loop指令
2022-08-05 13:14:00 【Deteriorate_Kr】
文章目录
前言
1.【bx】和内存单元的描述



2.loop
这个指令与循环有关。
3.描述性的符号“()”

举例
(ax)表示ax中的内容、(al)表示al中的内容

注意

应用

其他

4、约定符号idata表示常量


一、【BX】


问题分析5.1





二、Loop指令


这里我们讲解loop指令的功能,关于loop指令如何实现转至标号处的细节,将在后面的课程中讲解。下面我们通过一个程序来看一下loop指令的具体应用:
assume cs:code
code segment
mov ax,2
add ax,ax
mov ax,4c00h
int 21h
code ends
end

assume cs:code
code segment
mov ax,2
add ax,ax
add ax,ax
mov ax,4c00h
int 21h
code ends
end

assume cs:code
code segment
mov ax,2
;做11次add ax,ax
mov ax,4c00h
int 21h
code ends
end
按照我们的算法,计算2∧12需要11条重复的指令add ax, ax。我们显然不希望这样来写程序,这里,可用loop来简化我们的程序
程序5.1
assume cs:code
code segment
mov ax,2
mov cx,11
s: add ax,ax
loop s
mov ax,4c00h
int 21h
code ends
end



总结

问题分析5.2


问题分析5.3

三、在Debug中跟踪用Loop指令实现的循环程序
问题
一个存储单元为一字节,2^8=256
一个16位寄存器存储数据:2^16=65536



程序5.3

对程序进行跟踪









完整过程(自己电脑)






验证结果1
dx=93=3*31(ds:0006=31),正确。


程序如下
↓






验证结果2
由上图5.15可知,dx=1806h=50(32h)*123=6150
结果正确。
四、Debug和汇编编译器masm对指令的不同处理\





示例


总结

五、Loop和【bx】的联合应用








程序5.5


程序5.5存在的问题

问题5.4







程序5.6

六、段前缀


七、一段安全的空间



出现问题

下图是指令mov [0026],ax的执行结果(在Windows2000的DOS方式中)
↓
结论



注意




总结

八、段前缀的使用



程序如下


边栏推荐
猜你喜欢

【IC5000教程】-02-使用daqIDEA图形化显示“Array数组”和“struct结构体”类型变量的值变化

Weak network test (1)

华朗复读衔接营励志开营!全名师阵容护航 解读高考成功秘钥

华为分析&联运活动,助您提升游戏总体付费

十分钟教会你如何使用VitePress搭建及部署个人博客站点

通俗易懂玩QT:QT程序发布打包

每秒10亿次更新、实现秒级同步延迟,腾讯深度学习推荐系统首次入选OSDI顶会

素士科技IPO被终止:年营收18.7亿 顺为小米景林昆仲是股东

Depth Map-Based Object Detection

比较方法equals( )、==以及CompareTo
随机推荐
并发刺客(False Sharing)——并发程序的隐藏杀手
试写C语言扫雷
内存问题难定位,那是因为你没用ASAN
嵌入式开发:嵌入式软件开发和编程
Kuaike Electronics is listed on Shenzhen Stock Exchange: market value of 8.2 billion, annual revenue of 700 million and fundraising of 560 million
Flink调优
LeetCode常见题型——字符串
做个小程序商城大约多少钱?哪些方面会影响价格?
Wireshark的工具下载
施耐德电气庞邢健:以软件撬动可持续的未来工业
复习js中的逻辑运算符
.NET MAUI 跨平台应用开发 I|.NET MAUI 跨平台基础
【Flask框架】三. Flask框架之蓝图的使用
VINS-Mono结果展示
Source code analysis 2 Model conversion export.py
自监督深度学习编码蛋白质亚细胞定位的高分辨率特征
EAI X2(非订制版)50一个激光雷达?
RK3588+FPGA高速图像处理通信处理机解决方案
ApiPost使用教程
LeetCode 623 Add a line to the binary tree [BFS DFS] HERODING's LeetCode road