已定义了两个整数变量A和B编写汇编程序asm (1) 若两个数中有一个是奇数,则将奇数存入A中,偶数存 入B中; (2) 若两个数均为奇数,则将两数均加1后存回原变量。

汇编实验 分支程序 已知两个整数变量A和B 代码+报告 汇编 分支程序的很好的练习素材 亲们可以参考一下 立即下载

大家好啊,我是xin麒,公众号是善于思考的编程麒,今天又来分享一道汇编题目:

问题描述:

已定义了两个整数变量A和B,试编写程序完成下列功能:
(1) 若两个数中有一个是奇数,则将奇数存入A中,偶数存
入B中;
(2) 若两个数均为奇数,则将两数均加1后存回原变量。

题解(asm代码):

注释如有错误望指正哈

;5.2  已定义了两个整数变量A和B,试编写程序完成下列功能:
;    (1) 若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中;     
;    (2) 若两个数均为奇数,则将两数均加1后存回原变量。

;--------------思路分析--------------》
;先明确情况:①奇偶②偶奇③偶偶④奇奇
;分析思路:
;两个相加,如果值为奇数,则必定有一个为奇数,另一个为偶数
;          如果为偶数,则1、两个均为奇数 
;                       2、两个为偶数--->不做任何处理
;设计程序:CLC将CF请0,将和加到AX中,带进位右移1位,
;如果为偶数,先将a mov到 ax,判断是奇数还是偶数,如果是奇数,那么实现分别两者加1
                                            ;如果是偶数,跳到结束战斗
;如果和为奇数,
;           则将A   mov到ax里面判断是否为奇数,如果是,那么跳到结束战斗
;                               如果为偶数,则将A值传到ax,将b值赋给a值,ax值mov到a,跳到结束战斗
;《-------------------------------------

DATA SEGMENT

;<-----①------>
    ;NUMBER1 DB 43
    ;NUMBER2 DB 62
;<-----②------>
    ;NUMBER1 DB 42
    ;NUMBER2 DB 63
;<-----③------>
    NUMBER1 DB 42
    NUMBER2 DB 62
;<-----④------>
    ;NUMBER1 DB 4
    ;NUMBER2 DB 63

DATA ENDS

CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA                     ;ASSUME伪指令,说明段与段寄存器之间的对应关系
	MOV DS,AX

    MOV AL,NUMBER1
    ADD AL,NUMBER2

    CLC
    RCR AL,1

    JAE IS_EVEN;如果CF=0说明和为偶数,直接跳进IS_EVEN
    ;为奇数,那么就往下走:
    MOV AL,NUMBER1
    
    CLC
    RCR AL,1

    JC FINNAL;jc:如果CF=1那么跳转<----①奇偶-------->
;如果CF=0,说明为偶数,则交换NUMBER1 和 NUMBER2:-------②偶奇---------->
    MOV AL,NUMBER2
    MOV BL,NUMBER2
    MOV NUMBER1,BL;不可以使用XCHG NUMBER2,NUMBER1,否则会报operand combination illegal的双操作数指令中两个操作数组合出错。
    MOV NUMBER2,AL
    
    CLC
    JAE FINNAL
    ;<-----------------
;-----------------③偶偶----------------->
IS_EVEN:
    MOV AL,NUMBER1

    CLC
    RCR AL,1

    JAE FINNAL;如果都是偶数,直接结束,如果都是奇数那么往下走
;----------------④奇奇--------------->
;第一个数加1
    MOV AL,NUMBER1
    ADD AL,1
    MOV NUMBER1,AL
;第二个数加1
    MOV AL,NUMBER1
    ADD AL,1
    MOV NUMBER1,AL 
    ;<----------------------------------
;<-------------------------------------------
FINNAL:	MOV AH,4CH			;结束战斗
	INT 21H
CODE ENDS
	END START

原创不易,如果觉得有帮助的话麻烦点个赞呗

