微机实验思考题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一数据传送

1、子程序Move中为什么比较SI、DI?

源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。

第一章源数据块与目标范围有可能部分重叠,需要考虑从第一个字节开始复制(顺序复制),还是从最后一个字节开始复制(倒序复制)。

2、编写一个程序,将DS段中的数据传送到实验仪B4区的61C256中。说明:B4区的

61C256在I/O 设备区,使用IOR 、IOW 读写。

实验二 数制转换实验

1. 实验内容1中将一个五位十进制数转换为二进制数(十六位)时,这个十进制数最小可为多少,最大可为多少?为什么? 最大65535(FFFF ),最小为0.存储器只能存16位,即FFFF 。

2. 将一个十六位二进制数转换为ASCII 码十进制数时,如何确定D i 的值?

01223344D 10D 10D 10D 10D N +⨯+⨯+⨯+⨯=

D i :表示十进制数0~9

将十六位二进制数转换为五位ASCII 码表示的十进制数,就是求D1~D4,并将它们转换为ASCII 码。

该位除以10取商,加30H 。即加30H 为对应的 ASCII 码。

3. 在十六进制转换为ASCII 码时,存转换结果后,为什么要把DX 向右移四次? 取出存入四位十六进制数的下一位。腾出空间。

4. 自编ASCII 码转换十六进制、二进制转换BCD 码的程序,并调试运行。 ASCII 码转换十六进制 SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV CX,0004H MOV DI,3500H MOV DX,[DI] A1: MOV AX,DX AND AX,00FFH CMP AL,40H JB A2 SUB AL,07H A2: SUB AL,30H MOV [DI+0DH],AL DEC DI PUSH CX MOV CL,08H SHR DX,CL POP CX LOOP A1 MOV AX,4C00H INT 21H CODE ENDS

实验三运算类编程实验

1. 求累加和程序设计,在偏移地址为1000H开始依顺序填入16个字(16个16位

数),利用程序求和,存放在偏移地址2000H;

2. 多字节加法程序设计,参考原程序,编写个两个64位数的减法程序,结果保存到

具体内存单元,调试并记录。

实验四分支程序设计实验

1、将源数据首址改为3100H,目的数据地址改为310A,再加以验证(注意单步调试);

2、将源数据首址改为310AH,目的数据地址改为3100,再加以验证(注意单步调试)。

实验六排序程序设计实验

1、注意两个循环是如何循环的,如果想减少判断次数,比如说几次交换后就不再有数据交换了,如何修改程序来减少程序执行时间;

2、编一程序把3000H-3009H中内容按从大到小排列;如果是有符号数怎么改写程序。

思考题2. 编一程序把3000H-3009H的内容从大到小排列

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX, 000AH

MOV SI, 300AH

MOV BL, 0FFH

A1: CMP BL, 0FFH

JNZ A4

MOV BL, 00H

DEC CX

JZ A4

PUSH SI

PUSH CX

A2: DEC SI

MOV AL, [SI]

DEC SI

CMP AL, [SI]

JB A3

XCHG AL, [SI]

MOV [SI+01H], AL

MOV BL, 0FFH

A3: INC SI

LOOP A2

POP CX

POP SI

JMP A1

A4: MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START

思考题 3.若是有符号数,该怎么处理(需要增加比较数字正负的环节)

SSTACK SEGMENT STACK

DW 64 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX, 000AH

MOV SI, 300AH

MOV BL, 0FFH

A1: CMP BL, 0FFH

JNZ A7

MOV BL, 00H

DEC CX

JZ A7

PUSH SI

PUSH CX

A2: DEC SI

MOV AL, [SI]

DEC SI

MOV AH, 80H

CMP AL, AH

JB A3

CMP [SI] , AH

JB A5

CMP AL, [SI]

JB A6

JMP A5

A3: CMP [SI] , AH

JB A4

JMP A6

A4: CMP AL,[SI]

JB A5

JMP A6

A5: XCHG AL,[SI]

MOV [SI+01H],AL

MOV BL,0FFH

A6: INC SI

LOOP A2

POP CX

POP SI

JMP A1

A7: MOV AX,4C00H

INT 21H ;程序终止

CODE ENDS

END START END START

硬件一静态存储器扩展实验(接线只有一种)

5.改变实验程序,按非规则字写存储器,观察实验结果。

规则字是低位地址为奇数,否者是非规则字,非规则字读取需要两个周期,而规则字只需要一个周期

在计算机中,一个字占两个字节。一个字在存储器中按字节存储,若高地址为偶数,低地址为奇数,则为规则字。相反,若高地址为奇数,低地址为偶数,则为非规则字。

6.改变实验程序,按字节方式写存储器,观察实验现象。

字节(Byte)是计算机信息技术用于计量存储容量和传输

容量的一种计量单位,一个字节等于8位二进制数,在

UTF-8编码中,一个英文字符等于一个字节

7. 将实验程序改为死循环程序,分别按规则字与非规则字

的方式写存储器。

5. 改变实验程序,按非规则字写存储器,观察实验结果。

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

START PROC FAR ;远过程名

ASSUME CS:CODE ;分配代码段cs

MOV AX, 8000H ; 存储器扩展空间

MOV DS, AX ;数据段ds地址

相关文档
最新文档