早教吧作业答案频道 -->其他-->
用汇编语言编制一程序,把二十B的数组分成正数组和负数组,并分别计算两个数组中数据的个数.希望能很快有人指点呀..
题目详情
用汇编语言编制一程序,把二十B的数组分成正数组和负数组,并分别计算两个数组中数据的个数.
希望能很快有人指点呀..
希望能很快有人指点呀..
▼优质解答
答案和解析
;以下解答仅供参考,不保证全部正确,但基本思路的代码片段都有了
DATA SEGMENT
NUM DB 1,2,...,20 ;这个你随便写20个字节的数据
P DB 20 DUP(?) ;正数组
PNUM DB 0 ;正计数
N DB 20 DUP(?) ;负数组
NNUM DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START:PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX ;初始化完毕
MOV BX,0
MOV SI,BX
MOV DI,BX
MOV CX,20 ;设置相关参数
LOP1:MOV AL,NUM [BX] ;取原始数组元素
CMP AL,0
JGE P1 ;为正则转P1
MOV N [DI],AL
INC DI
INC NNUM ;负数组增加,计数变化
JMP NEXT
P1:MOV P [SI],AL
INC SI ;正数组增加,计数变化
INC PNUM
NEXT:INC BX ;原始数组指针偏移
LOOP LOP1 ;循环20次--CX
RET ;结束
MAIN ENDP
CODE ENDS
END START
DATA SEGMENT
NUM DB 1,2,...,20 ;这个你随便写20个字节的数据
P DB 20 DUP(?) ;正数组
PNUM DB 0 ;正计数
N DB 20 DUP(?) ;负数组
NNUM DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START:PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX ;初始化完毕
MOV BX,0
MOV SI,BX
MOV DI,BX
MOV CX,20 ;设置相关参数
LOP1:MOV AL,NUM [BX] ;取原始数组元素
CMP AL,0
JGE P1 ;为正则转P1
MOV N [DI],AL
INC DI
INC NNUM ;负数组增加,计数变化
JMP NEXT
P1:MOV P [SI],AL
INC SI ;正数组增加,计数变化
INC PNUM
NEXT:INC BX ;原始数组指针偏移
LOOP LOP1 ;循环20次--CX
RET ;结束
MAIN ENDP
CODE ENDS
END START
看了 用汇编语言编制一程序,把二十...的网友还看了以下:
满足A∪B={a,b}的集合A,B的组数是 2020-04-05 …
满足A∪B={a1,a2}的集合A,B的组数为A.5 B.7 C.9 D 2020-04-06 …
设A是3阶方阵,互换A的第一、第二列,得矩阵B;再将B的第二列加到第三列上得矩阵C;求满足AX=C 2020-04-12 …
若A为三阶方阵,将矩阵A第一行与第二行交换得矩阵B,再把矩阵B的第二列加到第三列得矩阵C,则满足A 2020-04-13 …
设A是3阶矩阵,将第一列与第二列交换得B,再把B的第二列的3倍加到第三列C,求矩阵P,使得AP=C 2020-04-13 …
如:1+2+3+...+n=n(n+1)/2;a选b的组合数为(a(a-1)(a-2)...(a- 2020-05-14 …
如图是初中化学中常见物质间的转化关系,其中甲、乙、丙为单质;A、B、C、D、E为化合物,且A与B的 2020-05-22 …
下图是初中化学中常见物质间的转化关系,其中甲、乙、丙为单质,A、B、C、D、E为化合物,且A与B的 2020-06-05 …
如图是初中化学中常见物质间的转化关系,其中甲、乙、丙为单质;A、B、C、D、E为化合物,且A与B的 2020-06-06 …
设A为3阶矩阵,把A的第二列加到第一列得到矩阵B,再交换B的第二行与第3行得到单位阵E,记:P1= 2020-06-18 …