汇编语言程序:实验6 1) 从键盘输入一系列字符(以回车符结束),并按字母、数字及其他字符分类计数,最后显示这三类的计数结果(用简化段源程序结构)。 (2) 已定义了两个整数变量A和B,试编写程序完成下列功能(使用简化段源程序格式): • 若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中; • 若两个数均为奇数,则将两数均加1后存回原变量; • 若两个数均为偶数,则两个变量均不改变。 3) 用减奇数次数的方法,求一个数的近似平方根,这个平方根是一个整数。如求17的平方根,可以用17相继减去奇数1、3、5、7、…,当结果为 负数时停止,即: 17-1-3-5-7-9<0 可以看出,17在减去5次奇数后结果变为负数,可以近似认为17的平方根在4与5之间,计算NUM的平方根,如果NUM=17,则ANS中保存结果4。 (4) 以下面形式定义一个长整数,其所占用字节数由N得到,比如128位的数5746352413DE89674523BC9A78563412H定义成: NUM DB 12H,34H,56H,78H,9AH,0BCH,23H,45H DB 67H,89H,0DEH,13H,24H,35H,46H,57H N DB $-NUM 试编写一个程序,实现对N字节的NUM的值求补(类似NEG的操作),并把求补后的值仍保存在NUM中。 立即下载

相关推荐

汇编语言计算字符出现次数

本程序适合汇编语言初学者使用,利用汇编语言,统计每个字符出现的字数。

汇编刷题 已知整数变量A和B,试编写完成下列操作的程序

1.若两个数中有一个是奇数,一个是偶数,则将它们互换储存地址 2.若两个数都是奇数,则分别加一 3.若两个数都是偶数,则不变 DATA SEGMENT A DB 12H B DB 25H DATA ENDS STACK SEGMENT STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:...

愿你饱经冷暖,仍保纯真 2033

CODESYS V3.5 SP17编程环境全攻略:从安装到多语言编程实战

本文全面解析CODESYS V3.5 SP17编程环境,从安装配置到多语言编程实战技巧。详细介绍了运行时环境设置、六种IEC 61131-3语言的特性对比与混合编程策略,以及高级功能开发如自定义算法模块和实时通信配置。适合工业自动化工程师快速掌握这一强大工具。

weixin_30632089的博客 489

《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第五章——自编解析与答案

5.1 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。 答:程序段如下: BEGIN: MOV AH, 1 ;从键盘输入一个字符的DOS调用 INT 21H CMP AL, ‘a’ ;输入字符<‘a’吗? JB STOP CMP AL, ‘z’ ;输入字符>‘z’吗? JA STOP SUB AL, 20H ;转换为大写字母,用AND AL, 1101 1111B也可 MOV DL, AL ;显示一个字符的DOS调用 MOV AH, 2 INT 21H JMP BEGIN

无限迭代中...... 5232

在国产麒麟系统上,用Postfix和Dovecot手搓一个内部邮件服务器(附Foxmail配置)

本文详细介绍了在国产麒麟系统上使用Postfix和Dovecot搭建内部邮件服务器的完整流程,包括系统准备、核心配置、安全加固及客户端适配。针对国产环境的特殊需求,提供了依赖包适配、配置差异和Foxmail客户端配置的实用解决方案,助力企业实现高效内部协作。

weixin_33722405的博客 371

feko金属球远场RCS双站

feko金属球远场RCS双站

a264672的博客 6912

汇编语言程序设计练习题

所有代码见 https://github.com/Lemonreds/assembly-solution 汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序 显示这三个字符。 4...

Lemonreds 1万+

【导航】ESP32 教学篇目录 【快速跳转】

本文章 来自原创专栏《ESP32教学专栏 (基于ESP-IDF)》,讲解如何使用 ESP-IDF 构建 ESP32 的WIFI及连接的程序,发布文章并会持续为已发布文章添加新内容! 每篇文章都经过了精打细磨! ↓↓↓通过下方 按钮 进入专栏主页↓↓↓ 专栏主页:点击进入→ESP32 教学专栏 (基于ESP-IDF) WIFI二级专栏:点击进入→ESP32 上的 WiFi ............

Augtons 的博客 3万+

4-14 Python学习总结

