07-082汇编语言程序设计实验指导书(6)

2019-05-17 18:25

《汇编语言程序设计》上机实验指导书

MOV DL,79 ;行数由上至下从0递增到24,列数由左至右依次从0递增到79

MOV BH,07

INT 10H ;设置显示方式 CURS 0,0 ;初始化光标 READ_K:

MOV AH,0

INT 16H ;键入字符送AL

CMP JNZ MOV INT ARROW:

CMP JZ CMP JZ INST: JMP LEFT: JMP RIGHT: JMP INS_K: MOV MOV CMP JE LEA ADD MOV DEC SUB STD

REP KM:

AL,1BH ;is escape? 按esc键退出 ARROW AH ,4CH 21H AH,4BH ;is left arrow LEFT

AH,4DH ;is right arrow RIGHT INS_K LEFT_K RIGHT_K

;insert a character BX,BUFPT CX,BUFTL BX,CX

KM ;yes,char into buffer DI,KBD_BUF ;no,buffer move DI,CX ;a byte backward SI,DI SI CX,BX MOVSB - 26 -

《汇编语言程序设计》上机实验指导书

MOV KBD_BUF[BX],AL

INC BUFPT ;inc head pointer INC BUFTL ;inc tail pointer CMP AL,0DH ;insert a CR JNZ KN

LEA SI,CNTL ;yes,move the count ADD SI,ROWMX ;of each row INC SI ;backword MOV DI,SI INC DI

MOV CX,ROWMX SUB CL,ROWPT STD

REP MOVSB

MOV BL,ROWPT ;adjust the counts XOR BH,BH ;of current row MOV CL,COLPT ;and next row MOV CH,CNTL[BX] SUB CH,COLPT MOV CNTL[BX],CL MOV [CNTL+1],CH

MOV AX,ROWMX ;clear displaying row MOV BH,7 MOV CH,ROWPT MOV DH,24 MOV CL,0 MOV DL,79 MOV AH,6 INT 10H

INC ROWPT ;point to next INC ROWMX ;inc max row count MOV COLPT,0 ;point to 0 column JMP SHORT KP

- 27 -

《汇编语言程序设计》上机实验指导书

KN:

MOV BL,ROWPT XOR BH,BH

INC CNTL[BX] ;inc current row count INC COLPT ;point to next column KP: CALL DISPBF ;display input buffer CURS ROWPT,COLPT ;position the cursor JMP READ_K LEFT_K:

CMP JNZ CMP JZ DEC MOV LEA XLAT MOV JMP K2: DEC K3: DEC CURS LRET: JMP RIGHT_K:

MOV CMP JE INC CMP JNZ INC MOV K4: INC COLPT,0 ;is at 0 column K2 ;no

ROWPT,0 ;is at 0 row LRET ;yes,cursor is unmove ROWPT AL,ROWPT BX,CNTL CNTL COLPT,AL K3 COLPT BUFPT ROWPT,COLPT READ_K BX,BUFPT ;is at tail of file? BX,BUFTL

RRET ;yes,cursor unmoved COLPT ;point to next column KBD_BUF[BX],0DH ;is CR? K4 ;no

ROWPT ;yes,point to next row COLPT,0 ;and 0 column BUFPT ;adjust buffer pointer

- 28 -

《汇编语言程序设计》上机实验指导书

CURS ROWPT,COLPT ;position cursor RRET: JMP READ_K DISPBF PROC NEAR MOV BX,0 MOV CX, 96 CURS 0,0

DISP: MOV AL,KBD_BUF[BX] PUSH BX MOV MOV INT POP CMP JNZ MOV MOV INT KK: INC LOOP RET DISPBF ENDP MAIN ENDP CSEG ENDS

END BX,0700 AH,0EH 10H BX AL,0DH KK AL,0AH AH,0EH 10H BX DISP START

- 29 -


07-082汇编语言程序设计实验指导书(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:正宁四中6月份电动自行车消防安全综合治理工作小结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: