计算机硬件技术基础实验教程答案
计算机硬件技术基础实验教程答案 实验 :简单程序设计实验
(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
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




