教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 资料大全 >

计算机硬件技术基础实验教程答案

来源:网络收集 时间:2026-09-11
导读: 计算机硬件技术基础实验教程答案 实验 :简单程序设计实验 (1)编写 个 32 位无符号数除法的程序,要求将存放在 NUM1 中的 32 位无符号数与存放 在 NUM2 中的 16 位无符号数相除,结果存放在 NUM3 和 NUM4 中。 程序流程图略。 参考源程序: DATA SEGMENT N

计算机硬件技术基础实验教程答案 实验 :简单程序设计实验

(1)编写 个 32 位无符号数除法的程序,要求将存放在 NUM1 中的 32 位无符号数与存放 在 NUM2 中的 16 位无符号数相除,结果存放在 NUM3 和 NUM4 中。

程序流程图略。 参考源程序: DATA SEGMENT

NUM1 DD 2A8B7654H NUM2 DW 5ABCH NUM3 DW ? NUM4 DW ?

DATA ENDS

CODE

SEGMENT

ASSUME DS:DATA, CS:CODE

START: MOV AX,DATA

MOV DS,AX

MOV AX, WORD PTR NUM1 MOV DX, WORD PTR NUM1+2 DIV NUM2 MOV NUM3,AX MOV NUM4,DX MOV AH,4CH INT 21H

CODE

;数据段寄存器初始化

;正常返回DOS系统

ENDS END START

(2)编写 个拆字程序。要求将存放在 ARY 单元的 2 位十六进制数 X1X2 拆为 X1 和 X2 两 部分,并以 0X1 和 0X2 的形式分别存入 ARY+1 和 ARY+2 单元中。 程序流程图略。 参考源程序:

DATA SEGMENT

ARY DB 2AH,?,?

DATA ENDS CODE

SEGMENT

ASSUME DS:DATA, CS:CODE

START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET ARY MOV AL,[SI]

;取ARY的偏移地址 ;取16进制数至AL

MOV BL,AL AND AL,0F0H SHR AL,4 MOV [SI+1],AL MOV AL,BL AND AL,0FH MOV [SI+2],AL ;取16进制数的低四位,即X2 ;存0X2

;取16进制数的高四位,即X1 ;存0X1

MOV AH,4CH INT 21H

CODE

ENDS END START

实验二:分支程序设计实验

(1)编写 个字符比较程序,比较 3 个无符号字节数 A,B,C 的大小,并根据比较结果 对变量 K 赋值:

如果 3 个数不相等,则 K=0;

如果 3 个数中有两个相等,则 K=1; 如果 3 个数都相等,则 K=2。

程序流程图略。 参考源程序: DATA SEGMENT

A DB 20H B DB 20H C DB 20H K DB ?

;定义待比较数A、B、C,比较结果K

DATA CODE

ENDS SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX MOV AL,A CMP AL,B JNE COMP2

;对A、B进行比较,不相等则转到COMP2 ;相等则比较A、C

CMP AL,C JNE K1 JMP K2

;A、C不相等则K=1 ;A、C相等则K=2

COMP2: MOV BL,B

CMP BL,C JE K1 CMP AL,C JE K1

;对A、C进行比较,相等则K=1 ;对B、C进行比较,相等则K=1

K0: K1: K2:

MOV K,0 JMP EXIT MOV K,1 JMP EXIT MOV K,2 MOV AH,4CH

EXIT:

INT 21H

CODE

ENDS END START

(2)编写 个能实现下列表达式的程序:

A + B A ≤ B

设 A,B,C 为小于 128 的正整数。 N =

A ­ B + C A > B

程序流程图略。

参考源程序: DATA SEGMENT

A DB 22H B DB 10H C DB 01H N DB ?

;定义 A、B、C、N

DATA CODE

ENDS SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX,DATA

MOV DS,AX MOV AL, A CMP AL, B JG CALCUL

ADD AL,B JMP EXIT

;A 小于或等于 B 则 N=A+B

CALCUL: SUB AL, B

ADC AL, C

EXIT:

MOV N, AL MOV AH,4CH INT 21H

