学汇编的 刚来这儿 顺便带给大家个问题 呵呵
我写了个程序 但是提示 out of mem程序代码:
N=100 STACK SEGMENT STACK 'STACK' DW 100 DUP(?) TOP LABEL WORD STACK ENDS DATA SEGMENT SOURCE LABEL BYTE X=26 REPT 100 X=(X+23)MOD 256 DB X ENDM DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV AX,STACK MOV SS,AX LEA SP,TOP ;下面给出排序前数据显示程序 LEA DI,SOURCE MOV DL,[DI] ADD DI,2 MOV AH,02H INT 21H ;下面给出排序程序 MOV CX,N DEC CX LEA SI,SOURCE ;SI指向数据区首地址 ADD SI,CX ;SI指向数据处理区末地址 LP1: ;外循环开始 PUSH CX PUSH SI LP2: ;内循环开始 MOV AL,[SI] CMP AL,[SI-1] JB NOXCHG XCHG AL,[SI-1] MOV [SI],AL NOXCHG: DEC SI LOOP LP2 POP SI POP CX LOOP LP1 ;LOOP循环一次,CX自动减1 ;数据排序结束 LEA DI,SOURCE MOV DL,[DI] ADD DI,2 MOV AH,02H INT 21H MOV AH,4CH ;返回DOS INT 21H CODE ENDS END STARTory ,应该是程序哪儿有错误,但是我自己确实没找出来,大家帮忙看看