汇编97,78,-1,0,32,14,21,27,-20,99 从小到大进行排序 然后逐位加5并输出显示 有知道的吗DATA SEGMENTA DB 97,78,-1,0,32,14,21,27,-20,99B DB 5,5,5,5,5,5,5,5,5,5D DB 10 DUP(?)N EQU 10LEN EQU $-ADATA ENDSCODE SEGMENTASSUME CS:CODE,DS:

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 07:39:44

汇编97,78,-1,0,32,14,21,27,-20,99 从小到大进行排序 然后逐位加5并输出显示 有知道的吗DATA SEGMENTA DB 97,78,-1,0,32,14,21,27,-20,99B DB 5,5,5,5,5,5,5,5,5,5D DB 10 DUP(?)N EQU 10LEN EQU $-ADATA ENDSCODE SEGMENTASSUME CS:CODE,DS:
汇编97,78,-1,0,32,14,21,27,-20,99 从小到大进行排序 然后逐位加5并输出显示 有知道的吗
DATA SEGMENT
A DB 97,78,-1,0,32,14,21,27,-20,99
B DB 5,5,5,5,5,5,5,5,5,5
D DB 10 DUP(?)
N EQU 10
LEN EQU $-A
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CH,LEN
DEC CH
LOP0:MOV SI,OFFSET A
MOV CL,CH
XOR BL,BL
LOP1:MOV AL,[SI]
CMP AL,[SI+1]
JLE NEXT
XCHG AL,[SI+1]
MOV [SI],AL
OR BL,01H
NEXT:INC SI
DEC CL
JNZ LOP1
AND BL,BL
JZ ADD1
DEC CH
JNZ LOP0
ADD1:
MOV SI,OFFSET A
MOV DI,OFFSET B
MOV BX,OFFSET D
CLC
ADD2:MOV AL,[SI]
ADC AL,[DI]
DAA
MOV [BX],AL
INC SI
INC DI
INC BX
LOOP NEXT
MOV AH,2CH
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
这个调试的话回出现错误.
不好意思.分没有了.帮助的话以后一定补上

汇编97,78,-1,0,32,14,21,27,-20,99 从小到大进行排序 然后逐位加5并输出显示 有知道的吗DATA SEGMENTA DB 97,78,-1,0,32,14,21,27,-20,99B DB 5,5,5,5,5,5,5,5,5,5D DB 10 DUP(?)N EQU 10LEN EQU $-ADATA ENDSCODE SEGMENTASSUME CS:CODE,DS:
Output macro X
mov dx,offset X
mov ah,9
int 21h
EndM
;
STACKS SEGMENT STACK ;堆栈段
DW 128 DUP(?) ;注意这里只有128个字节
STACKS ENDS
;
DATAS SEGMENT;数据段
Old db 13,10,9,'Old:$'
Num DB 97,78,-1,0,32,14,21,27,-20,99
New db 13,10,9,'New:$'
DATAS ENDS
;
CODES SEGMENT;代码段
ASSUME CS:CODES,DS:DATAS
START:MOV AX,DATAS ;初始化
MOV DS,AX
Output Old
call Show
call Sort
call @ADD
Output New
call Show
mov ah,7
int 21h
MOV AX,4C00H ;退出程序
INT 21H
Show:;逐位输出显示
mov si,offset Num
mov cx,10
next1:lodsb
cbw
call crt
mov ax,0e20h
int 10h
loop next1
ret
Sort:;从小到大进行排序
MOV CX,10 ;内循环变量存于CX中,初值为N-1
DEC CX
LOOP1:
MOV DI,CX ;外循环变量存于DI中,初值为N-1
MOV BX,0;地址指针置为0
LOOP2:
MOV Al,Num[BX] ;取相邻两数比较
CMP Al,Num[BX+1]
JLE CONT ;被减数不大于减数则转移
XCHG Al,Num[BX+1] ;不符合,交换
MOV Num[BX],Al ;存大数
CONT:
INC BX ;修改地址指针
LOOP LOOP2 ;若一遍未比较完,继续
MOV CX,DI
LOOP LOOP1 ;若N-1遍未作完,继续
RET
@ADD:;然后逐位加5
mov si,offset Num
mov cx,10
mov al,5
next2:
add [si],al
inc si
loop next2
ret
;
crt:;输出一个字数据
push dx
push cx
push bx
or ax,ax
jns @div
push ax
mov al,'-' ;输出负号
mov ah,0eh
int 10h
pop ax
neg ax ;求补
@div:xor cx,cx
mov bx,10
nx1:xor dx,dx
div bx
or dx,0e30h
push dx
inc cx
cmp ax,0
jnz nx1
nx2:pop ax
int 10h
loop nx2
pop bx
pop cx
pop dx
ret
CODES ENDS
END START

汇编97,78,-1,0,32,14,21,27,-20,99 从小到大进行排序 然后逐位加5并输出显示 有知道的吗DATA SEGMENTA DB 97,78,-1,0,32,14,21,27,-20,99B DB 5,5,5,5,5,5,5,5,5,5D DB 10 DUP(?)N EQU 10LEN EQU $-ADATA ENDSCODE SEGMENTASSUME CS:CODE,DS: 【跪求】【汇编】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序…………【跪求】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序,然后逐位加5并输出显示.要求 汇编实现X=32,-43,76,95,-1;Y=-78,127,-128,-125,88两数组之和,结果送另一数组Z 汇编CRLF DB 0AH,0DH, 汇编程序关于自然数相减的汇编程序,新手求教导自学汇编,新手,刚写了一个自然数相减(0-1-2-3-……-N)的汇编,可是怎么都得不到正确答案,代码如下:include io32.inc.datamsg1 byte '-Max Sum= ',0msg2 by Ollydbg中怎么将反汇编查看中的 push -0x1 改成push -1 (如图)? 属于国家立法活动的有?1 法的清理 2 法的汇编 3法的编纂 4 32位浮点数乘法汇编算法稍微写写 汇编符号函数编程y={x+1 (x 谁有苏教版牛津小学英语1B的单词汇编啊? 汇编 jl 汇编请问1KB的存储器可以存储 8192(2^13) 个bit 1024个Byte 为什么是2^13,怎么得来的, 编程完成功能:求SUM=1+2+3+…>100,并求出累加的最后一个自然数的值求编程吖= = 用汇编 关于汇编指令DIV中的除数与被除数大家都知道汇编当中被除数的位数是除数的两倍,比如说除数为16位,被除数为32位.现在有一个疑问,假如说被除数为1000(16位),除数为2(8位),DIV之后商为500 汇编 0 0 有符号数 无符号数0 这个数在汇编里是有符号数还是无符号数? 关于汇编的有无符号数问题初学了一点知识,知道有1:符号数的范围是-128~127,而无符号数的范围是0~2552:而汇编中只认识有符号数,即超过127的数(>127)会转化为有符号数中的负数,但是小于( 关于汇编语言十六进制数有一点不明白汇编中0F2H和F2H(可以这么表示么没有0开头)一样么是说字母前一定要加零么?0F2H表示为二进制数11110010B这里的首位1是符号位么?比如用32H-0F1H为什么书上说 汇编练习题.DAT1 DB 12H ,34H,56H,78HDB $-DAT1DAT2 DB 10H DUP(1,2,3)......MOV DX,SIZE DAT1ADD DX,WORD PTR DAT1+4求DX=?世上答案是105H,是怎么得的?