用汇编语言实现1+2+...+100

;课堂作业

;计算1+2+...+100

DATA SEGMENT

COUNT DW 0 ;计数

DATA ENDS

STACK SEGMENT PARA STACK

BUF DW 20H DUP (0)

LEN EQU $-BUF

STACK ENDS

CODESEG SEGMENT

ASSUME CS:CODESEG,SS:STACK,DS:DATA

START:

;初始化堆栈段ss和数据段ds

MOV AX,STACK

MOV SS,AX

MOV SP,LEN

MOV AX,DATA

MOV DS,AX

MOV CX,64H ;循环100次

MOV AX,0

S:

ADD COUNT,01H

ADD AX,COUNT

LOOP S

MOV DL,AL

MOV AL,AH

CALL DISP_2_HEX

MOV AL,DL

CALL DISP_2_HEX

CALL DISP_CREF

MOV AH,4CH

INT 21H

;将AL的高四位与低四位分别输出

DISP_2_HEX:

PUSH AX

PUSH BX

PUSHF

MOV AH,0 ;清零

MOV BL,10H ;作除法

DIV BL ;AL :商 高位 AH 余数 低位

CALL DISP_1_HEX ;输出AL的结果

MOV AL,AH

CALL DISP_1_HEX

POPF

POP BX

POP AX

RET

;输出AL的数字和字母

DISP_1_HEX:

PUSH AX

PUSH DX

PUSHF

MOV DL,AL

CMP DL,09

JBE L_1 ;小于等于9则跳过下一条语句

ADD DL,27H ;大于10则转换为小写字母并执行到下面的L_1的RET结束

;数字10与字符a差为39(27H)

;数字输出(1的ascii码为31H)

L_1:

ADD DL,30H ;数字转换为字符

MOV AH,02H

INT 21H

POPF

POP DX

POP AX

RET

;输出回车换行

DISP_CREF:

PUSH DX

PUSH AX

MOV AH,02H

MOV DL,0DH

INT 21H

MOV DL,0AH

INT 21H

POP AX

POP DX

RET

CODESEG ENDS

END START

输出结果为13ba(5050的十六进制)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

从1加到100汇编调用c语言,用汇编语言实现从1加到100的方法(1+2+...+100)相关推荐

  1. 汇编和python-python语言属于汇编语言吗?_后端开发

    c语言主函数名是什么?_后端开发 C语言主函数名是main,main函数又称主函数,是程序执行的起点,如果有其他函数,则完成对其他函数的调用后再返回到主函数,最后由main函数结束整个程序. pyth ...

  2. c语言调用graphviz_c语言分析函数调用关系图(call graph)的几种方法

    一.基于 Doxygen或 lxr 的API形式的文档系统. 二.基于CodeViz, CodeViz是<Understanding The Linux Virtual Memory Manag ...

  3. C语言累加函数代码,ARM汇编程序---通过ARM汇编调用C语言函数实现累加

    在C语言中定义实现一个累加的函数,参数是累加的最大值,从1加到此值.下面是代码: 汇编代码:其中注意开始的参数的定义要紧靠前面,负责无法读出,其中要将C语言函数导入:IMPORT+函数名,并将你定义的 ...

  4. 汇编调用c语言函数 call printf,如何在汇编调用c语言函数?

    一. 参数传递的基本规则(ATPCS(ARM-Thumb Procedure Call Standard)) 1. 参数传递 二.汇编程序.C程序相互调用举例 1. C程序调用汇编程序 汇编程序的设计 ...

  5. 鸡兔同笼40个头100只脚c语言,鸡兔同笼,上有40个头,下有100只脚,问鸡兔各有多少只?...

    鸡兔同笼公式: 公式1: (兔的脚数×总只数-总脚数)÷(兔的脚数-鸡的脚数)=鸡的只数 总只数-鸡的只数=兔的只数 公式2: (总脚数-鸡的脚数×总只数)÷(兔的脚数-鸡的脚数)=兔的只数 总只数- ...

  6. python调用c语言内核计算,在Linux上实现Python调用C语言函数

    一般思路 Python中内置ctypes库,需调用c编译成的.so文件来实现函数调用. 假设我们所需调用的c文件名为test.c,文件里有我们需要的函数func(x,y). 将.c文件编译成 .so文 ...

  7. 利用c#实现远程注入非托管WIN32程序,并利用嵌入汇编调用非托管WIN32程序中的内部过程...

    c#通过调用windows API函数,可以很轻松的完成非托管WIN32程序的注入.内存读写等操作,以下为c#实现远程注入非托管WIN32程序,并利用嵌入汇编调用非托管WIN32程序中的内部过程的源码 ...

  8. 【一句话调用】h5页面 返回缓存 如js加载列表页点击进入详情页,返回后刷新的问题和无法定位问题 html 返回定位

    在做html5开发时,经常会碰到从列表页跳转到详情页,然后在点击返回或者手机手势返回后,列表内容刷新且无法定位到点击的位置,尤其包含列表加列表的情况 问题尤其明显. 解决办法如下: 1.vue的组件切 ...

  9. 页面加载成功后调用_在微信小程序里实现图片预加载组件

    网页中的图片预加载 我们知道在 Web 页面中实现图片的预加载其实很简单,通常的做法是在 JS 中使用 Image 对象即可,代码大致如下 var image = new Image() image. ...

最新文章

  1. Linux文件系统的组成部分
  2. 乐鑫代理启明云端分享:用ESP32单片机控制LED教程示例
  3. 2021ICPC(澳门) - LCS Spanning Tree(广义后缀自动机)
  4. linux nginx F配置,linux下nginx的安装及配置
  5. 测试AS3的性能9800粒子
  6. kickstart无人值守自动安装操作系统
  7. 从单机到分布式数据库存储系统的演进
  8. python3爬虫系列09之爬虫数据存入MySQL数据库
  9. 计算机在录制声音过程中流向,Bandicam中录制电脑声音的具体流程介绍
  10. 多媒体计算机中的扬声器指的是音箱和,多媒体音箱还以为只是个喇叭,原来这么多名堂...
  11. [C++]判断齐次坐标系中三点是否共线(三个向量是否共面)
  12. Python人工智能实例 │ 使用Haar级联进行人脸检测、使用CAMShift算法、光流法进行人脸追踪
  13. STM32F407之电阻式触摸屏
  14. 导航栏调透明度HTML,导航栏透明度问题
  15. 使用监听器Listener实现在线人数统计功能
  16. 百度实习两个月小结~
  17. SpringBoot员工管理系统(整合Mybatis+mysql)
  18. 【Python错误】Simplify chained comparison
  19. 最远对踵点 旋转卡壳
  20. 【120期分享】小清新PPT模板免费下载

热门文章

  1. 盘点|国内5款主流低代码开发平台介绍
  2. 羊皮卷之六:今天我学会控制情绪
  3. CSS flex 布局里面的靠右对齐
  4. 数据治理系列(一):元数据管理 、数据血缘数据管理:
  5. 如何使用BBC英语学习频道
  6. 快速容易地处理Windows、Mac 和Linux系统中文件路径问题
  7. 阿里巴巴Java笔试题很难_2016阿里巴巴java笔试题
  8. 销售成本结转单 失去上游联系
  9. java stream使用指南-------sorted使用及进阶
  10. 【附源码】Java计算机毕业设计二手车况在线评估(程序+LW+部署)