微机原理与接口技术(苏大版)课后答案 联系客服

发布时间 : 星期二 文章微机原理与接口技术(苏大版)课后答案更新完毕开始阅读c67d1d4a852458fb770b56ab

习 题

解: 程序功能是,统计CONDAT数据区的9个字节,将正数之和送入1000H单元;将前几个为0的数的个数送入1001H单元。

程序执行结果:(AX)=0010H (BX)=1000H (CX)=0 (DX)=023EH。

6.9设内存自1000H开始的存储区中,存放有20个带符号数,试编一程序段,找出其中最小的数,存于数据区2000H中。

解:

SCAN:

NEXT:

6.10 在内存的BUFF缓冲区中,存放有一个数据块,数据块的长度存放在BUFF和BUFF+1单元中,从BUFF+2开始存放的是以ASCII码表示的十进制数。编写程序段,将这些ASCII码转换成组合式BCD码(即把两个相邻字节单元的数码并成一个字节单元),高地址的放在高4位。转换后的压缩BCD码存放到BUFF+2开始的单元中。

解:

CONTI:

CODE SEGMENT ASSUME CS:CODE CONVER PROC FAR PUSHF PUSH AX PUSH BX PUSH CX PUSF DX PUSH SI PUSU DI

LEA SI,ASCDES MOV DI,10 MOV CX,5 MOV AX,0 MUL DI

MOV BL,[SI] MOV BH,0 SUB BL,30H ADD AX,BX INC SI LOOP CONTI

MOV BYDAT,AX POP DI

MOV AX,1000H MOV DS,AX LEA BX,BUFF MOV CX,[BX] MOV AX,0 ADD BX,2 MOV DX,[BX] CMP DX,AX JGE NEXT XCHG AX,DX LOOP SCAN

MOV [BX],2000H MOV [BX],AX HLT

正数之和等于3EH保存于1000H单元中;数组前面0的个数是2,保存于1001H单元中。

文件名:微机原理与接口技术习题 第 17 页 共 54 页

错误!未指定书签。与接口技术

POP SI POP DX POP CX POP BX POP AX POPF RET

CONVER ENDP CODE ENDS END

6.11 设有一由无符号数组成的数组,数组名为ORDER,数组长度为60。编写程序,求该数组中的最大值。

解:

; ;

START: ;

STOP:

DATA SEGMENT

ORDER DW 60 DUP(?) MAX DW ? DATA ENDS STACKS SEGMENT DW 256 DUP(0) TOP LABEL WORD STACKS ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACKS MOV AX,DATA MOV DS,AX

MOV AX,STACKS MOV SS,AX

MOV SP,OFFSET TOP LEA SI,ORDER MOV CX,60

CALL FAR PTR SUBPRG MOV MAX,AX MOV AH,4CH INT 21H CODE ENDS CODE1 SEGMENT ASSUME CS:CODE1 SUBPRG PROC FAR PUSHF

CMP CX,2 JZ STOP DEC CX ADD SI,2 CALL SUBPRG MOV AX,[SI] CMP AX,2[SI] JNC NEXT

XCHG AX,2[SI] MOV [SI],AX

文件名:微机原理与接口技术习题 第 18 页 共 54 页

NEXT:

习 题

MOV AX,[SI] SUB SI,2 POPF RET

SUBPRG ENDP CODE1 ENDS END START

6.12 编写子程序,将从键盘输入的小写字母用大写字母在屏幕显示出来,如不是字母则结束。

解:

NEXT:

6.13 编写子程序,要求从键盘输入一个4位的十六进制数,然后将其转换成二进制数并在屏幕上显示出来。

解:

START:

AGAIN:

DATPRO SEGMENT BUFF DB 5 DB ?

DB 5 DUP(?) DATPRO ENDS PROSEG SEGMENT

ASSUME CS:PROSEG,DS:DATPRO MOV AX,DATPRO MOV DS,AX LEA DX,BUFF MOV AH,0AH INT 21H

MOV BL,[BUFF+1] LEA SI,BUFF+2 MOV AL,[SI] CMP AL,30H JB EXIT CMP AL,39H

第 19 页 共 54 页

CODE SEGMENT ASSUME CS:CODE KEYIN PROC FAR PUSH AX PUSH DX MOV AH,1 INT 21H

CMP AL,61H JB EXIT CMP AL,7AH JA EXIT SUB AL,20H MOV DL,AL MOV AH,02H INT 21H JMP NEXT POP DX POP AX RET

KEYIN ENDP CODE ENDS END KEYIN

文件名:微机原理与接口技术习题

错误!未指定书签。与接口技术

DECI:

LOOP1:

ONE: DISPL:

EXIT:

6.14 编写一个子程序,实现8位无符号数的除法运算,被除数、除数、商和余数存放在自DATA开始的存储单元中。

解:

CODESUB SEGMENT

ASSUME CS:CODESUB SUBPRO PROC FAR PUSH AX PUSH BX PUSH DX

MOV AL,DATA CBW

DIV DATA+1 PUSH AX CBW

CALL DISPL POP AX

MOV AL,AH CBW

CALL DISPL POP DX POP BX POP AX RET

JBE DECI CMP AL,61H JB EXIT CMP AL,66H JA EXIT SUB AL,27H SUB AL,30H MOV CL,4 SHL AL,CL MOV CX,4 SHL AL,1 JC ONE

MOV DL,30H JMP DISPL MOV DL,31H PUSH AX MOV AH,2 INT 21H POP AX LOOP LOOP1 INC BL INC SI CMP BL,0 JNZ AGAIN MOV AH,4CH INT 21H PROSEG ENDS END START

文件名:微机原理与接口技术习题 第 20 页 共 54 页