题目
用汇编语言编制一程序,把二十B的数组分成正数组和负数组,并分别计算两个数组中数据的个数.
希望能很快有人指点呀..
希望能很快有人指点呀..
提问时间:2020-12-08
答案
;以下解答仅供参考,不保证全部正确,但基本思路的代码片段都有了
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
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
- 1投稿后编辑发来“Conflict of Interest”请问什么意思
- 2白日做梦所对应的成语,如小和尚念经---有口无心
- 3Do you wish to save your progress?
- 4英语翻译
- 5学校运来705棵树苗,按六年级三个班的人数分配到各班植树已知一班43人二班48人三班50人三个班应植树多少颗
- 6老师在课上批大本的作文500字,
- 7语文题求解----将下列汉字按照形声字要求分类
- 8____you ____(feel)tired? Yes,we ____. 求正解
- 9分号和逗号的用法?
- 10甲乙两地车同时从相距500千米的两地出发,甲车每小时行55千米,乙车每小时行45千米.3小时后两车相距多少千米
热门考点