华工微机实验二数转码编程及程序调试(免费版).docxVIP

  • 2
  • 0
  • 约2.58千字
  • 约 9页
  • 2018-08-22 发布于江苏
  • 举报

华工微机实验二数转码编程及程序调试(免费版).docx

华工微机实验二数转码编程及程序调试(免费版)

实验二数码转码编程及程序调试 本版为免费版,源自百度文库用户HYPERLINK /p/lengjj914?from=wenkulengjj914 1.将ASCII码表示的十进制数转换为二进制数。 STACK SEGMENT STACK STACK DB 100 DUP(?) STACK ENDS ASSUME CS:CODE,SS:STACK CODE SEGMENT ORG 2000H START: MOV CX,4H MOV BX,0AH XOR AH,AH MOV SI,3500H MOV DI,3510H MOV AL,BYTE PTR[SI] SUB AL,30H AGAIN: MUL BX INC SI SUB BYTE PTR[SI],30H CLC ADD AL,BYTE PTR[SI] ADC AH,0 LOOP AGAIN EXIT: MOV [DI],AX MOV AX,4C00H INT 21H CODE ENDS END START 2.将从键盘输入的五位十进制数的ASCII码存在3500起始的内存单元中。把它转换成BCD码后,再按位分别存入350A起始的内存单元内。若输入的不是十进制的ASCII码,则显示FF. STACK SEGMENT STACK STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK ORG 2000H START: MOV SI,3500H MOV DI,350AH MOV CX,0005H AGAIN: MOV DL,0FFH MOV AL,BYTE PTR[SI] CMP AL,39H JA ERROR CMP AL,30H JB ERROR MOV BL,30H SUB AL,BL MOV [DI],AL JMP EXIT ERROR: MOV [DI],DL EXIT: INC SI INC DI LOOP AGAIN MOV AX,4C00H INT 21H CODE ENDS END START 3. 将十六位二进制数转换为ASCII码表示的十进制数。 STACK SEGMENT STACK STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK ORG 2000H START: MOV DI,3500H MOV AX,[DI] MOV SI,3514H INC SI AGAIN: DEC SI MOV DX,0000H MOV BX,000AH DIV BX ADD DL,30H MOV [SI],DL CMP AX,0H JNE AGAIN AGAIN1: DEC SI MOV DL,30H MOV [SI],DL CMP SI,3510H JNE AGAIN1 MOV AX,4C00H INT 21H CODE ENDS END START 4. 十六进制数转换为ASCII码。 STACK SEGMENT STACK STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK ORG 2000H START: MOV CX,0004H MOV DI,350AH MOV SI,3500H MOV DX,[SI] AGAIN: MOV AX,DX AND AX,000FH CMP AL,09H JB ZERO JMP SEVEN ZERO: ADD AL,30H JMP EXIT SEVEN: ADD AL,37H EXIT: MO

文档评论(0)

1亿VIP精品文档

相关文档