4-14 Python学习 1.控制结构 根据控制代码执行方式的不同,将代码分为三种结构: 1)顺序结构(默认) -代码从上往下按顺序依次执行,并且每条语句只执行一次 2)分支结构 -可以根据条件选择执行不同的代码 3)循环结构(for、while) -让代码重复执行(代码只写一遍,执行多次) 1.1 分支结构 1. if单分支结构 -解决如果xx就xx 语法: if 条件语句: ​ 代码段 说明: 1)if 关键字,固定写法 2)条件语句 任何有结果的表达式,例如

weixin_42582562的博客 924

Python经常遇到导入xlwings就出错,如何解决

Python经常在导入xlwings时遇到错误。有人建议尝试重装或升级xlwings,但这些操作后仍然无法解决导入错误问题。

felix_8的博客 1740

在VSCode中使用LaTex+(grammarly语法检测,chatgpt翻译,Sumatra PDF 轻量级pdf阅读器)

整个文章分为以下几个内容,打 * 的是必须要安装的。

u011895157的博客 2万+

已定义了两个整数变量A和B,完成下列功能: (1)若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中(2)若两个数均为奇数,则将两数均加1后存入原变量(3)若两个数均为偶数,则两个变量均不改变。

已定义了两个整数变量A和B,试编写程序完成下列功能: (1)若两个数中有一个是奇数,则将奇数存入A中,偶数存入B中; (2)若两个数均为奇数,则将两数均加1后存入原变量; (3)若两个数均为偶数,则两个变量均不改变。 DATA SEGMENT A DW 2 B DW 4 DATA ENDS STACK SEGMENT DW 10 DUP(?) TOP LABEL W...

weixin_43416343的博客 4339

在没有信用卡的情况下怎么申请谷歌云(Google Cloud)?

这笔额度足够用来跑一台云服务器、部署小型网站,甚至可以尝试 AI、机器学习等项目。但问题来了——想要拿到这 300 美元,你必须先通过支付方式验证。默认选项就是绑定一张国际信用卡(Visa、MasterCard 之类),然而不少人没有信用卡,或者信用卡无法支持国际支付,结果就卡在注册第一步。很多人会疑惑:既然是送额度,为什么还要绑卡?原因其实很简单:谷歌需要确认你是真实用户,而不是批量注册薅羊毛;通过支付验证,后续如果你用完 300 美元额度,可以直接进行付费使用;

m0_74824483的博客 5657

统计10个整数中奇数、偶数、素数和完数的个数

问题:统计10个整数中奇数、偶数、素数和完数的个数(还有单独求素数或完数)

⭕星空之路Star的博客⭕ 2970

RK3588 C++ MeloTTS 推理

本文介绍了基于RK3588平台和RKNN工具链实现的端侧语音合成(TTS)系统。该系统支持中英文混合输入处理,通过自动合并英文单词、转换标点符号等方式预处理文本,并将其转换为音素和声调序列。核心推理流程包含编码器、中间处理和解码器三个阶段:编码器将音素序列转为隐藏状态,中间处理调节音调和语速,解码器生成最终波形。代码示例展示了输入数据设置和模型推理过程,利用RK3588内置NPU实现高效语音合成。该系统展现了在边缘计算设备上实现复杂AI任务的能力。

J。 200

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java中定义一个由整数组成的数组,要求求出其中的奇数个数和偶数个数