CODE

ENDS END START

实验三 循环程序设计实验

(1)将字符串STRN(以“$”结尾)中的每 个字符均加上偶校验位,并统计有多少个字符 因含有奇数个“1”而加上了校验位。统计结果存于N单元中。 程序流程图略。 参考源程序: DATA SEGMENT

STRN DB 'What$' ;任意定义 个字串,以“$”结尾 COUNT EQU $-STRN N DB ?

BUF DB COUNT DUP(?)

DATA ENDS

CODE

SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DATA

MOV DS, AX MOV AX, DATA MOV ES, AX

LEA SI, STRN LEA DI, BUF

MOV CX, COUNT MOV AL, 0

LP1: MOV BL, [SI] ;逐个取字符进行判断

;自己和自己做与运算

;根据 PF 标志位的变化进行跳转

AND BL, BL JP NEXT INC AL

OR BL, 80H

NEXT: MOV [DI], BL

INC SI INC DI LOOP LP1 MOV N, AL MOV AH, 4CH INT 21H ENDS

END START

CODE

(2)在 FIRST 开始的 片连续的数据区中存放着 100 个数据,编写 个程序,统计第 1

个数据‘0’之前的数据个数。 程序流程图略。 参考源程序: DATA SEGMENT

FIRST DB 10H,24H,34H, 73H,20H,44H,03H,36H,41H ;任取 9 个数做演示 COUNT EQU $-FIRST NUM DB ?

DATA ENDS CODE

SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DL, 0

MOV CX,COUNT

MOV BX, OFFSET FIRST

LP1:

MOV AL, [BX] CMP AL, 00H JNE NEXT

;每次取 个数,与 0 比较 ;计数值初始为 0

JMP EXIT

NEXT: INC DL

INC BX LOOP LP1

;找到 0 则退出

;没找到 0 则计数值加 1

EXIT:

CODE

MOV NUM, DL MOV AH, 4CH INT 21H ENDS

END START

实验四:子程序设计实验

将BUF开始的10个单元中两位十六进制数转换成ASCII码,并在屏幕上显示出来。要求码型 转换通过子程序HEXASC实现,参数传送采用寄存器传送方式。 程序流程图略。 参考源程序: (1)实现方法 :远过程调用 DATA SEGMENT

BUF DB 10H,2FH,0D0H,0FEH,33H,0F0H,20H,10H,3DH,0A2H

COUNT EQU $-BUF DATA ENDS

;定义任意 度的 段 BUF

STACK1 SEGMENT STACK DB 100 DUP(?)

STACK1 ENDS CODE

;设置足够深度的栈区

SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK1

START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET BUF MOV CX,COUNT

AGAIN: MOV AL,[SI]

MOV BL,AL

SHR AL,4

AND AL,0FH

CALL FAR PTR HEXASC MOV DL,AL MOV AH,02H INT 21H

MOV AL,BL AND AL,0FH

CALL FAR PTR HEXASC MOV DL,AL MOV AH,02H INT 21H MOV DL,20H MOV AH,02H INT 21H

;先对高字节部分转换(寄存器 AL 传参) ;调用子程序

;显示高字节部分对应的字符 ;逐个取数

;再对低字节部分转换(寄存器 AL 传参) ;调用子程序

;显示低字节部分对应的字符

;显示空格

INC SI

LOOP AGAIN

CODE

MOV AH,4CH INT 21H ENDS

CODEB SEGMENT

ASSUME CS:CODEB

HEXASC PROC FAR

CMP AL,09H JA HEXATOF ADD AL,30H JMP ENDHEX

HEXATOF:ADD AL,37H ENDHEX: RET HEXASC ENDP CODEB ENDS

END START

;判断是不是数字

;是字 则转到 HEXATOF

;是数字则对应到数字的 ASCII 码 ;是字 则对应到字 的 ASCII 码

(2)实现方法二:近过程调用

DATA SEGMENT

BUF …… 此处隐藏:6878字,全部文档内容请下载后查看。喜欢就下载吧 ……

计算机硬件技术基础实验教程答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/2191901.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)