北京理工大学汇编上机试题和代码(3)

2018-12-29 17:54

CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX MOV DI,9 A: MOV CX,DI LEA SI,LIB B: MOV AL,[SI] CMP AL,[SI+5] PUSH SI JA H JE O JB R O: INC SI MOV AL,[SI] CMP AL,[SI+5] JA H JB R JE O H: POP SI PUSH SI MOV BX,3 M: MOV AL,BYTE PTR[SI] MOV AH,BYTE PTR[SI+5] MOV BYTE PTR[SI],AH MOV BYTE PTR[SI+5],AL INC SI DEC BX JNZ M R: POP SI ADD SI,5 LOOP B DEC DI JNZ A LEA DX,LIB MOV AH,09H INT 21H

MOV AH,4CH INT 21H CODE ENDS END START

10. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其删除, 并在显示器上显示。 DATA SEGMENT BUF DB 05H DB ? DB 05H DUP (?) LIB DB 0DH,0AH,'data','$' DB 0DH,0AH,'name','$' DB 0DH,0AH,'time','$' DB 0DH,0AH,'file','$' DB 0DH,0AH,'code','$' DB 0DH,0AH,'path','$' DB 0DH,0AH,'user','$' DB 0DH,0AH,'exit','$' DB 0DH,0AH,'quit','$' DB 0DH,0AH,'test','$' DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF[2] LEA DI,LIB[2] MOV DL,10 L: PUSH SI PUSH DI MOV CX,4 CLD REPZ CMPSB MOV AX,DI JE DEL POP DI POP SI ADD DI,7

DEC DL JNZ L JMP EXIT DEL: MOV BX,AX SUB BX,6 EXIT:

LEA DX,LIB MOV CX,10 M:

PUSH DX CMP DX,BX JE N MOV AH,09H INT 21H N: POP DX ADD DX,7 LOOP M MOV AH,4CH INT 21H CODE ENDS END START

11. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序将上述字符串排序(升序)并插入disk使其人仍然有序, 并在显示器上显示。 DATA SEGMENT BUF DB 0FFH DB ? DB 0DH,0AH,0FDH DUP('?') LIB DB 0DH,0AH,'data' DB 0DH,0AH,'name' DB 0DH,0AH,'time' DB 0DH,0AH,'file' DB 0DH,0AH,'code' DB 0DH,0AH,'path' DB 0DH,0AH,'user' DB 0DH,0AH,'exit' DB 0DH,0AH,'quit' DB 0DH,0AH,'text','$' DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START:

MOV AX,DATA MOV DS,AX MOV DI,9 A: MOV CX,DI LEA SI,LIB[2] B: MOV AL,[SI] CMP AL,[SI+6] PUSH SI JA H JE O JB R O: INC SI MOV AL,[SI] CMP AL,[SI+6] JA H JB R JE O H: POP SI PUSH SI MOV BX,4 M: MOV AL,BYTE PTR[SI] MOV AH,BYTE PTR[SI+6] MOV BYTE PTR[SI],AH MOV BYTE PTR[SI+6],AL INC SI DEC BX JNZ M R: POP SI ADD SI,6 LOOP B DEC DI JNZ A LEA DX,LIB MOV AH,09H INT 21H MOV AH,4CH INT 21H CODE ENDS

END START

12. 键盘输入一个十进制数,以十六进制的形式输出。 CODES SEGMENT

ASSUME CS:CODES START: NEXT:

MOV BX,0 CALL INPUT CALL OUTPUT JMP NEXT INPUT PROC NEAR SHURU:

MOV AH,01H INT 21H CBW

CMP AX,0DH JE RETURN CMP AX,'0' JB EXIT CMP AX,'9' JA EXIT

CALL TRANSFORM JMP SHURU RETURN: RET INPUT ENDP

TRANSFORM PROC NEAR XCHG AX,BX SUB BX,30H MOV CX,10 MUL CX ADD AX,BX XCHG AX,BX RET

TRANSFORM ENDP OUTPUT PROC NEAR MOV DH,4 MOV CL,4 CONTINUE: ROL BX,CL MOV DL,BL AND DL,0FH CMP DL,9


北京理工大学汇编上机试题和代码(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:长征知识竞赛题

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

马上注册会员

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