青岛胶南市城乡建设局网站,windows的wordpress,wordpress摘要显示图片,网站正在建设中模板 html设有两个16位整数变量A和B#xff0c;试编写完成下述操作的程序。
#xff08;1#xff09;若有两个数中一个是奇数#xff0c;则将奇数存入A中#xff0c;偶数存入B中。
#xff08;2#xff09;若两个数均为奇数#xff0c;则两数分别减1#xff0c;并存回原变量中…设有两个16位整数变量A和B试编写完成下述操作的程序。
1若有两个数中一个是奇数则将奇数存入A中偶数存入B中。
2若两个数均为奇数则两数分别减1并存回原变量中。
3若两数均为偶数则两变量不变。
即只需要分成两大类判断即可①A、B一奇一偶 ②A、B都是奇数或同是偶数然后同奇或同偶再进行细分是同奇还是同偶
汇编思路首先DATA段定义A、B变量。其次A赋值给AXB赋值给BX使用AX、BX进行参与运算。AX和BX进行异或运算结果存放到AX中然后与0001H进行TEXT与运算判断AX的最后结果结果为1则A、B一奇一偶否则为A、B同奇或同偶。一奇一偶XCHG交换两数若同偶调用4CH结束即可若同奇分别减一DEC然后输出即可。
代码如下
DATA SEGMENT
A DW ?
B DW ?
DATA ENDS
CODE SEGMENTASSUME CS:CODE,DS:DATA
START: MOV AX,DATAMOV DS,AX
LOP: MOV AX,A ;将变量A赋值给通用寄存器AXMOV BX,B ;将变量B赋值给通用寄存器BXXOR AX,BX ;异或运算是为了判断A、B是否为一奇一偶、同奇或同偶若AX最后一位为1则一奇一偶否则A、B同奇或同偶TEXT AX,0001H;与运算只需要判断最后一位是否为1结果为1则A、B一奇一偶否则为A、B同奇或同偶JZ NEXT ;若最后AX结果为0即A、B同奇或同偶跳转NEXT标签处 否则A、B一奇一偶执行下条指令TEXT BX,0001H;执行到此条指令此时A、B一奇一偶已确定只需要奇数存入A偶数存入B即可 由于XOR AX,BX此时的AX已经不再存放原来A中内容但是BX仍存放B的内容需要判断BX是否为奇数 执行此命令与运算操作结果若为0表示BX为偶数则A为奇数 反之结果为1BX为奇数A为偶数JZ EXIT ;若BX为0即AX为奇数BX为偶数跳转EXIT标签处 否则执行下条指令XCHG BX,A ;执行到此条指令前此时AX为偶数BX为奇数即A存放偶数B存放奇数交换A和BX的数据即A存放BX的奇数BX存放A的偶数MOV B,BX ;将BX存放A的偶数赋值给B最终A存放奇数B存放偶数JMP EXIT ;无条件跳转到EXIT标签处
NEXT: TEXT BX,0001H;执行到此条指令前已确定A、B同奇或同偶由于XOR AX,BX此时的AX已经不再存放原来A中内容但是BX仍存放B的内容需要判断BX是否为奇数 执行此命令与运算操作结果若为0表示BX为偶数则A也为偶数即同偶否则同奇JZ EXIT ;若BX为0即同偶跳转EXIT标签处 否则执行下条指令DEC B ;执行到此条指令前此时A、B同奇由题目要求需要两数分别减一并存回原变量中 B减一DEC A ;A减一
EXIT: MOV AH,4CH ;执行到此条指令前表示AX为奇数BX为偶数即A存放奇数B存放偶数由题目要求可得直接输出即可调用4CH号功能返回DOS操作系统指令INT 21H ;终止当前程序的运行并返回DOS系统
CODE ENDSEND START