汇编语言编程设计输出九九乘法表,从键盘输入选项,查找对应结果并标记输出,数据的

时间: 2024-01-08 11:04:04 浏览: 36
存储使用数组。 以下是汇编语言代码: ``` ; 定义常量 CR equ 0dh ; 回车符 LF equ 0ah ; 换行符 MAX equ 9 ; 表示的最大数字 ; 数据段 data segment msg1 db '请选择选项:', CR, LF msg2 db '1. 输出九九乘法表', CR, LF msg3 db '2. 查找对应结果并标记输出', CR, LF msg4 db '请选择:', CR, LF result db MAX+1 dup(MAX+1 dup('?')) ; 存储结果的数组 data ends ; 代码段 code segment assume cs:code, ds:data start: mov ax, data mov ds, ax ; 初始化数据段寄存器 ; 输出菜单 mov ah, 9 lea dx, msg1 int 21h lea dx, msg2 int 21h lea dx, msg3 int 21h lea dx, msg4 int 21h ; 读取选项 mov ah, 1 int 21h sub al, '0' ; 将字符转换成数字 ; 根据选项执行对应操作 cmp al, 1 je output_table cmp al, 2 je search_result ; 未知选项,重新输入 jmp start ; 输出九九乘法表 output_table: mov cx, MAX ; 循环计数器 mov di, 0 ; 数组偏移量 outer_loop: mov bx, 1 ; 乘数 inner_loop: mov ah, 2 mov dl, ' ' int 21h ; 输出空格 mov dl, bl int 21h ; 输出乘数 mov dl, '*' int 21h ; 输出乘号 mov dl, cx int 21h ; 输出被乘数 mov dl, '=' int 21h ; 输出等号 mov al, bl mul cx mov bh, 0 mov bl, 10 ; 除数 div bl ; 算出商和余数 mov bl, ah ; 商存入高位 mov ah, 2 mov dl, al ; 输出低位 int 21h mov dl, bh ; 输出高位 int 21h add di, 1 ; 偏移量加1 mov result[di], al ; 保存结果到数组 mov ah, 2 mov dl, ' ' int 21h ; 输出空格 cmp bx, MAX ; 判断是否已经乘到9 je next_line add bx, 1 ; 乘数加1 jmp inner_loop next_line: mov ah, 2 mov dl, CR int 21h ; 换行 mov ah, 2 mov dl, LF int 21h cmp cx, 1 ; 判断是否已经乘到1 je end_proc sub cx, 1 ; 被乘数减1 jmp outer_loop ; 查找对应结果并标记输出 search_result: mov cx, MAX ; 循环计数器 mov di, 0 ; 数组偏移量 search_loop: mov bx, 1 ; 乘数 inner_loop2: mov al, result[di] ; 从数组中读取结果 cmp al, '?' ; 判断是否已经计算过 je skip_output mov ah, 2 mov dl, ' ' int 21h ; 输出空格 mov dl, bl int 21h ; 输出乘数 mov dl, '*' int 21h ; 输出乘号 mov dl, cx int 21h ; 输出被乘数 mov dl, '=' int 21h ; 输出等号 mov ah, 2 mov dl, al ; 输出结果 int 21h skip_output: add di, 1 ; 偏移量加1 cmp bx, MAX ; 判断是否已经乘到9 je next_line2 add bx, 1 ; 乘数加1 jmp inner_loop2 next_line2: mov ah, 2 mov dl, CR int 21h ; 换行 mov ah, 2 mov dl, LF int 21h cmp cx, 1 ; 判断是否已经乘到1 je end_proc2 sub cx, 1 ; 被乘数减1 jmp search_loop end_proc2: ret end_proc: mov ah, 4ch int 21h ; 返回操作系统 code ends end start ```

相关推荐

最新推荐

recommend-type

在KEIL中实现C语言嵌套的汇编语言

在单片机学习的过程中,掌握一点...我想在很多人学习的过程中即学了汇编语言,又学习了C 语言,那么一个问题便随之而产生,如果将C 语言与汇编语言相互结合,达到更好的编程效果,本次讲解就是基于这个问题而生成的。
recommend-type

51单片机交通灯设计(汇编语言)

PDF报告里含有汇编代码和proteus仿真图,中断实验,参照实验电路,设计交通灯控制系统。模拟交通信号灯控制:一般情况下正常显示,东西-南北交替放行,各方向通行时间为 30 秒。有救护车或警车到达时,两个方向交通...
recommend-type

华为OD机试D卷 - 用连续自然数之和来表达整数 - 免费看解析和代码.html

私信博主免费获取真题解析以及代码
recommend-type

Screenshot_2024-05-10-20-21-01-857_com.chaoxing.mobile.jpg

Screenshot_2024-05-10-20-21-01-857_com.chaoxing.mobile.jpg
recommend-type

数字图像处理|Matlab-频域增强实验-彩色图像的频域滤波.zip

数字图像处理|Matlab-频域增强实验-彩色图像的频域滤波.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

spring添加xml配置文件

1. 创建一个新的Spring配置文件,例如"applicationContext.xml"。 2. 在文件头部添加XML命名空间和schema定义,如下所示: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。