123456
电工电子实验中心
实验报告
课程名称: 计算机硬件技术基础实验
实验名称: 实验一 四则运算
姓名: 学号:
评定成绩: 审阅教师:
实验时间:
123456
123456
一、 实验目的要求
1. 熟悉汇编语言的框架结构,掌握顺序结构的编程方法;
2. 熟悉Tddebug 调试环境和Turbo Debugger 的使用;
3. 理解X86 内存数据的组织方式;
4. 理解基本的内存寻址方式。
二、 实验任务
完成32 位无符号数的加法、减法,16 位乘以16 位,32 位除以16 位除法的四则运算练
习。
三、 实验代码
DATA SEGMENT
A DW 1234H, 5678H ;被加数
B DW 0FEDCH, 123AH ;加数
C DW 2 DUP (?)
AD DW 0FEDCH, 0BA98H
BD DW 1234H, 789AH
CD DW 2 DUP (?)
A1 DW 0D678H
B1 DW 0012H
C1 DW 2 DUP (?)
A2 DW 5678H, 0234H
B2 DW 0F234H
C2 DW 2 DUP (?)
DATA ENDS
STACK1 SEGMENT STACK
DB 100 DUP(?)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START PROC FAR
PUSH DS
MOV AX, 0
PUSH AX
MOV AX, DATA
MOV DS, AX
MOV AX, A ;32 位无符号加法
ADD AX, B ;低16 位加低16 位
MOV C, AX ;保存结果
1
123456
MOV AX, A+2
ADC AX, B+2 ;高16 位加高16 位
MOV C+2, AX ;保存结果
MOV AX, AD ;补全代码1-32 位无符号减法
SUB AX, BD ;低16 位相减
MOV CD, AX ;保存结果
MOV AX, AD+2
SBB AX, BD+2 ;高16 位相减
MOV CD+2, AX ;保存结果
MOV AX, A1 ;补全代码2-16 位乘以16 位
MUL B1 ;AX 中的16 位与B1 中的16 位相乘(结果为32 位)
MOV C1, AX ;保存低16 位结果
MOV C1+2, DX ;保存高16 位结果
MOV AX, A2 ;补全代码3-32 位除以16 位
MOV DX,