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

2018-12-29 17:54

JG POSITIVE ADD NUM[15],1 NEG BL ADD JISUAN,BX POSITIVE: INC SI LOOP PANDUAN LEA SI,ZHUANHUAN SHUCHU: MOV AX,JISUAN MOV BL,10 DIV BL MOV [SI],AH XOR AH,AH MOV JISUAN,AX CMP AL,0 JE EXIT INC SI JMP SHUCHU EXIT: MOV [SI+1],AL LEA DI,COUNT[15] LEA SI,ZHUANHUAN[3] MOV CX,4 AGAIN: MOV BL,[SI] ADD BL,30H MOV [DI],BL INC DI DEC SI LOOP AGAIN LEA DX,NUM MOV AH,09H INT 21H MOV AX,4C00H INT 21H CODE ENDS END START

19.键盘输入两组数743216、527864,按BCD码求和,并将结果显示在屏幕上。 DATA SEGMENT BUF DB 0FFH DB ? DB 0FFH DUP(?)

STROUT DB 0DH,0AH,7 DUP('0'),'$' DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,BUF MOV AH,0AH INT 21H LEA SI,BUF[2] MOV CX,6 AGAIN: SUB BYTE PTR[SI],30H SUB BYTE PTR[SI+7],30H INC SI LOOP AGAIN LEA SI,BUF[7] LEA DI,BUF[14] LEA BX,STROUT[8] MOV CX,6 CLC AGAIN1: MOV AL,[SI] ADC AL,[DI] CLC CMP AL,10 JAE CARRY ADD [BX],AL JMP NEXT CARRY: SUB AL,10 ADD [BX],AL STC NEXT: DEC SI DEC DI DEC BX LOOP AGAIN1

ADC BYTE PTR[BX],0 LEA DX,STROUT MOV AH,09H INT 21H MOV AH,4CH

INT 21H CODE ENDS END START

提示版:

DATA SEGMENT BUF1 DB 0FFH DB ? DB 0FFH DUP(?) BUF2 DB 0FFH DB ? DB 0FFH DUP(?) TISHI1 DB 'PLEASE INPUT FIRST NUMBER:',0DH,0AH,'$' TISHI2 DB 0DH,0AH,'PLEASE INPUT SECOND NUMBER:',0DH,0AH,'$' STROUT DB 0DH,0AH,7 DUP('0'),'$' DATA ENDS

CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA DX,TISHI1 MOV AH,09H INT 21H CALL INPUT1 LEA DX,TISHI2 MOV AH,09H INT 21H CALL INPUT2 LEA SI,BUF1[2] LEA DI,BUF2[2] MOV CX,6 AGAIN: SUB BYTE PTR[SI],30H SUB BYTE PTR[DI],30H INC SI INC DI LOOP AGAIN LEA SI,BUF1[7] LEA DI,BUF2[7] LEA BX,STROUT[8] MOV CX,6 CLC AGAIN1:

MOV AL,[SI] ADC AL,[DI] CLC CMP AL,10 JAE CARRY ADD [BX],AL JMP NEXT CARRY: SUB AL,10 ADD [BX],AL STC NEXT: DEC SI DEC DI DEC BX LOOP AGAIN1

ADC BYTE PTR[BX],0 LEA DX,STROUT MOV AH,09H INT 21H MOV AH,4CH INT 21H INPUT1: LEA DX,BUF1 MOV AH,0AH INT 21H RET INPUT2: LEA DX,BUF2 MOV AH,0AH INT 21H RET CODE ENDS END START

19_1键盘输入十个数,分别统计0到9,10到99,100以上的数的个数,并显示结果。

DATAS SEGMENT BUF DB 0FFH DB ?

DB 0FFH DUP(?)

OUT1 DB 0AH,0DH,'00-09= 0' OUT2 DB 0AH,0DH,'10-99= 0' OUT3 DB 0AH,0DH,'>100 = 0$'

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS START:

MOV AX,DATAS MOV DS,AX MOV CX,10 SHURU: LEA DX,BUF MOV AH,0AH INT 21H

MOV DL,0AH MOV AH,02H INT 21H

MOV DL,0DH MOV AH,02H INT 21H

MOV AL,BYTE PTR BUF[1] CMP AL,1 JZ GEWEI CMP AL,2 JZ SHIWEI JMP OTHER GEWEI:

INC OUT1[9] CMP OUT1[9],'9' JA JINGWEI1 JMP NEXT JINGWEI1:

MOV OUT1[9],'0' MOV OUT1[8],'1' JMP NEXT SHIWEI: INC OUT2[9] CMP OUT2[9],'9' JA JINGWEI2 JMP NEXT JINGWEI2:

MOV OUT2[9],'0' MOV OUT2[8],'1' JMP NEXT OTHER:

INC OUT3[9] CMP OUT3[9],'9'


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

下一篇:长征知识竞赛题

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

马上注册会员

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