汇编通过,结果出现乱码。请问如何解决?

yeyan8497 2009-04-01 10:34:37
RT
代码如下,编辑能通过,运行后的结果却是乱码。
DATA SEGMENT
BUF DW 3,-4,6,7,9,2,0,-8,-9,-10,20
N=($-BUF)/2
DATA ENDS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK


START: MOV AX,DATA
MOV DS,AX
MOV CX,N
DEC CX
LOOP1: MOV DX,CX
MOV BX,0
LOOP2: MOV AX,BUF[BX]
CMP AX,BUF[BX+2]
JGE L
XCHG AX,BUF[BX+2]
MOV BUF[BX],AX

L: ADD BX,2
DEC CX
JNE LOOP2
MOV CX,DX
LOOP LOOP1
mov ah,09h
int 21h
mov ah,01h
int 21h
MOV AH,4CH
INT 21H
CODE ENDS
END START

...全文
370 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeyan8497 2009-04-01
  • 打赏
  • 举报
回复
我刚学汇编,还请大侠帮我看看。。谢谢了‘
BAYNPU 2009-04-01
  • 打赏
  • 举报
回复
这是个排序程序吧?怎么能这样写呢。
BAYNPU 2009-04-01
  • 打赏
  • 举报
回复
;使用masm5.0编译器.

data segment
SCORE dw 85,89,56,23,90,78,80,69,50,96
rank dw 10 dup(?)
printn db 30 dup(?),13,10,'$'
data ends
code segment
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov si,10
mov bx,0
loopp:
mov ax,SCORE[bx]
mov dx,0
mov cx,10
lea di,SCORE
next:
cmp ax,[di]
jg no_count
inc dx
no_count:
add di,2
loop next
mov rank[bx],dx
dec dx
mov di,dx
add di,dx
add di, dx
mov cl,10
div cl
add al,30H
add ah,30H
mov printn[di],al
inc di
mov printn[di],ah
inc di
mov printn[di],20H
add bx ,2
dec si
jne loopp
lea dx,printn
mov ah,09
int 21H
pop ax
pop ds
mov ax,4c00h
int 21h
code ends
end start


21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