汇编编程计算机流程图,汇编程序怎么做流程图?
正在画流程图,稍后附上
;x86汇编_用循环结构编程计算阶乘n!
code segment ;代码段开始
assume cs:code,ds:code ;定义代码段和数据段的段地址都是本段(代码段)的段地址
org 100h;指定程序被载入内存时的起始地址
start: ;程序开始的标号
push cs;将代码段地址压栈
pop ds;从栈中弹出到数据段寄存器,与上句话一起,将代码段的值赋给数据段
push cs;再将代码段地址压栈
pop es;从栈中弹出数据到附加段寄存器
q0:lea dx,tips;q0标号,此处传递tips标号的偏移地址到dx
mov ah,9 ;ah=9
int 21h ;调用21h中断,ah=9时,显示字符串,字符串从ds:dx到一个$符号结束
q1:mov ah,0; ah = 0
int 16h;调用16h中断,ah=0时,从键盘读字符,al为字符码
cmp al,1bh ;将1bh与字符码比较,1bh是esc的字符码
jz exit;如果相等,则跳转到exit标号的位置
cmp al,'0';将al与0的字符码相比
jb q1 ;如果al
cmp al,'8';将al与8的字符码相比
ja q1 ;如果al>'8',跳转到q1标号的位置
mov ah,0eh; ah=0eh
int 10h;调用10h中断,ah=0eh时,显示al表示的字符
sub al,30h;al = al-30h,目的是求出这个字符表示的数值,
or al,al ; al = al | al,与自己作按位或运算,目的是设置标志位
jnz q2 ; 如果结果不是0,也就是说al!=0,则跳转到标号q2的位置
mov ax,1 ; ax = 1
jmp q4 ; 跳转到q4的位置
q2:mov ah,0 ;q2标号,ah=0
mov cx,ax ; cx = ax
mov al,1 ; al = 1
xor dx,dx ; dx与自己异或,结果是dx=0,用异或来清0速度比较快!
q3:mul cx ;q3标号,无符号数相乘,(dx,ax)=cx*ax
loop q3 ;cx=cx-1,如果cx不为0,则继续循环q3标号的操作,
q4:cld ;q4标号 ,方向标志置0
lea di,result ;目的变址寄存器di 设为result标号的偏移地址
add di,2 ; di=di+2
lea bp,table ;基址指针bp设为table标号的偏移地址
mov cx,5 ; cx = 5
q5:xor dx,dx ;q5标号,dx清0
div word ptr [bp] ;ax=(dx,ax)/[bp],求得指定位的值,比如十位百位什么的
or al,30h ;al=al|30h,目的是求这个数的字符,
stosb ; di=al
mov ax,dx ;ax=dx
add bp,2 ;bp=bp+2
loop q5 ;cx=cx-1,如果cx不为0,则继续循环q5标号的操作,
lea dx,result ;dx 设为result标号的偏移地址
mov ah,9 ;ah=9
int 21h ;调用21h中断,ah=9时,显示字符串,字符串从ds:dx到一个$符号结束
jmp q0 ; 跳转到q0标号的位置
exit: ;exit标号
mov ah,4ch ;ah=4ch
int 21h ;调用21h中断,ah=4ch时,表示程序退出
;以下内容是预先准备的数据
tips db 'please input a number(0-8),esc to quit: ',0dh,0ah,'$' ;
table dw 10000,1000,100,10,1
result db '!=00000',0dh,0ah,'$'
code ends ;代码段结束
end start
汇编编程计算机流程图,汇编程序怎么做流程图?相关推荐
- word流程图整体怎么拆分_word流程图-不会做流程图?这三种方法超级简单!
在平时的办公过程中,我们一定是要会做流程图的,因为很多地方都需要使用到流程图,下面小编教大家三种方法做流程图,非常简单,一看就会! 一,在Word中制作流程图 1,新建画布 首先点击"插入& ...
- 计算机老师能叫少儿编程,少儿编程教师适合哪些人做?需要具备什么能力?
少儿编程教师适合哪些人做?需要具备什么能力?严格上来讲只要是对孩子有爱心,愿意从事少儿教育行业,就适合做少儿编程教师.可能一般人会认为,少儿编程教师需要具备极强的编程能力.其实不然,少儿编程教师只需要 ...
- 怎么用思维导图做流程图|简单好看的流程图画法
有朋友询问流程图和思维导图有什么区别?简单好看的流程图怎么制作? 其实流程图就是属于思维导图的一种,只是流程图侧重于表现事物之间的先后关系.那么怎么做流程图呢?其实很简单,这里小编就给大家展示一下[树 ...
- ppt流程图按步骤链接_ppt怎么做流程图 怎样用PPT制作流程图
在制作流程图的过程当中,其实有很多工具都可以制作,比如说word,比如说ppt,而今天小编就来给大家介绍一些如何用ppt制作流程图的方式. ppt怎么做流程图--怎样用PPT制作流程图 1.新建一个P ...
- 如何用Word做流程图
如何用Word做流程图? 在"绘图"工具栏上单击"自选图形/基本形状",可以选择"矩形"或者"圆角矩形"绘制矩形图形制作 ...
- c语言简单收银系统程序编码,我有个C语言编写的超市收银系统,请高手修改下,帮做流程图,可追加分...
我有个C语言编写的超市收银系统,请高手修改下,帮做流程图,可追加分0 #includestruct goods{ char no[8];3char name[20]; float price; i ...
- 如何用Word做流程图?
如何用Word做流程图? 在"绘图"工具栏上单击"自选图形/基本形状",可以选择"矩形"或者"圆角矩形"绘制矩形图形制作 ...
- 绘制流程图技巧:图文演示怎么做流程图
什么是流程图?顾名思义,流程图就是一张汇总了流动的行程的图纸.为什么是流动的行程呢?我们的日程安排不是提前准备好的吗?但是俗话说的好,计划赶不上变化.我们永远不知道下一秒会发生什么,会不会影响到每个行 ...
- 计算机毕业设计、计算机课程设计怎么做?计算机设计1900套来帮你!
计算机毕业设计.计算机课程设计怎么做?计算机设计1900套来帮你! 人生做什么事都有套路,大学毕业设计.课程设计通常比较简单,大多数都是找个项目做参考,有的人随便抄一抄糊弄一下,只要查重,格式别出错就 ...
最新文章
- Statement和PreparedStatement深入学习总结
- php滚动公告源码,JavaScript_jquery垂直公告滚动实现代码,复制代码 代码如下: !DOCTYPE - phpStudy...
- 聚类算法小记(part2)--谱聚类
- SAP Spartacus cms.service.ts getComponentData
- asp.net 日期转换
- pc端html轮播带滑块,swiper.js简单快速实现轮播滑动(兼容PC端、移动端)
- keras 分布式_TensorFlow 2.0正式版官宣!深度集成Keras
- Qt界面设计器中的界面预览与程序运行时界面不一样
- tomcat 多项目多HOST配置
- oracle的会话(session)
- 2018年让你的技术学习快人一步!
- 软件体系结构期末复习总结
- FSM实例——按键消抖及状态检测
- Arcgis栅格数据转至GMT支持的.grd格式绘图
- php通用补丁,PHP受权验证系统V2.1完整版 带补丁包
- 应用于高速计数器的编码器基础知识介绍
- 从EBI中ENA数据库下载原始数据accession的详细信息以及序列
- PHP的优势是什么?
- 【转载】Windows 10 运行 Linux子系统的图形界面程序
- 搞笑的chitgpt