思路: 首先扫盲下,解释下何为奇数,何为偶数; 整数中,能被2整除的数是偶数,不能被2整除的数是奇数   所以我们定义一个数组,再定义一个变量jishu,用来统计奇数个数, 再定义一个变量,用来统计偶数个数;   遍历数据,假如当前值对2求余余数是1,就是奇数,否则就是偶数;   参数代码: public class Test {       public static v...

weixin_41934292的博客 5423

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

python编写一个程序、输入一个数判断其是偶数还是奇数_编写程序,输入一个整数,判断后输出它是奇数还是偶数...

编写程序:"输入一个整数,判断它是奇数还是偶数,是奇数输出JISHU,是偶数输出OUSHU"?(要求用函数调用)#includeusingnamespacestd;boolpanduan(intn){intm=n%2;if(m==0)returntrue;elsereturnfalse;}intmain(){intn;boolflag;cout编写一个程序输入一个整数,判断它是奇数还是偶数#inc...

weixin_39719732的博客 2万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

用Java语言定义一个整数定义的数组,求奇数个数和偶数个数。

##【Java】 定义一个整数定义的数组,求奇数个数和偶数个数。 /*作者:龙蝶 *日期:2020年4月4日 */ public clsss Array{ public static void main(String[] args) { int arr[]=new int[]{8,95,7,24,3,45,18,63,40}; int ji=0; ...

m0_46399068的博客 5720

简单编程(二十)将奇数和偶数分别存入到两个不同的数组中,并按奇数、偶数交替的顺序输出

从键盘输入8个整数存放在一个数组中,然后将奇数和偶数分别存入到两个不同的数组中,并按奇数、偶数交替的顺序输出这两个数组中的所有数据(先交替输出,如果奇数个数多,则再输出剩下的奇数,如果偶数个数多,则再输出剩下的偶数)。(提示与要求:(1)定义一个数组存储从键盘输入的8个整数,先判断这8个整数中奇数和偶数的个数,才能定义存储奇数和偶数的数组的长度;(2)把一个大的数组分别存放在奇数和偶数数组中并交替

张志昌 的专栏 1万+

C语言 计算正整数1~100中的奇数之和及偶数之和

计算正整数1~100中的奇数之和及偶数之和 【类似数学中的数列求和。这里是如何把奇数和偶数的求和公式写出来。又涉及到累加的问题。sum = sum + i】

看花容易绣花难 3万+

无限循环输入任意10个整数,然后将这10个整数数列按照奇数在前、偶数在后的顺序重新排放。并要求奇偶两部分都是升序排列

#include <stdio.h> int main() { int a[10]; int b = 0;//统计奇数 int c = 10;//统计偶数 int i,j; int temp; while(1) { printf("请输入10个数:"); for(i = 0;i < 10;...

qq_43728862的博客 5438

Linux---shell脚本 求1~100之间数字奇数和、偶数和

输入一个小于100的整数,并计算从1到该数之间所有整数的和一:输入一个小于100的整数,并计算从1到该数之间所有整数的和二:脚本执行三:输入一个小于100的整数,并计算从1到该数之间的奇数和、偶数和四:脚本执行 一:输入一个小于100的整数,并计算从1到该数之间所有整数的和 [root@localhost ~]# vi qiuhe.sh #!/bin/bash read -p "请输入小于100的整数:" num if [ $num -eq 1 ];then echo "和等于: $num" sum=0

大E了的博客 1万+

输入一个正整数,求1到该整数的和,奇数和,偶数和

输入一个正整数,求1到该整数的和,奇数和,偶数和

博樽 6752

统计奇偶个数c语言程序,C语言编程给定N个正整数,统计奇数和偶数的个数

公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。话题:C语言编程给定N个正整数,统计奇数和偶数的个数回答:非奇则偶,统计一个就可以了。 int main(){int N, odd=0, i, t;scanf("%d",N);for(i = 0; i {scanf("%d",t);if(t1)odd++;}printf("奇数%d个,偶数%d个\n", odd, N-odd);retur...

weixin_39641231的博客 7663

编写程序,要求用户从键盘上输入一个正整数,程序判断该数是奇数还是偶数

3.1 package booksTest; import java.util.Scanner; public class p53_3_1 { public static void main(String[] args) { /* 题目要求 编写程序,要求用户从键盘上输入一个正整数,程序判断该数是奇数还是偶数 解释;正整数为大于0的整数。自然数中,除了0,其余的就是正整数。正整数又可分为质数,

liuwenqing11的博客 1万+

Java输出两个数之间所有的奇数和偶数

例如使用Java求1-100之间所有的奇数和偶数; 示例代码:(写法一) package com.gx.demo; public class Test { public static void main(String[] args) { System.out.println("1-100间所有奇数:"); for (int i = 1; i <= 100; i++) { i...

程序羊的博客 8365
上一篇: 对键盘输入的小写字母用大写字母显示出来 asm汇编语言程序设计
下一篇: 创建javaweb工程配置Tomacat(IDEA2020.2版本)
xin麒
博客等级 码龄6年 110粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值